{"version":3,"sources":["variables/charts.js","assets/img/brand/img_logo.png","assets/img/theme/dashboardBg.png","assets/img/theme/img_bg.jpg","assets/img/theme/dashboard.png","assets/img/theme/faq.png","assets/img/theme/faqBg.png","assets/img/theme/takeAssessmentBg.png","../node_modules/typescript/lib sync","assets/locales lazy /^/.//.*_localization/.json$/ groupOptions: {} namespace object","assets/img/theme/takeAssessment.png","assets/img/theme/resources.png","assets/img/theme/resourcesBg.png","assets/img/theme/CHS_Diagram.png","assets/img/theme/home.png","assets/img/theme/home_app.png","assets/img/theme/home_bmgf.png","assets/img/theme/home_adpc.jpg","assets/img/theme/img_logo.png","api/index.js","actions/survey.js","components/Headers/PageHeader.js","constants/globalStyles.js","views/pages/recommendation/Recommendation.js","constants/actionTypes.js","reducers/auth.js","reducers/forum.js","reducers/survey.js","reducers/user.js","reducers/organization.js","reducers/masterData.js","reducers/resource.js","reducers/report.js","reducers/dashboard.js","reducers/index.js","i18n.js","components/Footers/AdminFooter.js","actions/masterData.js","helper.js","components/Navbars/AdminNavbar.js","actions/user.js","components/Sidebar/Sidebar.js","components/Headers/AdminHeader.js","views/Index.js","actions/report.js","views/IndexUser.js","actions/forum.js","views/pages/forum/Forum.js","components/Headers/CommonHeader.js","views/pages/forum/FaqRegistered.js","views/pages/forum/FaqPublic.js","views/pages/forum/ForumSubTopic.js","views/pages/forum/ForumQuestion.js","views/pages/forum/ForumTopicForm.js","views/pages/forum/ForumSubTopicForm.js","views/pages/forum/ForumQuestionFrom.js","views/pages/forum/ForumAnswerForm.js","views/pages/user/User.js","components/Custom/RTLTextField.js","views/pages/user/Login.js","actions/organization.js","components/Headers/UserHeader.js","components/Custom/RTLFileUpload.js","views/pages/user/Profile.js","views/pages/user/ProfileByAdmin.js","views/pages/user/Register.js","views/pages/user/RegisterAdmin.js","views/pages/user/Landing.js","views/pages/user/PrivacyPolicy.js","views/pages/user/PublicUserPrivacyPolicy.js","views/pages/user/ResetPassword.js","views/pages/survey/Survey.js","views/pages/survey/SurveyCreateTemplate.js","views/pages/survey/SurveyCreateTemplateQuestion.js","views/pages/survey/SurveyLocalization.js","views/pages/survey/SurveyLocalizationLanguage.js","views/pages/survey/SurveyLocalizationLanguageQuestion.js","views/pages/survey/AnswerInstitute.js","components/Custom/RTLPagination.js","views/pages/survey/AnswerCreate.js","views/pages/survey/AnswerContinue.js","views/pages/survey/AnswerComplete.js","views/pages/survey/AnswerHistory.js","views/pages/survey/AnswerPrintAssessment.js","views/pages/survey/AnswerPrintTemplateByHtmlExtend.js","views/pages/survey/GraphAnswerPrint.js","views/pages/survey/Graph.js","views/pages/survey/GraphPrint.js","views/pages/recommendation/RecommendationLocalization.js","views/pages/recommendation/RecommendationDetails.js","views/pages/recommendation/RecommendationDetailsCreate.js","views/pages/recommendation/RecommendationDetailsEdit.js","views/pages/organization/Organization.js","views/pages/organization/OrganizationDetails.js","actions/resource.js","views/pages/resources/Resource.js","views/pages/resources/ResourceDetails.js","views/pages/resources/ResourceDetailsi18.js","assets/js/webdatarocks.react.js","views/pages/report/ReportAllAnswers.js","views/pages/report/ReportAllAnswersByUser.js","views/pages/report/ReportAllAnswersBySegmentByOrganization.js","views/pages/report/ReportAllOrganizationsByCountry.js","views/pages/report/ReportAllAttemptedOrganizationsByCountry.js","views/pages/report/ReportSurveyCompleted.js","views/pages/report/ReportAllAnswersCustom.js","views/pages/masterData/Regions.js","views/pages/masterData/Languages.js","views/pages/masterData/SystemLocalization.js","routes.js","layouts/Admin.js","components/Footers/AuthFooter.js","layouts/Auth.js","components/Footers/LandingFooter.js","components/Navbars/LandingNavbar.js","layouts/Landing.js","layouts/Print.js","index.js"],"names":["Chart","require","Lodash","elements","Rectangle","prototype","draw","left","right","top","bottom","signX","signY","borderSkipped","ctx","this","_chart","vm","_view","borderWidth","horizontal","base","x","y","height","width","barSize","Math","min","abs","halfStroke","borderLeft","borderRight","borderTop","borderBottom","beginPath","fillStyle","backgroundColor","strokeStyle","borderColor","lineWidth","corners","startCorner","indexOf","cornerAt","index","corner","moveTo","i","nextCornerId","radius","lineTo","quadraticCurveTo","fill","stroke","fonts","colors","default","primary","secondary","info","success","danger","warning","module","exports","setInitData","arr1","arr2","arr3","slice","chartOptions","options","defaults","global","responsive","maintainAspectRatio","defaultColor","defaultFontColor","defaultFontFamily","defaultFontSize","layout","padding","legend","display","position","labels","usePointStyle","point","line","tension","borderCapStyle","rectangle","arc","tooltips","enabled","mode","intersect","doughnut","cutoutPercentage","legendCallback","chart","data","content","forEach","label","bgColor","datasets","scaleService","updateScaleDefaults","gridLines","borderDash","borderDashOffset","color","drawBorder","drawTicks","zeroLineWidth","zeroLineColor","zeroLineBorderDash","zeroLineBorderDashOffset","ticks","beginAtZero","callback","value","drawOnChartArea","parseOptions","parent","item","getLineChart","data1","data2","props","max","scales","yAxes","callbacks","datasetIndex","yLabel","length","canvas","getBarChart","maxYValue","round","maxBarThickness","webpackEmptyContext","req","e","Error","code","keys","resolve","id","map","webpackAsyncContext","__webpack_require__","o","Promise","then","ids","t","Object","API","axios","create","baseURL","Config","SERVER_API_URL","interceptors","request","use","localStorage","getItem","headers","JSON","parse","token","signIn","formData","post","signUp","signupadmin","fetchProfileOrgAsAdmin","updateUser","changePassword","resetPassword","createFrmTopic","updateFrmTopic","put","createFrmSubTopic","updateFrmSubTopic","createFrmQus","updateFrmQus","createFrmAns","updateFrmAns","deleteFrmAns","fetchActiveSurveyByType","createSurveyTemplate","updateSurveyTemplateById","updateSurveyTemplatePublishById","createLocalizationBySurveyTemplate","updateLocalizationBySurveyTemplate","fetchLocalizationBySurveyTemplate","deleteSurveyLocalization","createSurveyAnswer","updateSurveyAnswerById","fetchSurveyAnswerByUser","createRecommendation","updateRecommendationById","deleteRecommendationById","fetchRecommendationsBySurveyId","updateOrganization","fetchOrganizationAll","fetchOrganizationAllByCountryId","updateCityStatus","fetchMasterDataLanguage","updateMasterDataCountry","updateMasterDataLanguage","fetchLocalizationContent","createLocalizationContent","updateLocalizationContent","createResource","updateResource","deleteResource","uploadPrimer","uploadLogo","fetchAnswerStat","fetchSurveyTemplateAll","dispatch","a","type","SHOW_LOADING","payload","api","LOGINSTATE","console","log","status","SURVEY_TEMPLATE_FETCH_ALL","confirmAlert","message","buttons","onClick","closeOnEscape","closeOnClickOutside","alert","history","response","surveyId","push","pathname","state","survey","_id","title","router","SURVEY_LOCALIZATION","ANSWER_FETCH_BY_USER","RECOMMENDATION_FETCH_ALL","PageHeader","className","style","Container","fluid","minHeight","Grid","marginBottom","GridEmpty","Input","Head","fontWeight","Topic","SubTopic","marginTop","LogoText","ChsStyles","Question","QuestionNote","fontStyle","FeedbackError","fontSize","QuickNote","BottomButton","minWidth","GeneralButton","MbppStyles","GlobalStylesColor","SurveyRow","localizationClick","whiteSpace","version","description","published","Badge","Tooltip","arrow","cursor","Recommendation","useDispatch","useHistory","surveyTemplateAll","useLocation","useSelector","useEffect","handleStatusClick","preventDefault","handleLocalizationClick","handleEditClick","isEmpty","TOOLS","tool","Row","Card","CardHeader","Table","scope","filter","editClick","statusClick","AUTH","LOGOUT","USER_FETCH_ONE","USER_FETCH_ONE_ORG","USER_FETCH_ALL","USER_UPDATE","USER_FETCH_BY_ADMIN","IS_HUMAN","FRM_TOPIC_FETCH_ALL","FRM_TOPIC_FETCH_ONE","FRM_TOPIC_CREATE","FRM_TOPIC_UPDATE","FRM_SUB_TOPIC_FETCH_ALL","FRM_SUB_TOPIC_FETCH_ONE","FRM_SUB_TOPIC_CREATE","FRM_SUB_TOPIC_UPDATE","FRM_QUS_FETCH_ONE","FRM_QUS_FETCH_ALL","FRM_QUS_TOPIC_FETCH_ALL","FRM_QUS_CREATE","FRM_QUS_UPDATE","FRM_ANS_FETCH_ALL","FRM_ANS_FETCH_ONE","FRM_ANS_CREATE","FRM_ANS_UPDATE","STAT_SUMMERY_TOTAL","STAT_SUMMERY_CON_MON_FETCH","STAT_SUMMERY_CON_WEK_FETCH","STAT_SUMMERY_REP_FETCH","SURVEY_FETCH_ALL","SURVEY_FETCH_ACTIVE","SURVEY_TEMPLATE_CREATE","SURVEY_TEMPLATE_LOCAL","SURVEY_TEMPLATE_LOCALE_LOCAL","SURVEY_ACTIVE_LOCAL","LOCALIZATION_DELETE","ANSWER_FETCH_BY_ID","GRAPH_LOCAL_ANSWER","RECOMMENDATION_CREATE","RECOMMENDATION_UPDATE","RECOMMENDATION_LOCAL","ORG_FETCH_ALL","ORG_UPDATE","ORG_FETCH_ONE","ORG_CITY_STATUS_UPDATE","ORG_FETCH_ALL_BY_COUNTRY_ID","ORGANIZATION_PROFILE_DELETE","MASTERDATA_FETCH_LANGUAGE","MASTERDATA_FETCH_ONE_LANGUAGE","COUNTRY_FETCH_ALL","MASTER_DATA_UPDATE","MASTER_DATA_LAN_UPDATE","LANDING_FETCH","LANDING_UPDATE","LOCALIZATION_FETCH","RESOURCE_UPDATE","RESOURCE_FETCH_ALL","RESOURCE_DELETE","REPORT_ANSWER_ALL","REPORT_ANSWER_BY_USER","REPORT_ANSWER_BY_COUNTRY","REPORT_ANSWER_STAT","REPORT_USER_STAT","LANGUAGE","initState","authData","loading","errors","authReducer","action","actionType","frmAllTopics","frmTopic","frmTopicCreate","frmTopicUpdate","frmAllSubTopics","frmSubTopic","frmSubTopicCreate","frmSubTopicUpdate","frmQus","frmAllQus","frmQusByTopic","frmQusCreate","frmQusUpdate","frmAllAnswers","frmAnswer","frmAnswerCreate","frmAnswerUpdate","forumReducer","forum","surveyAll","questionnaireAll","surveyActive","localSurveyTemplate","surveyLocalizationAll","answerById","answerByUser","updateRecommendation","recommendationAll","surveyReducer","localSurveyTemplateLocale","localRecommendationTemplate","answerAll","userProfile","usersProfiles","userProfileUpdate","userProfileOrg","countryAll","userProfileOrgByAdmin","isHuman","userReducer","user","organizationAll","orgProfileUpdate","updateOrgCityStatus","organizationAllByCountryId","deleteOrganization","organizationReducer","organization","languageAll","languageByCode","updateMasterData","updateMasterDataLan","fetchedLandingContent","updatedLandingContent","localizationContentAll","masterDataReducer","masterData","localLanguage","resourceAll","resourceReducer","Resource","answerByUserAll","answerByCountryAll","answerStat","userStat","report","statSumTotal","StatSumConMon","StatSumConWek","StatSumRpt","showLoading","dashboardReducer","dashboard","reducers","combineReducers","auth","resource","i18next","ChainedBackend","init","lng","fallbackLng","crossDomain","backend","backends","HttpApi","resourcesToBackend","ns","clb","json","catch","backendOptions","loadPath","Footer","useTranslation","i18n","Col","xl","Moment","year","href","target","Nav","NavItem","NavLink","fetchMasterDataLanguageAll","fetchCountry","assessmentPage","Primer","Logo","values","params","FormData","append","res","name","errorMessge","profilePicture","profileThumbnail","emp_types","legal_entitys","vision","unit","functional","stakeholder","headoffice","geo_areas","drm_acts","city_drm_acts","app_country","int_language","RTL_FLAG_RIGHT","RTL_FLAG_LEFT","SYS_DEFAULT_LANGUAGE_CODE","institutionalQuestions","answer_status","survey_status","initialValues_assessmentPage","languageCode","app_ok","app_yes","app_no","app_next","app_back","app_success","app_error","app_partly_save","app_complete","app_sorry","app_no_active_survey","app_download","assessment_completion","SUPPORT_EMAIL","chs_short","icat_short","tie_short","app_assessment_switch_title","app_assessment_switch_message","app_assessment_step_01","app_assessment_step_01_message_01","app_assessment_step_02","app_assessment_step_02_message_02","app_assessment_incomplete_title","app_assessment_institute_details","app_assessment_step_01_title","app_assessment_step_01_message","app_assessment_sentence","app_assessment_sentence_ref","app_assessment_organization_details","app_assessment_answer_opt1","app_assessment_answer_opt2","app_assessment_answer_opt3","app_assessment_answer_opt4","app_assessment_answer_opt5","app_assessment_answer_opt6","chsat","icat","tie","answer_remark","answer","no_remark","chs_app","password_invalid","user_not_register","user_unlink","user_deactivate","user_not_create","organization_deactivate","location_deactivate","login_message","user_successfully_created","session_expired","print_preview","segment_score","total_score","font_size","self_assessment","recommendations_self_assessment","pdf_version","print","app_tool","insitutional_details","overall","segment","assessment_answer","no_recommendation","update","Camelize","str","replace","s","toUpperCase","CryptoPassword","CryptoJS","SHA256","toString","roundValue","makeStyles","theme","formControl","margin","spacing","indeterminateColor","selectAllText","selectedAll","Number","EPSILON","processArray","array","process","splice","temp","SAVE_DATE_TIME_FORMAT","RECAPTCHA_LANG_LIST","AdminNavbar","userDetails","useState","rtlAlignment","setRtlAlignment","userLanguage","changeLanguage","jUser","language","lang","dir","currentUser","uRole","urole","logout","clear","Navbar","expand","brandText","navbar","UncontrolledDropdown","nav","DropdownToggle","Media","Avatar","alt","firstName","src","PUBLIC_PROF_PIC","charAt","lastName","DropdownMenu","DropdownItem","header","tag","textAlign","marginRight","to","Link","divider","signin","systemContentLocale","setItem","stringify","fetchProfileOrg","needRefresh","newProfilePicture","uploadProfileImage","newUserUpdate","userId","email","go","fetchAllProfiles","get","dispatchData","Sidebar","collapseOpen","setCollapseOpen","setUserProfileOrg","toggleCollapse","closeCollapse","userProfileOrg1","country","profile","employment","navbarBrandProps","showGuide","fetch","method","ok","pathToResource","window","open","routes","logo","logoText","innerLink","outterLink","NavbarBrand","imgAlt","imgSrc","Collapse","isOpen","xs","location","prop","key","hasOwnProperty","caret","icon","innerlinks","innerprop","innerkey","path","NavLinkRRD","activeClassName","createLinks","defaultProps","Header","backgroundImage","backgroundSize","backgroundPosition","backgroundRepeat","lg","rel","Index","barChart","setBarChart","statOrganization","setStatOrganization","statYear","setStatYear","statType_CHSAT_COMPLETE","setStatType_CHSAT_COMPLETE","statType_ICAT_COMPLETE","setStatType_ICAT_COMPLETE","statType_TIE_COMPLETE","setStatType_TIE_COMPLETE","statType_CHSAT_PROGRESS","setStatType_CHSAT_PROGRESS","statType_ICAT_PROGRESS","setStatType_ICAT_PROGRESS","statType_TIE_PROGRESS","setStatType_TIE_PROGRESS","statType","currentStat","surveyTiles","chsat_complete","icat_complete","tie_complete","chsat_progress","icat_progress","tie_progress","surveyGraph","surveyYear","surveyOrganization","AdminHeader","CardBody","CardTitle","pills","indexAxis","xAxes","getDatasetAtEvent","government","count","nonGovernment","private","other","paddingRight","lineChartDetail","setLineChartDetail","lineChartType","setLineChartType","lineChartGroup","setLineChartGroup","lineChartValues","setLineChartValues","lineChartLabels","setLineChartLabels","lineChartDropDown","setLineChartDropDown","barChartLabels","setBarChartLabels","linex","setLinex","liney","setLiney","barx","setBarx","bary","setBary","showChsatDetails","setShowChsatDetails","showIcatDetails","setShowIcatDetails","showTieDetails","setShowTieDetails","optionsGrid","fontColor","scaleLabel","labelString","steps","stepValue","optionsGridBarChart","dataTiles","dataBarGraph","surveyLineGraph","dataLineGraph","surveyBarGraph","intervalGroups","tempDropDownItems","isArray","intervalValues","updatedItem","valueItem","currentData","find","group","updatedLabels","graphLabels","includes","graphValues","Button","pointBorderWidth","pointBorderColor","pointStyle","pointRadius","pointBackgroundColor","CardFooter","TextField","select","fullWidth","variant","onChange","SelectProps","native","fetchFrmTopics","fetchFrmQus","pathParam","isBoolean","reload","ForumTableSubTopicRow","topicId","subTopicId","subTopic","coverpic","subTopicClick","subTopicEdit","languageProp","Forum","forumalltopics","handleSubTopicClick","frmTopicId","frmSubTopicId","handleEditSubTopicClick","handleStatusSubTopicClick","forumTopicId","forumSubTopicId","publish","handleAddQuestionClick","topic","finalLang","reject","currentLang","handleAddSubTopicClick","subprops","addQuestionClick","headImage","fg","bg","faq","takeAssessment","resources","hType","ForumTableQuestionRow","QusId","question","class","marginLeft","ForumTableAnswerRow","answerId","Faq","forumallquestions","itemCurrent","setItemCurrent","itemPageContent","setItemPageContent","itemPageCount","setItemPageCount","txtFilter","filterdContent","setFilterdContent","setQ","setQuestions","updatedOrgs","currentPageCount","ceil","startCount","endCount","updatedArray","CommonHeader","j","qdescription","ans","l","ansdescription","current","total","onPageChange","FaqPublic","setLanguageCode","userLang","questionClick","questionEdit","questionDelete","ForumSubTopic","setTopicId","setTopic","setTopicDescription","setSubTopicId","setSubTopic","subTopicDescription","setSubTopicDescription","topicDetails","itemArray","subTopicDetails","selectFrmSubTopic","frmQuestionsByTopic","handleQuestionClick","questionId","frmQuestionId","handleEditQuestionClick","handleAddAnswerClick","handleDeleteAnswerClick","forumQuestionId","image","addAnswerClick","answerEdit","answerDelete","answerStatus","ForumQuestion","frmQuestion","handleStatusAnswerClick","handleEditAnswerClick","frmAnswerId","forumAnswerId","dangerouslySetInnerHTML","__html","validationSchemaTopic","yup","required","ForumTopicForm","topicdetails","formik","useFormik","initialValues","redirect","validationSchema","onSubmit","onSubmitProps","setSubmitting","resetForm","Form","role","handleSubmit","onReset","handleReset","FormGroup","container","alignItems","sm","handleChange","multiline","rows","error","touched","Boolean","helperText","back","validationSchemaSubTopic","ForumSubTopicForm","isEdit","setIsEdit","disabled","validationSchemaQuestion","ForumQuestionFrom","keyWord","setImage","listImage","el","validationSchemaAnswer","ForumAnswerForm","selectFrmAnswer","User","setUserDetails","setUserProfile","editSection","setEditSection","organizationUserAll","setOrganizationUserAll","itemPageSize","ITEM_PAGE_SIZE","setTxtFilter","allUserProfiles","updatedUsers","UserTableRow","itemCount","ACTIVE","INACTIVE","UNLINKED","profileId","emp_organization_name","emp_organization_type","emp_organization_geographicArea","geographicArea","emp_organization_website","website","emp_designation","designation","changeUserStatus","errorTitle","emp_organization_legalStatus","paddingTop","size","paddingBottom","isActive","md","InputGroup","InputGroupAddon","addonType","InputGroupText","placeholder","withStyles","root","transformOrigin","TextFieldDef","RtlTextField","rtol","validationSchemaSignUp","Login","contactno","setContactList","setSystemContentLocale","isSignup","systemContent","undefined","showPassword","setShowPassword","handleShowPassword","password","confirmPassword","age","gender","telephone","address","emp_type","emp_institute","emp_department","emp_address","legal_entity","geo_area","no_emp","drm_act","ins_city","xmlns","preserveAspectRatio","viewBox","points","InputProps","startAdornment","InputAdornment","IconButton","endAdornment","fileIsReady","organizationProfile","cityId","uploadOrganization","errorMessage","updateOrganizationCityStatus","UserHeader","RTLFileUpload","hiddenFileInput","React","useRef","selectedFileName","setSelectedFileName","shrink","readOnly","event","click","ref","fileUploaded","files","acceptPattern","isAccepted","pattern","match","join","accept","acceptFilter","Profile","afterUpdate","setIsAdmin","isOrgOwner","setIsOrgOwner","cityPosition","setCityPosition","isCityOwner","setIsCityOwner","refreshCounter","orgCities","setOrgCities","paramsLocal","userPro","createdBy","cities","city","linkedUser","handleFileChange","file","resizeImage","oldprofilePicture","oldprofileThumbnail","handleFileChangeOrg","formik1","err","Resizer","imageFileResizer","uri","emp_linkedCity","linkedCity","emp_organization","organizationId","legalStatus_status","legalStatus","legalStatus_mandate","mandate","drmActivities","visionMission_status","visionMission","visionMission_remarks","remark","functionalStructure_status","functionalStructure","functionalStructure_remarks","unitProject_status","unitProject","unitProject_remarks","unitStakeholders_status","unitStakeholders","unitStakeholders_remarks","numberOfOrganizationEmployees_number","numberOfOrganizationEmployees","number","numberOfOrganizationEmployees_remark","oldOrganizationProfile","city_name","city_linkedUser","city_website","city_email","city_address","city_isHeadOffice","isHeadOffice","city_numberOfEmployees_number","numberOfEmployees","city_numberOfEmployees_remarks","city_drmActivities_performed","performed","city_drmActivities_remarks","modification_modifiedBy","modification_modifiedRemark","modification","modifiedRemark","numberOfEmployees_number","legal","modifiedBy","uptedcity","formikChangePassword","currentPassword","test","oldpassword","newpassword","switchMode","FormControl","htmlFor","multiLine","city_numberOfEmployees","validationSchemaOrganization","setRefreshCounter","paramUserDetails","profile1","emp_email","firstname","lastname","emp_linkedcity","ullWidth","multiple","InputLabelProps","Register","isNewOrganization","setIsNewOrganization","isNewCity","setIsNewCity","cityArray","setCityArray","isRegEnable","setIsRegEnable","setIsRegToken","recaptchaLanguage","setRecaptchaLanguage","allOrg","allCountry","handleOrganizationClick","countryId","charactersCheck","WarningMsg","organizationIdExist","nameExist","cityIdExist","cityExist","recapture","when","is","valuesParam","updateCityArray","duplicate","findIndex","chr","toLocaleLowerCase","param","org","handleChange1","onKeyPress","Pagination","listClassName","PaginationItem","PaginationLink","handleCity","justifyContent","sitekey","APP_RECAPTCHA","SITE_KEY","hl","render","onExpired","submitCount","isValid","validationSchema1","align","Landing","mainContent","imgServer","imgLocal","isImageFound","setIsImageFound","Trans","components","bold","italic","onError","alignContent","verticalAlign","maxHeight","maxWidth","isAppCountry","setIsAppCountry","currentUserProfileOrg","appCountry","recaptchaRef","languageFromStore","createClick","parseFloat","toFixed","opacity","Survey","segments","handleCreateClick","handleCreateNewClick","reviewSchema","Yup","Title","Code","reviewSurveySchema","Version","SurveyCreateTemplate","initSegmentData","segmentCode","segmentOrder","questions","surveyStarted","setSurveyStarted","surveyNew","setSurveyNew","segmentData","setSegmentData","segmentCount","setSegmentCount","segmentCounter","setSegmentCounter","navigationCounter","setNavigationCounter","showPagination","setShowPagination","formRef","formSurveyRef","surveySaved","setInitSurvey","setFieldValue","handleNewSegmentClick","updatedSegments","updateLocalSurvey","handleDeleteSegmentClick","handleMoveUpSegmentClick","handleMoveDownSegmentClick","updateSegment","updatedSegment","Description","updateSurveyDetails","handleQuestionsClick","handleSurveySave","isComplete","isNumber","Type","actions","innerRef","onBlur","overflowX","Note","initQuestionData","questionNote","questionCode","questionOrder","questionComments","scoreRecommendations","score","recommendation","questionData","setQuestionData","questionCount","setQuestionCount","questionCounter","setQuestionCounter","surveyInfo","setSurveyInfo","setCommentsList","setRecommendationList","refreshToken","setRefreshToken","handleNewQuestionClick","updatedQuestions","handleDeleteQuestionClick","handleMoveUpQuestionClick","handleMoveDownQuestionClick","updateQuestion","updatedQuestion","Comments","Recommendations","small","isLast","deleteClick","SurveyLocalization","surveryTitle","setSurveryTitle","surveyVersion","setSurveyVersion","surveyLocale","languages","handleDeleteClick","localizationId","locales","LanguageCode","SurveyLocalizationLanguage","isNew","setIsNew","chsLanguages","setChsLanguages","has","goBack","SurveyLocalizationLanguageQuestion","localStyle","legalMandate","AnswerInstitute","surveyLanguage","setSurveyLanguage","showDetails","setShowDetails","systemContentAll","numberOfEmployees_remark","visionMission_remark","functionalStructure_remark","unitProject_remark","unitStakeholders_remark","Label","check","submitForm","MuiPaginationCustom","transform","MuiPagination","RtlPagination","page","shape","AnswerCreate","surveyType","setSurveyType","setSurveyActive","setSurveyOrganization","setSurveyLocale","segmentDataLocale","setSegmentDataLocale","switchSurvey","surveyActiveByType","surveyLocaleForTemplate","segmentsLocale","AnswerUiModel","order","itemLocale","Score","Remark","saveAnswer","defaultChecked","saveSurvey","isCompleting","segmentScore","segmentStatus","questionScore","questionAttempt","questionAvg","locale","segmentAvg","insQuestions","countryCode","clientTimestamp","format","surveyScore","scrollToTop","scrollTo","float","AnswerContinue","setSurveyActiveByType","progressSurvey","structure","updateSurveyAnswer","AnswerComplete","surveyCompletedTemplate","setSurveyCompletedTemplate","surveyRecommendations","setSurveyRecommendations","setSurveyScore","showRecomm","setshowRecomm","showAnswers","setShowAnswers","completedSurvey","segScore","segName","segmentName","surveyRecommendationAll","recommendationsLocale","pointerEvents","userSelect","handlePrint1","windowPrint","segLongName","segmentLongName","iQuestion","recommendations","recom","from","AnswerRow","printClick","graphClick","progressTable","setProgressTable","progress","handlePrint","handleGraphClick","AnswerPrintAssessment","setAnswer","setRecommendation","setSurvey","PrintDocument","ReactDOM","document","getElementById","styles","section","h3","row","flexGrow","flexDirection","author","subtitle","text","textRecommendation","textNote","marginVertical","marginHorizontal","pageNumber","dateAndTime","AnswerPrintTemplateByHtml","font","refreshCount","setRefreshCount","setSegName","setSegScore","organizatioName","setOrganizationName","setVersion","setSegment","setUserLanguage","setLocale","setScore","handleResize","innerWidth","addEventListener","removeEventListener","tempNames","versionNumber","local","segAndQuestionScore","systemContentLocal","setTimeout","xlabel","pointHoverBackgroundColor","pointHoverBorderColor","rtl","scale","stepSize","segmentAnswer","AnswerPrint","printing","setPrinting","setFontSize","full","endPdf","onTouchStart","onMouseDown","AnswerPrintTemplateByHtmlExtend","frontSize","RecommendationRow","RecommendationLocalization","setLanguages","recommendationTemplateAll","setRecommendationTemplateAll","recommendationTemplateStateAll","template","recommendationId","ey","segmentId","moveUpClick","moveDownClick","note","initSurveyRecommendations","overallData","setOverallData","localRecommendations","updateByLocalSaveRecommendations","currentRecommendations","localeRecommendation","recommendationSaved","handleMoveUpClick","updatedRecommendations","updateLocalRecommendations","handleMoveDownClick","currentSurvey","languageField","Language","newRecommendation","handleRecommendationSave","RecommendationDetailsEdit","renderKi","setRenderKi","paramType","setParamType","paramSegmentId","setParamSegmentId","paramPosition","setParamPosition","recommendationValidate","noteValidate","updateAndBack","arrayRecommendation","validateRecommendation","stateOverallData","stateSegmentData","stateType","stateSegmentId","statePosition","rowEntry","flag","OrganizationRow","updatedOrganization","toLowerCase","updatedOrgsOrdered","orderBy","updatedOrg","Organization","setProps","props1","currentCityClick","setCurrentCityClick","insideCity","setInsideCity","orgId","cityStatus","cityLinkedUser","userClick","ViewClick","unlinkedUser","linkUserClick","PrimerorLogo","uploadJSON","uploadResource","ResourceRowApp","viewClick","category","ResourceRowInternationalization","i18viewClick","i18editClick","i18deleteClick","i18createClick","resourceDeleted","selectedLanguage","setSelectedLanguage","resourceId","handleViewClick","resourceCategory","resourceJSON","resourcePrimer","resourceLogo","handleViewClicki18","handleEditClicki18","edit","handleDeleteClicki18","handleCreateClicki18","handleCreateNewClicki18","Category","ResourceDetail","setResource","tempResource","File","languagesLogo","setLanguagesLogo","languagesJSON","setLanguagesJSON","save","setSave","setType","setLang","checkLangues","finalLangLogo","finalLangJSON","codePrimer","codeLogo","codeJSON","handleFileChangeJSON","handleFileChangePrimer","handleFileChangeLogo","Pivot","webdatarocks","WebDataRocks","findDOMNode","dispose","Component","initReportConfiguration","Report","reportRef","reportConfiguration","setReportConfiguration","fetchReportData","reportConfig","reportData","assessment","date","organization_type","date_time","utc","toolbar","beforetoolbarcreated","tabs","getTabs","reportcomplete","getReport","ReportAllAnswersByUser","selectedCountry","setSelectedCountry","selectedOrganization","setSelectedOrganization","setSelectedOrganizationCurr","setSelectedCity","selectedUser","setSelectedUser","countriesAll","Country","City","Formik","loadSurveys","dataSource","drills","drillAll","formats","thousandsSeparator","decimalSeparator","decimalPlaces","nullValue","infinityValue","divideByZeroValue","grid","showGrandTotals","ReportAllAnswersBySegmentByOrganization","answerData","setAnswerData","Location","filteredData","filteredDataCustom","segment_code","segments_score","self","filteredDataCustomTwo","uniqueName","columns","measures","aggregation","updateReport","D","uniqBy","componentRef","Example","countries","of","currentCountries","setCurrentCountries","filteredContent","setFilteredContent","allCountryLength","updatedContent","handleCountryChange","selectedItem","selectedList","selectedCountryId","updatingCountry","handleCountryStatusClick","handleLanguageSaveClick","internationalized","currentLanguages","setCurrentLanguages","allLanguage","handleLanguageChange","int","updatingLanguage","LocaleRow","SystemLocalization","systemLocaleAll","setSystemLocaleAll","systemLocaleDetail","setSystemLocaleDetail","showingDetails","setShowingDetails","formikSystemLocaleDetail","valuesTrue","contentId","valuesFalse","updateLocales","tyle","routesAdmin","component","FAQRegistered","FAQPublic","PrivacyPolicyPublic","OrganizationDetails","SurveyCreateTemplateQuestion","PrintAnswersAndGraph","GraphPrint","Graph","PrintFull","RecommendationDetails","RecommendationDetailsCreate","ProfileByAdmin","ReportAllAnswers","ReportAllOrganizationsByCountry","ReportAllAttemptedOrganizationsByCountry","ReportAllAnswersCustom","AnswerCompleteInReport","ResourceDetails","ResourceDetailsi18","Regions","Languages","RegisterAdmin","ResetPassword","PrivacyPolicy","routesUser","IndexUser","AnswerHistory","GeneratePdf","Admin","setURole","setShowLoading","setInterval","tokenMem","currentUserLocal","tokenLocal","decode","exp","Date","getTime","innerRouts","documentElement","scrollTop","scrollingElement","loadingSpinner","getRoutes","innerProp","innerKey","CircularProgress","getBrandText","AdminFooter","Auth","body","classList","add","remove","AuthFooter","LandingFooter","LandingNavBar","setLanguage","currentLanguage","setCurrentLanguage","languageDisabled","setLanguageDisabled","internationalizedLanguage","dropdownLanguage","paddingLeft","selectLanguage","border","activeStyle","ReactGa","initialize","APP_HITCOUNTER","pageview","Print","store","createStore","composeWithDevTools","applyMiddleware","thunk","I18nextProvider","fallback","innerHeight"],"mappings":"qFAAA,IAAMA,EAAQC,EAAQ,IAChBC,EAASD,EAAQ,GAkDvBD,EAAMG,SAASC,UAAUC,UAAUC,KAAO,WACxC,IAEIC,EAAMC,EAAOC,EAAKC,EAAQC,EAAOC,EAAOC,EAFxCC,EAAMC,KAAKC,OAAOF,IAClBG,EAAKF,KAAKG,MAEVC,EAAcF,EAAGE,YA2BrB,GAtBKF,EAAGG,YAWNb,EAAOU,EAAGI,KACVb,EAAQS,EAAGK,EACXb,EAAMQ,EAAGM,EAAIN,EAAGO,OAAS,EACzBd,EAASO,EAAGM,EAAIN,EAAGO,OAAS,EAC5Bb,EAAQH,EAAQD,EAAO,GAAK,EAC5BK,EAAQ,EACRC,EAAgBI,EAAGJ,eAAiB,SAfpCN,EAAOU,EAAGK,EAAIL,EAAGQ,MAAQ,EACzBjB,EAAQS,EAAGK,EAAIL,EAAGQ,MAAQ,EAC1BhB,EAAMQ,EAAGM,EAETZ,EAAQ,EACRC,GAFAF,EAASO,EAAGI,MAEKZ,EAAM,GAAK,EAC5BI,EAAgBI,EAAGJ,eAAiB,UAclCM,EAAa,CAEf,IAAIO,EAAUC,KAAKC,IAAID,KAAKE,IAAItB,EAAOC,GAAQmB,KAAKE,IAAIpB,EAAMC,IAE1DoB,GADJX,EAAcA,EAAcO,EAAUA,EAAUP,GACjB,EAE3BY,EAAaxB,GAA0B,SAAlBM,EAA2BiB,EAAanB,EAAQ,GACrEqB,EACFxB,GAA2B,UAAlBK,GAA6BiB,EAAanB,EAAQ,GACzDsB,EAAYxB,GAAyB,QAAlBI,EAA0BiB,EAAalB,EAAQ,GAClEsB,EACFxB,GAA4B,WAAlBG,GAA8BiB,EAAalB,EAAQ,GAE3DmB,IAAeC,IACjBvB,EAAMwB,EACNvB,EAASwB,GAGPD,IAAcC,IAChB3B,EAAOwB,EACPvB,EAAQwB,EAEX,CAEDlB,EAAIqB,YACJrB,EAAIsB,UAAYnB,EAAGoB,gBACnBvB,EAAIwB,YAAcrB,EAAGsB,YACrBzB,EAAI0B,UAAYrB,EAKhB,IAAIsB,EAAU,CACZ,CAAClC,EAAMG,GACP,CAACH,EAAME,GACP,CAACD,EAAOC,GACR,CAACD,EAAOE,IAKNgC,EADU,CAAC,SAAU,OAAQ,MAAO,SACdC,QAAQ9B,EAAe,GAKjD,SAAS+B,EAASC,GAChB,OAAOJ,GAASC,EAAcG,GAAS,EACxC,EANoB,IAAjBH,IACFA,EAAc,GAQhB,IAAII,EAASF,EAAS,GACtB9B,EAAIiC,OAAOD,EAAO,GAAIA,EAAO,IAE7B,IAAK,IAAIE,EAAI,EAAGA,EAAI,EAAGA,IAAK,CAC1BF,EAASF,EAASI,GAClB,IAAIC,EAAeD,EAAI,EACF,IAAjBC,IACFA,EAAe,GAKjB,IAKIC,EALAzB,EAAQgB,EAAQ,GAAG,GAAKA,EAAQ,GAAG,GACnCjB,EAASiB,EAAQ,GAAG,GAAKA,EAAQ,GAAG,GACpCnB,EAAImB,EAAQ,GAAG,GACflB,EAAIkB,EAAQ,GAAG,IAEfS,EA5Fa,GA+FJ1B,EAAS,IACpB0B,EAAS1B,EAAS,GAEhB0B,EAASzB,EAAQ,IACnByB,EAASzB,EAAQ,GAGnBX,EAAIiC,OAAOzB,EAAI4B,EAAQ3B,GACvBT,EAAIqC,OAAO7B,EAAIG,EAAQyB,EAAQ3B,GAC/BT,EAAIsC,iBAAiB9B,EAAIG,EAAOF,EAAGD,EAAIG,EAAOF,EAAI2B,GAClDpC,EAAIqC,OAAO7B,EAAIG,EAAOF,EAAIC,EAAS0B,GACnCpC,EAAIsC,iBAAiB9B,EAAIG,EAAOF,EAAIC,EAAQF,EAAIG,EAAQyB,EAAQ3B,EAAIC,GACpEV,EAAIqC,OAAO7B,EAAI4B,EAAQ3B,EAAIC,GAC3BV,EAAIsC,iBAAiB9B,EAAGC,EAAIC,EAAQF,EAAGC,EAAIC,EAAS0B,GACpDpC,EAAIqC,OAAO7B,EAAGC,EAAI2B,GAClBpC,EAAIsC,iBAAiB9B,EAAGC,EAAGD,EAAI4B,EAAQ3B,EACxC,CAEDT,EAAIuC,OACAlC,GACFL,EAAIwC,QAEP,EAED,IACIC,EACI,YAIJC,EACI,CACJ,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,UACL,IAAK,WAVLA,EAYK,CACLC,QAAS,UACTC,QAAS,UACTC,UAAW,UACXC,KAAM,UACNC,QAAS,UACTC,OAAQ,UACRC,QAAS,WAnBTP,EAsBK,UAtBLA,EAuBW,cAkQfQ,EAAOC,QAAU,CACfC,YAvckB,SAACC,EAAMC,EAAMC,GACfF,EAAKG,QACLF,EAAKE,QACRD,EAAKC,OACnB,EAocCC,aA9PF,WAEE,IAAIC,EAAU,CACZC,SAAU,CACRC,OAAQ,CACNC,YAAY,EACZC,qBAAqB,EACrBC,aAAmDrB,EAAY,KAC/DsB,iBAAuDtB,EAAY,KACnEuB,kBAAmBxB,EACnByB,gBAAiB,GACjBC,OAAQ,CACNC,QAAS,GAEXC,OAAQ,CACNC,SAAS,EACTC,SAAU,SACVC,OAAQ,CACNC,eAAe,EACfL,QAAS,KAGb/E,SAAU,CACRqF,MAAO,CACLtC,OAAQ,EACRb,gBAAiBmB,EAAA,SAEnBiC,KAAM,CACJC,QAAS,GACTvE,YAAa,EACboB,YAAaiB,EAAA,QACbnB,gBAAiBmB,EACjBmC,eAAgB,WAElBC,UAAW,CACTvD,gBAAiBmB,EAAA,SAEnBqC,IAAK,CACHxD,gBAAiBmB,EAAA,QACjBjB,YAAkDiB,EAClDrC,YAAa,IAGjB2E,SAAU,CACRC,SAAS,EACTC,KAAM,QACNC,WAAW,IAGfC,SAAU,CACRC,iBAAkB,GAClBC,eAAgB,SAAUC,GACxB,IAAIC,EAAOD,EAAMC,KACbC,EAAU,GAcd,OAZAD,EAAKhB,OAAOkB,SAAQ,SAAUC,EAAO5D,GACnC,IAAI6D,EAAUJ,EAAKK,SAAS,GAAGtE,gBAAgBQ,GAE/C0D,GAAW,mCACXA,GACE,8DACAG,EACA,SACFH,GAAWE,EACXF,GAAW,SACZ,IAEMA,CACR,KA0CP,OApCAvG,EAAM4G,aAAaC,oBAAoB,SAAU,CAC/CC,UAAW,CACTC,WAAY,CAAC,GACbC,iBAAkB,CAAC,GACnBC,MAA4CzD,EAAY,KACxD0D,YAAY,EACZC,WAAW,EACX3E,UAAW,EACX4E,cAAe,EACfC,cAAoD7D,EAAY,KAChE8D,mBAAoB,CAAC,GACrBC,yBAA0B,CAAC,IAE7BC,MAAO,CACLC,aAAa,EACbvC,QAAS,GACTwC,SAAU,SAAUC,GAClB,KAAMA,EAAQ,IACZ,OAAOA,CAEV,KAKL3H,EAAM4G,aAAaC,oBAAoB,WAAY,CACjDC,UAAW,CACTI,YAAY,EACZU,iBAAiB,EACjBT,WAAW,GAEbK,MAAO,CACLtC,QAAS,MAINV,CACR,EAgJCqD,aA7IF,SAASA,EAAaC,EAAQtD,GAC5B,IAAK,IAAIuD,KAAQvD,EACc,kBAAlBA,EAAQuD,GACjBD,EAAOC,GAAQvD,EAAQuD,GAEvBF,EAAaC,EAAOC,GAAOvD,EAAQuD,GAGxC,EAsICC,aA9HmB,SAAC1C,EAAQ2C,EAAOC,EAAOC,GACzBjI,EAAOkI,IAAIH,GACX/H,EAAOkI,IAAIF,GA8D5B,MA5DgB,CAEd1D,QAAS,CACP6D,OAAQ,CACNC,MAAO,CACL,CACExB,UAAW,CACTG,MAAOzD,EAAY,KACnB6D,cAAe7D,EAAY,MAE7BgE,MAAO,CACLE,SAAU,SAAUC,GAEhB,OAAOA,CAEV,MAKT7B,SAAU,CACRyC,UAAW,CACT9B,MAAO,SAAUsB,EAAMzB,GACrB,IAAIG,EAAQH,EAAKK,SAASoB,EAAKS,cAAc/B,OAAS,GAClDgC,EAASV,EAAKU,OACdlC,EAAU,GAOd,OALID,EAAKK,SAAS+B,OAAS,IACzBnC,GAAWE,GAGbF,GAAWkC,CAEZ,KAIPR,MAAO,SAACU,GACN,MAAO,CACLrD,OAAQA,EACRqB,SAAU,CACR,CACEF,MAAO,IACPH,KAAM2B,IAIb,EACDC,MAAO,SAACS,GACN,MAAO,CACLrD,OAAQA,EACRqB,SAAU,CACR,CACEF,MAAO,IACPH,KAAM4B,IAIb,EAGJ,EA8DCU,YApDkB,SAACtD,EAAQ2C,EAAOE,GAClC,IAAIU,EAAY3I,EAAOkI,IAAIH,GA2C3B,MA1Ca,CACXzD,QAAS,CACP6D,OAAQ,CACNC,MAAO,CACL,CACEd,MAAO,CACLE,SAAU,SAAUC,GAClB,GAAKA,IAAUhG,KAAKmH,MAAMD,MAAiBlB,EAAQ,GAEjD,OAAOA,CAEV,MAKT7B,SAAU,CACRyC,UAAW,CACT9B,MAAO,SAAUsB,EAAMzB,GACrB,IAAIG,EAAQnB,EACRmD,EAASV,EAAKU,OACdlC,EAAU,GAKd,OAJID,EAAKK,SAAS+B,OAAS,IACzBnC,GAAWE,GAEbF,GAAWkC,CAEZ,KAIPnC,KAAM,CACJhB,OAAQA,EACRqB,SAAU,CACR,CACEF,MAAO,IACPH,KAAM2B,EACNc,gBAAiB,MAM1B,E,mCC9cD,OAAe,cAA0B,oC,mCCAzC,OAAe,cAA0B,uC,mCCAzC,OAAe,cAA0B,kC,qrBCAzC,OAAe,cAA0B,qC,mCCAzC,OAAe,cAA0B,+B,mCCAzC,OAAe,cAA0B,iC,mCCAzC,OAAe,cAA0B,4C,oBCAzC,SAASC,EAAoBC,GAC5B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,CACAF,EAAoBK,KAAO,WAAa,MAAO,EAAI,EACnDL,EAAoBM,QAAUN,EAC9BhF,EAAOC,QAAU+E,EACjBA,EAAoBO,GAAK,G,0CCRzB,IAAIC,EAAM,CACT,yBAA0B,CACzB,IACA,IAGF,SAASC,EAAoBR,GAC5B,IAAIS,EAAoBC,EAAEH,EAAKP,GAC9B,OAAOW,QAAQN,UAAUO,MAAK,WAC7B,IAAIX,EAAI,IAAIC,MAAM,uBAAyBF,EAAM,KAEjD,MADAC,EAAEE,KAAO,mBACHF,CACP,IAGD,IAAIY,EAAMN,EAAIP,GAAMM,EAAKO,EAAI,GAC7B,OAAOJ,EAAoBR,EAAEY,EAAI,IAAID,MAAK,WACzC,OAAOH,EAAoBK,EAAER,EAAI,EAClC,GACD,CACAE,EAAoBJ,KAAO,WAC1B,OAAOW,OAAOX,KAAKG,EACpB,EACAC,EAAoBF,GAAK,IACzBvF,EAAOC,QAAUwF,C,yHCxBjB,OAAe,cAA0B,0C,mCCAzC,OAAe,cAA0B,qC,mCCAzC,OAAe,cAA0B,uC,mCCAzC,OAAe,cAA0B,uC,mCCAzC,OAAe,cAA0B,gC,mCCAzC,OAAe,cAA0B,oC,mCCAzC,OAAe,06Y,mCCAf,OAAe,myI,mCCAf,OAAe,cAA0B,oC,ySCKnCQ,E,OAAMC,EAAMC,OAAO,CAAEC,QAASC,EAAOC,iBAE3CL,EAAIM,aAAaC,QAAQC,KAAI,SAACxB,GAI5B,OAHIyB,aAAaC,QAAQ,iBACvB1B,EAAI2B,QAAQ,kBAAZ,UAAmCC,KAAKC,MAAMJ,aAAaC,QAAQ,gBAAgBI,QAE9E9B,CACR,IAGM,IAAM+B,EAAS,SAACC,GAAD,OAAchB,EAAIiB,KAAK,iBAAkBD,EAAzC,EACTE,EAAS,SAACF,GAAD,OAAchB,EAAIiB,KAAK,wCAAyCD,EAAhE,EACTG,EAAc,SAACH,GAAD,OAAchB,EAAIiB,KAAK,qBAAsBD,EAA7C,EAMdI,EAAyB,SAACJ,GAAD,OAAchB,EAAIiB,KAAK,oCAAqCD,EAA5D,EAGzBK,EAAa,SAACL,GAAD,OAAchB,EAAIiB,KAAK,+BAAgCD,EAAvD,EAEbM,EAAiB,SAACN,GAAD,OAAchB,EAAIiB,KAAK,iCAAkCD,EAAzD,EAGjBO,EAAgB,SAACP,GAAD,OAAchB,EAAIiB,KAAK,kBAAmBD,EAA1C,EAOhBQ,EAAiB,SAACR,GAAD,OAAchB,EAAIiB,KAAK,yBAA0BD,EAAjD,EACjBS,EAAiB,SAACT,GAAD,OAAchB,EAAI0B,IAAI,yBAA0BV,EAAhD,EAIjBW,EAAoB,SAACX,GAAD,OAAchB,EAAIiB,KAAK,4BAA6BD,EAApD,EACpBY,EAAoB,SAACZ,GAAD,OAAchB,EAAI0B,IAAI,4BAA6BV,EAAnD,EAMpBa,EAAe,SAACb,GAAD,OAAchB,EAAIiB,KAAK,4BAA6BD,EAApD,EACfc,EAAe,SAACd,GAAD,OAAchB,EAAI0B,IAAI,4BAA6BV,EAAnD,EAKfe,EAAe,SAACf,GAAD,OAAchB,EAAIiB,KAAK,0BAA2BD,EAAlD,EACfgB,EAAe,SAAChB,GAAD,OAAchB,EAAI0B,IAAI,0BAA2BV,EAAjD,EACfiB,EAAe,SAACjB,GAAD,OAAchB,EAAI0B,IAAI,kCAAmCV,EAAzD,EAMfkB,EAA0B,SAAClB,GAAD,OAAchB,EAAIiB,KAAK,6CAA8CD,EAArE,EAG1BmB,EAAuB,SAACnB,GAAD,OAAchB,EAAIiB,KAAK,6BAA8BD,EAArD,EAIvBoB,EAA2B,SAACpB,GAAD,OAAchB,EAAIiB,KAAK,uCAAwCD,EAA/D,EAC3BqB,EAAkC,SAACrB,GAAD,OAAchB,EAAIiB,KAAK,8CAA+CD,EAAtE,EAElCsB,EAAqC,SAACtB,GAAD,OAAchB,EAAIiB,KAAK,uCAAwCD,EAA/D,EACrCuB,EAAqC,SAACvB,GAAD,OAAchB,EAAIiB,KAAK,uCAAwCD,EAA/D,EACrCwB,EAAoC,SAACxB,GAAD,OAAchB,EAAIiB,KAAK,gDAAiDD,EAAxE,EACpCyB,EAA2B,SAACzB,GAAD,OAAchB,EAAIiB,KAAK,uCAAwCD,EAA/D,EAE3B0B,EAAqB,SAAC1B,GAAD,OAAchB,EAAIiB,KAAK,4BAA6BD,EAApD,EACrB2B,EAAyB,SAAC3B,GAAD,OAAchB,EAAIiB,KAAK,4BAA6BD,EAApD,EAEzB4B,EAA0B,SAAC5B,GAAD,OAAchB,EAAIiB,KAAK,4BAA6BD,EAApD,EAE1B6B,EAAuB,SAAC7B,GAAD,OAAchB,EAAIiB,KAAK,oCAAqCD,EAA5D,EACvB8B,EAA2B,SAAC9B,GAAD,OAAchB,EAAIiB,KAAK,oCAAqCD,EAA5D,EAC3B+B,EAA2B,SAAC/B,GAAD,OAAchB,EAAIiB,KAAK,oCAAqCD,EAA5D,EAC3BgC,EAAiC,SAAChC,GAAD,OAAchB,EAAIiB,KAAK,4CAA6CD,EAApE,EAGjCiC,EAAqB,SAACjC,GAAD,OAAchB,EAAIiB,KAAK,kCAAmCD,EAA1D,EACrBkC,EAAuB,SAAClC,GAAD,OAAchB,EAAIiB,KAAK,4BAA6BD,EAApD,EACvBmC,EAAkC,SAACnC,GAAD,OAAchB,EAAIiB,KAAK,qCAAsCD,EAA7D,EAClCoC,GAAmB,SAACpC,GAAD,OAAchB,EAAIiB,KAAK,oCAAqCD,EAA5D,EAMnBqC,GAA0B,SAACrC,GAAD,OAAchB,EAAIiB,KAAK,gCAAiCD,EAAxD,EAE1BsC,GAA0B,SAACtC,GAAD,OAAchB,EAAIiB,KAAK,yCAA0CD,EAAjE,EAC1BuC,GAA2B,SAACvC,GAAD,OAAchB,EAAIiB,KAAK,0CAA2CD,EAAlE,EAG3BwC,GAA2B,SAACxC,GAAD,OAAchB,EAAIiB,KAAK,iDAAkDD,EAAzE,EAC3ByC,GAA4B,SAACzC,GAAD,OAAchB,EAAIiB,KAAK,mDAAoDD,EAA3E,EAC5B0C,GAA4B,SAAC1C,GAAD,OAAchB,EAAIiB,KAAK,mDAAoDD,EAA3E,EAM5B2C,GAAiB,SAAC3C,GAAD,OAAchB,EAAIiB,KAAK,uBAAwBD,EAA/C,EACjB4C,GAAiB,SAAC5C,GAAD,OAAchB,EAAIiB,KAAK,uBAAwBD,EAA/C,EACjB6C,GAAiB,SAAC7C,GAAD,OAAchB,EAAIiB,KAAK,2BAA4BD,EAAnD,EAEjB8C,GAAe,SAAC9C,GAAD,OAAchB,EAAIiB,KAAK,0BAA2BD,EAAlD,EACf+C,GAAa,SAAC/C,GAAD,OAAchB,EAAIiB,KAAK,wBAAyBD,EAAhD,EAObgD,GAAkB,SAAChD,GAAD,OAAchB,EAAIiB,KAAK,+BAAgCD,EAAvD,E,mCC3BlBiD,GAAyB,yDAAM,WAAOC,GAAP,iBAAAC,EAAA,sEAExCD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFA,SD9BLtD,OCiCZuD,EDjCyBvE,EAAIiB,KAAK,oCAAqCD,GC8BtD,gBAGhC3E,EAHgC,EAGhCA,KACJmI,cAAYC,QAAQC,IAAI,gCAAiCrI,GACxC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMQ,GAA2BN,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAExC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAV/H,kDAaxCC,MAAM,EAAD,IACDX,cAAYC,QAAQC,IAAR,MAdwB,yBAgBxCR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAhBA,+CD9BN,IAACtD,CC8BK,8BAAN,uDAsEzBsB,GAAqC,SAACtB,EAAUoE,GAAX,8CAAuB,WAAOlB,GAAP,yBAAAC,EAAA,sEAErED,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAF6B,SAG9CC,EAAuCvD,GAHO,OAG/DqE,EAH+D,OAMhD,aAAb,QADAhJ,EAASgJ,EAAThJ,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEC,QAAS,sCAAuCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC1J,OAAI7I,QAAJ,IAAIA,GAAJ,UAAIA,EAAMA,YAAV,OAAI,EAAYiJ,UACdF,EAAQG,KAAK,CAAEC,SAAU,yBAA0BC,MAAO,CAAEC,OAAQ,CAAEC,IAAG,OAAEtJ,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,aAAE,EAAYiJ,cAGtE,WAAb,OAAJjJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAd/E,kDAiBrEC,MAAM,EAAD,IACDX,cAAYC,QAAQC,IAAI,UAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBArBsD,yBAwBrErB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAxB6B,6EAAvB,uDA6BrC/B,GAAqC,SAACvB,EAAUoE,GAAX,8CAAuB,WAAOlB,GAAP,yBAAAC,EAAA,sEAErED,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAF6B,SAG9CC,EAAuCvD,GAHO,gBAKhD,aAAb,QAFA3E,EAH6D,EAG7DA,YAEA,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEC,QAAS,gCAAiCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACpJ,OAAI7I,QAAJ,IAAIA,GAAJ,UAAIA,EAAMA,YAAV,OAAI,EAAYiJ,UACdF,EAAQG,KAAK,CAAEC,SAAU,yBAA0BC,MAAO,CAAEC,OAAQ,CAAEC,IAAG,OAAEtJ,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,aAAE,EAAYiJ,cAGtE,WAAb,OAAJjJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAblG,kDAgBrEC,MAAM,EAAD,IACDX,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBApBsD,yBAuBrErB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAvB6B,6EAAvB,uDA4BrC9B,GAAoC,SAACxB,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,6DACjEK,cAAYC,QAAQC,IAAI,WAAY1D,GAD6B,SAGnEkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAH2B,SAI5CC,EAAsCvD,GAJM,gBAI3D3E,EAJ2D,EAI3DA,KACJmI,cAAYC,QAAQC,IAAI,gCAAiCrI,GACxC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAM0B,GAAqBxB,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAElC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAXpG,kDAcnEC,MAAM,EAAD,IACDX,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAlBqD,yBAqBnErB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IArB2B,6EAAtB,uDAmEpCjC,GAAkC,SAACrB,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAEjED,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFyB,SAG1CC,EAAoCvD,GAHM,gBAGzD3E,EAHyD,EAGzDA,KAEJmI,cAAYC,QAAQC,IAAI,yBAA0BrI,GACjC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CAAEC,QAAS,2BAA4BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC/IhB,EAASD,OACiB,WAAb,OAAJ5H,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAI,UAAWrI,GACvCwI,wBAAa,CAAEC,QAAS,2BAA4BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAXhF,kDAc7DV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZV,wBAAa,CAAEC,QAAS,2BAA4BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAnBhF,yBAsBjEhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtByB,6EAAtB,uDAmMlC1B,GAA0B,SAAC5B,EAAU6E,EAAQ/F,GAAnB,8CAAyB,WAAOoE,GAAP,qBAAAC,EAAA,6DAC1DK,cAAYC,QAAQC,IAAI,WAAY1D,GADsB,SAG5DkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHoB,SAIrCC,EAA4BvD,GAJS,gBAKvC,aAAb,QADA3E,EAJoD,EAIpDA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,8BAAZ,OAA2CrI,QAA3C,IAA2CA,OAA3C,EAA2CA,EAAMA,MACjE6H,EAAS,CAAEE,KAAM2B,GAAsBzB,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,QAEnC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAC5BG,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAX3G,kDAcxDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZV,wBAAa,CAAEC,QAAShF,EAAE,qCAAsCiF,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAnBjG,yBAsB5DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtBoB,6EAAzB,uDA6B1BzB,GAAuB,SAAC7B,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAEtDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFc,SAG/BC,EAAyBvD,GAHM,gBAIjC,aAAb,QADA3E,EAH8C,EAG9CA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SAGRE,wBAAa,CACXC,QAAS,6BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAO,IAAD,EAER,OAAE3I,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,OAAE,EAAYiJ,SAGnBO,EAAON,KAAK,CAAEC,SAAU,0CACzB,MAKY,WAAb,OAAJnJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAC5BG,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAzBjH,kDA4BlDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZV,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAjCjH,yBAoCtDhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IApCc,6EAAtB,uDAyCvBxB,GAA2B,SAAC9B,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAE1DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFkB,SAGnCC,EAA6BvD,GAHM,gBAIrC,aAAb,QADA3E,EAHkD,EAGlDA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,0BAAZ,OAAuCrI,QAAvC,IAAuCA,OAAvC,EAAuCA,EAAMA,MAC7DwI,wBAAa,CACXC,QAAS,6BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAO,IAAD,EAER,OAAE3I,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,OAAE,EAAYiJ,SAGnBO,EAAON,KAAK,CAAEC,SAAU,0CACzB,OAKY,WAAb,OAAJnJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAC5BG,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAxB7G,kDA2BtDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAhCmD,yBAmC1DjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAnCkB,6EAAtB,uDA+E3BtB,GAAiC,SAAChC,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAEhED,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFwB,SAGzCC,EAAmCvD,GAHM,gBAI3C,aAAb,QADA3E,EAHwD,EAGxDA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SAERT,EAAS,CAAEE,KAAM4B,GAA0B1B,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAEvC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAC5BG,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,OAVvD,kDAa5DR,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,MACvFa,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAlByD,yBAqBhEjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IArBwB,6EAAtB,uD,kBClmB/B2B,GAvBI,WACjB,OACE,qCACE,sBAAKC,UAAU,2BACbC,MAAO,CACL/N,gBAAiB,WAFrB,SAYE,eAACgO,GAAA,EAAD,CAAWC,OAAK,EAACF,MAAO,CAAEG,UAAW,UAM5C,E,kDCxBKC,GAAO,CACXC,aAAc,QAGVC,GAAY,GAIZC,GAAQ,CACZF,aAAc,QAGVG,GAAO,CAEX3J,MAAO,UACP4J,WAAY,QAGRC,GAAQ,CACZ7J,MAAO,UACP4J,WAAY,QAGRE,GAAW,CACf9J,MAAO,UACP+J,UAAW,OACXP,aAAc,OACdI,WAAY,iBAGRI,GAAW,CACfhK,MAAO,UACP4J,WAAY,iBAoCDK,GAAY,CACvBP,MAAOA,GACPH,KAAMA,GACNE,UAAWA,GACXK,SAAUA,GACVD,MAAOA,GACPF,KAAMA,GACNK,SAAUA,GACVE,SAzCe,CACfH,UAAW,GACXP,aAAc,GACdI,WAAY,iBAuCZO,aApCmB,CACnBJ,UAAW,GACXP,aAAc,GACdY,UAAW,UAkCXC,cA/BoB,CACpBC,SAAU,GACVtK,MAAO,OA8BPuK,UA3BgB,CAChBD,SAAU,GACVP,WAAY,GACZP,aAAc,IAyBdgB,aAtBmB,CACnBC,SAAU,MACVV,UAAW,IAqBXW,cAlBoB,CACpBD,SAAU,MACVjB,aAAc,IAmBHmB,GAAa,CACxBjB,MAAOA,GACPH,KAAMA,GACNE,UAAWA,GACXK,SAAUA,GACVD,MAAOA,GACPF,KAAMA,GACNK,SAAUA,IAICY,GACD,UADCA,GAEI,UAFJA,GASI,UATJA,GAUS,UAVTA,GAiBD,UAjBCA,GAkBF,UAlBEA,GAmBH,U,+BC/FJC,GAAY,SAAC,GAAD,IAAGnC,EAAH,EAAGA,OAAQoC,EAAX,EAAWA,kBAAX,OAEhB,eADA,CACA,gBACE,qBAAI3B,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOsC,UACnD,qBAAI7B,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoFlC,EAAOE,QAC3F,qBAAIO,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOuC,cACnD,qBAAI9B,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOf,SACnD,8BACGe,EAAOwC,UACN,gBAACC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,SAKA,gBAACiC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,iBAA1B,UACE,oBAAGA,UAAU,eADf,UAMJ,qBAAIA,UAAU,aAAd,SACE,sBAAKA,UAAU,MAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,gBAAgByC,OAAK,EAApC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR6I,EAAkB7I,EAAGyG,EACtB,EALH,SAOE,eAAC,KAAD,cA9BM,EAwHH6C,GAjFQ,WAErB,IAAMrE,EAAWsE,cACXpD,EAAUqD,cAIVC,GAHWC,cAGSC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOgD,iBAAxB,KAEtCG,qBAAU,WAER3E,EAASD,KACV,GAAE,IAEH,IAAM6E,EAAoB,SAAC7J,EAAGyG,GAC5BzG,EAAE8J,iBACF7E,EAAS7B,GAAgC,CAAEiD,SAAUI,EAAOC,KAAOP,GACpE,EAGK4D,EAA0B,SAAC/J,EAAGyG,GAClCzG,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,SAAUgB,GACtCN,EAAQG,KAAK,CAAEC,SAAU,qDAAsDC,MAAO,CAAEC,OAAQA,IACjG,EAGKuD,EAAkB,SAAChK,EAAGyG,EAAQtB,GAClCnF,EAAE8J,gBACH,EAED,OACE,uCACE,eAAC,GAAD,IAGA,eAAC3C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACIpQ,KAAOiT,QAAQR,IACftI,EAAO+I,MAAM5J,KAAI,SAAC6J,EAAMrQ,GACtB,OACE,eAACsQ,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBkD,EAAKxD,QAC3B,qBAAIM,UAAU,OAAd,SAAsBkD,EAAKnB,iBAE7B,sBAAK/B,UAAU,iBAGnB,gBAACsD,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,qBACA,qBAAIA,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,oBACA,qBAAIA,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCxT,KAAOyT,OAAOhB,EAAmB,CAAEtE,KAAMgF,EAAKhF,OAAQ7E,KAAI,SAACmG,EAAQ3M,GAElE,OAAO,eAAC,GAAD,CAAmB2M,OAAQA,EAAQiE,UAAWV,EAAiBW,YAAad,EAAmBhB,kBAAmBkB,GAAlGjQ,EACxB,gBA5BgBA,EAmC9B,QAIV,EC/HY8Q,GAAO,OACPC,GAAS,SAGTC,GAAiB,iBACjBC,GAAqB,qBACrBC,GAAiB,iBAEjBC,GAAc,cACdC,GAAsB,sBACtBC,GAAW,WAGXC,GAAsB,sBACtBC,GAAsB,sBACtBC,GAAmB,mBACnBC,GAAmB,mBAEnBC,GAA0B,0BAC1BC,GAA0B,0BAC1BC,GAAuB,uBACvBC,GAAuB,uBAGvBC,GAAoB,oBACpBC,GAAoB,oBACpBC,GAA0B,0BAC1BC,GAAiB,iBACjBC,GAAiB,iBAGjBC,GAAoB,oBACpBC,GAAoB,oBACpBC,GAAiB,iBACjBC,GAAiB,iBAIjBC,GAAqB,qBACrBC,GAA6B,6BAC7BC,GAA6B,6BAC7BC,GAAyB,yBAEzBpH,GAAe,eAGfqH,GAAmB,mBACnBC,GAAsB,sBACtBC,GAAyB,yBACzBhH,GAA4B,4BAC5BiH,GAAwB,wBACxBC,GAA+B,+BAC/BC,GAAsB,sBAEtBjG,GAAsB,sBACtBkG,GAAsB,sBAEtBjG,GAAuB,uBACvBkG,GAAqB,qBAIrBC,GAAqB,qBAIrBC,GAAwB,wBACxBC,GAAwB,wBACxBpG,GAA2B,2BAC3BqG,GAAuB,uBAGvBC,GAAgB,gBAChBC,GAAa,aACbC,GAAgB,gBAChBC,GAAyB,yBACzBC,GAA8B,8BAC9BC,GAA8B,8BAG9BC,GAA4B,4BAC5BC,GAAgC,gCAChCC,GAAoB,oBACpBC,GAAqB,qBACrBC,GAAyB,yBACzBC,GAAgB,gBAChBC,GAAiB,iBACjBC,GAAqB,qBAIrBC,GAAkB,kBAClBC,GAAqB,qBACrBC,GAAkB,kBAGlBC,GAAoB,oBACpBC,GAAwB,wBACxBC,GAA2B,2BAC3BC,GAAqB,qBACrBC,GAAmB,mBAGnBC,GAAW,WC7GlBC,GAAY,CAAEC,SAFHlN,KAAKC,MAAMJ,aAAaC,QAAQ,iBAEP,CAAC,EAAGqN,SAAS,EAAMC,OAAQ,MAatDC,GAXK,WAAgC,IAA/BxI,EAA8B,uDAAtBoI,GAAWK,EAAW,uCACjD,OAAQA,EAAO9J,MACb,KAAK+J,GACH,OAAO,2BAAK1I,GAAZ,IAAmBqI,SAAUI,EAAO5J,QAASyJ,SAAS,EAAOC,OAAQ,OACvE,KAAKG,GACH,OAAO,2BAAK1I,GAAZ,IAAmBqI,SAAU,KAAMC,SAAS,EAAOC,OAAQ,OAC7D,QACE,OAAOvI,EAEZ,ECHKoI,GAAY,CAChBO,aAAc,GACdC,SAAS,CAAC,EACVC,eAAe,GACfC,eAAe,GAEfC,gBAAgB,GAChBC,YAAY,CAAC,EACbC,kBAAkB,GAClBC,kBAAkB,GAElBC,OAAQ,CAAC,EACTC,UAAU,GACVC,cAAc,GACdC,aAAa,GACbC,aAAa,GAEbC,cAAc,GACdC,UAAU,CAAC,EACXC,gBAAgB,GAChBC,gBAAgB,IAgDHC,GA7CK,WAAgC,IAA/BC,EAA8B,uDAAtBzB,GAAWK,EAAW,uCACjD,OAAQA,EAAO9J,MAEb,KAAKiG,GACH,OAAO,2BAAIiF,GAAX,IAAkBlB,aAAcF,EAAO5J,UACzC,KAAKgG,GACH,OAAO,2BAAIgF,GAAX,IAAkBjB,SAAUH,EAAO5J,UACrC,KAAKiG,GACH,OAAO,2BAAI+E,GAAX,IAAkBhB,eAAeJ,EAAO5J,UAC1C,KAAKkG,GACH,OAAO,2BAAI8E,GAAX,IAAkBf,eAAeL,EAAO5J,UAE1C,KAAKmG,GACH,OAAO,2BAAI6E,GAAX,IAAkBd,gBAAiBN,EAAO5J,UAC5C,KAAKoG,GACH,OAAO,2BAAI4E,GAAX,IAAkBb,YAAaP,EAAO5J,UACxC,KAAKqG,GACH,OAAO,2BAAI2E,GAAX,IAAkBZ,kBAAkBR,EAAO5J,UAC7C,KAAKsG,GACH,OAAO,2BAAI0E,GAAX,IAAkBX,kBAAkBT,EAAO5J,UAE7C,KAAKuG,GACH,OAAO,2BAAIyE,GAAX,IAAkBV,OAAQV,EAAO5J,UACnC,KAAKwG,GACH,OAAO,2BAAIwE,GAAX,IAAkBT,UAAWX,EAAO5J,UACtC,KAAKyG,GACH,OAAO,2BAAIuE,GAAX,IAAkBR,cAAeZ,EAAO5J,UAC1C,KAAK0G,GACH,OAAO,2BAAIsE,GAAX,IAAkBP,aAAab,EAAO5J,UACxC,KAAK2G,GACH,OAAO,2BAAIqE,GAAX,IAAkBN,aAAad,EAAO5J,UAExC,KAAK4G,GACH,OAAO,2BAAIoE,GAAX,IAAkBL,cAAef,EAAO5J,UAC1C,KAAK6G,GACH,OAAO,2BAAImE,GAAX,IAAkBJ,UAAWhB,EAAO5J,UACtC,KAAK8G,GACH,OAAO,2BAAIkE,GAAX,IAAkBH,gBAAgBjB,EAAO5J,UAC3C,KAAK+G,GACH,OAAO,2BAAIiE,GAAX,IAAkBF,gBAAgBlB,EAAO5J,UAC3C,QACE,OAAOgL,EAEZ,EC5DKzB,GAAY,CAChB0B,UAAW,GACXC,iBAAkB,GAClBC,aAAc,CAAC,EACf/G,kBAAmB,GACnBvG,qBAAsB,CAAC,EACvBuN,oBAAqB,CAAC,EACtBC,sBAAuB,GACvBC,WAAY,CAAC,EACbC,aAAc,GACdhN,qBAAsB,CAAC,EACvBiN,qBAAsB,CAAC,EACvBC,kBAAmB,IAwCNC,GArCO,WAAiC,IAAhCtK,EAA+B,uDAAtBmI,GAAWK,EAAW,uCAGpD,OAFI1J,cAAYC,QAAQC,IAAI,2BAA4BwJ,EAAO9J,MAC3DI,cAAYC,QAAQC,IAAI,4BAA6BwJ,EAAO5J,SACxD4J,EAAO9J,MACb,KAAKsH,GACH,OAAO,2BAAKhG,GAAZ,IAAoB6J,UAAWrB,EAAO5J,UACxC,KAAKqH,GACH,OAAO,2BAAKjG,GAAZ,IAAoB+J,aAAcvB,EAAO5J,UAC3C,KAAKsH,GACH,OAAO,2BAAKlG,GAAZ,IAAoBvD,qBAAsB+L,EAAO5J,UACnD,KAAKM,GACH,OAAO,2BAAKc,GAAZ,IAAoBgD,kBAAmBwF,EAAO5J,UAChD,KAAKuH,GACH,OAAO,2BAAKnG,GAAZ,IAAoBgK,oBAAqBxB,EAAO5J,UAClD,KAAKwH,GACH,OAAO,2BAAKpG,GAAZ,IAAoBuK,0BAA2B/B,EAAO5J,UACxD,KAAKwB,GACH,OAAO,2BAAKJ,GAAZ,IAAoBiK,sBAAuBzB,EAAO5J,UACpD,KAAKyB,GACH,OAAO,2BAAKL,GAAZ,IAAoBmK,aAAc3B,EAAO5J,UAC3C,KAAK2H,GACH,OAAO,2BAAKvG,GAAZ,IAAoBkK,WAAY1B,EAAO5J,UACzC,KAAK6H,GACH,OAAO,2BAAKzG,GAAZ,IAAoB7C,qBAAsBqL,EAAO5J,UACnD,KAAK0B,GACH,OAAO,2BAAKN,GAAZ,IAAoBqK,kBAAmB7B,EAAO5J,UAChD,KAAK+H,GACH,OAAO,2BAAK3G,GAAZ,IAAoBwK,4BAA6BhC,EAAO5J,UAC1D,KAAK8H,GACH,OAAO,2BAAK1G,GAAZ,IAAoBoK,qBAAsB5B,EAAO5J,UACnD,KAAK4H,GACH,OAAO,2BAAKxG,GAAZ,IAAoByK,UAAWjC,EAAO5J,UACxC,QACE,OAAOoB,EAEZ,EC1DKmI,GAAY,CAChBuC,YAAa,GACbC,cAAe,GACfC,kBAAmB,GACnBC,eAAgB,CAAC,EACjBC,WAAY,GACZC,sBAAsB,CAAC,EACvBC,QAAS,CAAC,GAwBGC,GArBK,WAA+B,IAA9BC,EAA6B,uDAAtB/C,GAAWK,EAAW,uCAChD,OAAQA,EAAO9J,MACb,KAAK2F,GACH,OAAO,2BAAK6G,GAAZ,IAAkBR,YAAalC,EAAO5J,UACxC,KAAK0F,GACH,OAAO,2BAAK4G,GAAZ,IAAkBL,eAAgBrC,EAAO5J,UAC3C,KAAK2F,GACH,OAAO,2BAAK2G,GAAZ,IAAkBP,cAAenC,EAAO5J,UAC1C,KAAK4F,GACH,OAAO,2BAAK0G,GAAZ,IAAkBN,kBAAmBpC,EAAO5J,UAC9C,KAAK6F,GACH,OAAO,2BAAKyG,GAAZ,IAAkBH,sBAAuBvC,EAAO5J,UAClD,KAAKwI,GACH,OAAO,2BAAK8D,GAAZ,IAAkBJ,WAAYtC,EAAO5J,UACvC,KAAK8F,GACH,OAAO,2BAAKwG,GAAZ,IAAkBF,QAASxC,EAAO5J,UACpC,QACE,OAAOsM,EAEZ,EC7BK/C,GAAY,CAChBgD,gBAAiB,GACjBN,eAAgB,GAChBO,iBAAkB,GAClBC,oBAAqB,GACrBC,2BAA4B,GAC5BC,mBAAqB,IAyBRC,GAtBa,WAAuC,IAAtCC,EAAqC,uDAAtBtD,GAAWK,EAAW,uCAGhE,OAFG1J,cAAYC,QAAQC,IAAI,2BAA4BwJ,EAAO9J,MAC3DI,cAAYC,QAAQC,IAAI,4BAA6BwJ,EAAO5J,SACvD4J,EAAO9J,MACb,KAAKmI,GACH,OAAO,2BAAI4E,GAAX,IAAyBL,iBAAmB5C,EAAO5J,UACrD,KAAKkI,GACD,OAAO,2BAAI2E,GAAX,IAAyBZ,eAAgBrC,EAAO5J,UAEpD,KAAKgI,GACH,OAAO,2BAAK6E,GAAZ,IAA0BN,gBAAiB3C,EAAO5J,UACpD,KAAKmI,GACH,OAAO,2BAAK0E,GAAZ,IAA0BJ,oBAAqB7C,EAAO5J,UACxD,KAAKoI,GACH,OAAO,2BAAKyE,GAAZ,IAA0BH,2BAA4B9C,EAAO5J,UAC/D,KAAKqI,GACH,OAAO,2BAAKwE,GAAZ,IAA0BF,mBAAoB/C,EAAO5J,UACvD,QACE,OAAO6M,EAEZ,ECpCKtD,GAAY,CAChBuD,YAAa,GACbC,eAAgB,CAAC,EACjBC,iBAAkB,GAClBd,WAAY,GACZe,oBAAqB,GACrBC,sBAAuB,CAAC,EACxBC,sBAAuB,CAAC,EACxBC,uBAAwB,IAoCXC,GAjCW,WAAqC,IAApCC,EAAmC,uDAAtB/D,GAAWK,EAAW,uCAG5D,OAFI1J,cAAYC,QAAQC,IAAI,2BAA4BwJ,EAAO9J,MAC3DI,cAAYC,QAAQC,IAAI,4BAA6BwJ,EAAO5J,SACxD4J,EAAO9J,MAEb,KAAKwI,GACH,OAAO,2BAAKgF,GAAZ,IAAwBR,YAAalD,EAAO5J,UAC9C,KAAKuI,GACH,OAAO,2BAAK+E,GAAZ,IAAwBP,eAAgBnD,EAAO5J,UACjD,KAAKyI,GACH,OAAO,2BAAK6E,GAAZ,IAAwBN,iBAAkBpD,EAAO5J,UACnD,KAAK0I,GACH,OAAO,2BAAK4E,GAAZ,IAAwBL,oBAAqBrD,EAAO5J,UAEtD,KAAKwI,GACH,OAAO,2BAAK8E,GAAZ,IAAwBpB,WAAYtC,EAAO5J,UAE7C,KAAK2I,GACH,OAAO,2BAAK2E,GAAZ,IAAwBJ,sBAAuBtD,EAAO5J,UACxD,KAAK4I,GACH,OAAO,2BAAK0E,GAAZ,IAAwBH,sBAAuBvD,EAAO5J,UAExD,KAAK6I,GACH,OAAO,2BAAKyE,GAAZ,IAAwBF,uBAAwBxD,EAAO5J,UAEzD,KAAKsJ,GACH,OAAO,2BAAKgE,GAAZ,IAAwBC,cAAe3D,EAAO5J,UAEhD,QACE,OAAOsN,EAEZ,ECvCK/D,GAAY,CAChBiE,YAAa,GACblO,eAAgB,GAChBC,eAAgB,IAiBHkO,GAdS,WAAmC,IAAlCC,EAAiC,uDAAtBnE,GAAWK,EAAW,uCACxD,OAAQA,EAAO9J,MAEb,KAAKiJ,GACH,OAAO,2BAAK2E,GAAZ,IAAsBF,YAAa5D,EAAO5J,UAC5C,KAAK8I,GACH,OAAO,2BAAK4E,GAAZ,IAAsBpO,eAAgBsK,EAAO5J,UAC/C,KAAKgJ,GACH,OAAO,2BAAK0E,GAAZ,IAAsBnO,eAAgBqK,EAAO5J,UAC/C,QACE,OAAO0N,EAEZ,ECfKnE,GAAY,CAChBsC,UAAW,GACX8B,gBAAgB,GAChBC,mBAAmB,GACnBC,WAAW,GACXC,SAAS,IAqBIL,GAlBS,WAAiC,IAAhCM,EAA+B,uDAAtBxE,GAAWK,EAAW,uCACtD,OAAQA,EAAO9J,MACZ,KAAKmJ,GACJ,OAAO,2BAAK8E,GAAZ,IAAoBlC,UAAWjC,EAAO5J,UACvC,KAAKkJ,GACJ,OAAO,2BAAK6E,GAAZ,IAAoBJ,gBAAiB/D,EAAO5J,UAC7C,KAAKmJ,GACJ,OAAO,2BAAK4E,GAAZ,IAAoBH,mBAAoBhE,EAAO5J,UAChD,KAAKoJ,GACJ,OAAO,2BAAK2E,GAAZ,IAAoBF,WAAYjE,EAAO5J,UACxC,KAAKqJ,GACJ,OAAO,2BAAK0E,GAAZ,IAAoBD,SAAUlE,EAAO5J,UAEvC,QACE,OAAO+N,EAEZ,ECzBKxE,GAAY,CAChByE,aAAc,GACdC,cAAe,GACfC,cAAe,GACfC,WAAY,GACZC,aAAa,GAuBAC,GApBU,WAAoC,IAAnCC,EAAkC,uDAAtB/E,GAAWK,EAAW,uCAC1D,OAAQA,EAAO9J,MAEb,KAAKkH,GACH,OAAO,2BAAKsH,GAAZ,IAAuBN,aAAcpE,EAAO5J,UAC9C,KAAKiH,GACH,OAAO,2BAAKqH,GAAZ,IAAuBL,cAAerE,EAAO5J,UAC/C,KAAKkH,GACH,OAAO,2BAAKoH,GAAZ,IAAuBJ,cAAetE,EAAO5J,UAC/C,KAAKmH,GACH,OAAO,2BAAKmH,GAAZ,IAAuBH,WAAYvE,EAAO5J,UAE5C,KAAKD,GACH,OAAO,2BAAKuO,GAAZ,IAAuBF,YAAaxE,EAAO5J,UAE7C,QACE,OAAOsO,EAEZ,ECvBYC,GAAWC,0BAAgB,CACtCC,QACAnC,QACAtB,SACA5J,UACAyL,gBACAS,cACAoB,YACAX,UACAO,e,kDC2CFK,KACGzS,IAAI0S,MACJC,KAAK,CACJC,IAAK,KACLC,YAAa,KACbC,aAAa,EACbC,QAAS,CACPC,SAAU,CACRC,KACAC,MAAmB,SAACN,EAAKO,EAAIC,GAC3B,OAAO,YAAoBR,EAA3B,uBACOxT,MAAK,SAACiU,GAAD,OAAUD,EAAI,KAAMC,EAApB,IACLC,MAAMF,EACd,KAEHG,eAAgB,CAAC,CACfC,SAAU3T,iBAAgB,0CAC1B,CACA2T,SAAU,kDAMHf,UAAf,E,sICjBegB,GA/DA,WACb,MAAoBC,eAAZpU,EAAR,EAAQA,EAAR,EAAWqU,KACX,OACE,0BAAQjO,UAAU,OAAlB,UACE,wBACA,eAACE,GAAA,EAAD,UACE,gBAACiD,GAAA,EAAD,CAAKnD,UAAU,gDAAf,UACE,eAACkO,GAAA,EAAD,CAAKC,GAAG,IAAR,SACE,uBAAKnO,UAAU,gDAAf,UACCpG,EAAE,oBAAsB,IAAMwU,OAASC,OACtC,oBACErO,UAAU,wBACVsO,KAAK,IACLC,OAAO,SAHT,SAKG3U,EAAE,0BAIT,eAACsU,GAAA,EAAD,CAAKC,GAAG,IAAInO,UAAU,aAAtB,SACE,gBAACwO,GAAA,EAAD,CAAKxO,UAAU,2DAAf,UAEE,eAACyO,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CACEJ,KAAK,kCACLC,OAAO,SAFT,SAIG3U,EAAE,sBAGP,eAAC6U,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CACEJ,KAAK,wBACLC,OAAO,SAFT,SAIG3U,EAAE,kBAGP,eAAC6U,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CACEJ,KAAK,wBACLC,OAAO,SAFT,SAIG3U,EAAE,+BAkBpB,E,UC5DY+U,GAA6B,yDAAM,WAAO3Q,GAAP,iBAAAC,EAAA,sEAE5CD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFI,SlB0FLtD,OkBvFhBuD,ElBuF6BvE,EAAIiB,KAAK,mCAAoCD,GkB1FrD,OAGtCqE,EAHsC,OAMvB,aAAb,QAFAhJ,EAASgJ,EAAThJ,YAEA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMwI,GAA2BtI,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAExC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,eAAZ,OAA4BrI,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAMyI,SAClDD,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAX1H,kDAcxCV,cAAYC,QAAQC,IAAI,cAAZ,MAChBS,MAAM,EAAD,IAfuC,yBAiB5CjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAjBI,+ClB0FN,IAACtD,CkB1FK,8BAAN,uDAqB7BqC,GAA0B,SAACrC,GAAD,8CAAc,WAAOkD,GAAP,iBAAAC,EAAA,6DACnDM,QAAQC,IAAI,WAAY1D,GAD2B,SAGjDkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHS,SAI1BC,GAA4BvD,GAJF,OAI3CqE,EAJ2C,OAO5B,aAAb,QAFAhJ,EAASgJ,EAAThJ,YAEA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMyI,GAA+BvI,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAE5C,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,eAAZ,OAA4BrI,QAA5B,IAA4BA,OAA5B,EAA4BA,EAAMyI,SAClDD,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAZrH,kDAe7CV,cAAYC,QAAQC,IAAI,cAAZ,MAChBS,MAAM,EAAD,IAhB4C,yBAkBjDjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAlBS,6EAAd,uDAsB1BwQ,GAAe,yDAAM,WAAO5Q,GAAP,iBAAAC,EAAA,sEAE9BD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFV,SlBiDLtD,OkB9CFuD,ElB8CevE,EAAIiB,KAAK,kCAAmCD,GkBjDpD,gBAGtB3E,EAHsB,EAGtBA,KACJmI,cAAYC,QAAQC,IAAI,eAAgBrI,GACvB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAM0I,GAAmBxI,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAEhC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAEhKV,cAAYC,QAAQC,IAAI,QAZA,kDAe1BF,cAAYC,QAAQC,IAAR,MAChBS,MAAM,EAAD,IAhByB,yBAkB9BjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAlBV,+ClBiDN,IAACtD,CkBjDK,8BAAN,uDAwMf0C,GAA4B,SAAC1C,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,6DAC7DM,QAAQC,IAAI,WAAY1D,GADqC,SAG3DkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHmB,SAIpCC,GAA8BvD,GAJM,mBAInD3E,EAJmD,EAInDA,KACJmI,cAAYC,QAAQC,IAAI,yBAA0BrI,IAElD2E,EAAS+T,eAAeC,OAP+B,kCAQ7BlR,GAAa9C,EAAUmE,MAAOU,GARD,0CAYvDhB,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAZrH,mDAgBrDV,cAAYC,QAAQC,IAAI,kDAhB6B,YAmBvD1D,EAAS+T,eAAeE,KAnB+B,kCAoB7BlR,GAAW/C,EAAUmE,MAAOU,GApBC,0CAwBvDhB,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAxBrH,mDA4BrDV,cAAYC,QAAQC,IAAI,kDA5B6B,QA+BtC,aAAb,OAAJrI,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CAAEe,MAAO,UAAWb,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAC3HhB,EAASV,OACiB,WAAb,OAAJnH,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACfE,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAnCxF,kDAsCvDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,iBAEZV,wBAAa,CAAEe,MAAO,QAASd,QAAS,mCAAqC,KAAMO,SAASV,OAAQI,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IA3CrI,yBA8C3DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA9CmB,6EAAtB,uDAkDnCR,GAAY,uCAAG,WAAOoR,EAAQ/P,EAAOU,GAAtB,2BAAA1B,EAAA,mEAEb+Q,EAAOH,eAAeC,OAFT,gBAGfvQ,QAAQC,IAAI,iBAAkBwQ,EAAOH,eAAeC,QAHrC,6BAMfvQ,QAAQC,IAAI,iBANG,mBAQR,GARQ,cAWbF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,SAAUH,EAAOH,eAAeC,QAb7B,UAgBDzQ,GAAiB4Q,GAhBhB,eAgBbG,EAhBa,OAiBjB7Q,QAAQC,IAAI,oBAAqB4Q,GAE7BA,GAAOA,EAAIjZ,OAASpG,KAAOiT,QAAQoM,EAAIjZ,KAAKA,OAASiZ,EAAIjZ,KAAKA,KAAKoC,QAAU,IAC/EgG,QAAQC,IAAI,mCAAoC4Q,EAAIjZ,KAAKA,MACzD6Y,EAAO,yBAA2BI,EAAIjZ,KAAKA,KAAK,GAAGkZ,MArBpC,mBAyBV,GAzBU,yCA4Bb,2CAAOlQ,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERiQ,EADC,sCACa,KAAOnQ,gBADpB,iBACa,EAAiBhJ,YAD9B,aACa,EAAuByI,QACzCD,wBAAa,CAAEC,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAChIgQ,EAAOO,eAAiB,KACxBP,EAAOQ,iBAAmB,MAnCX,mBAqCV,GArCU,0DAAH,0DAyCZ3R,GAAU,uCAAG,WAAOmR,EAAQ/P,EAAOU,GAAtB,2BAAA1B,EAAA,mEAEX+Q,EAAOH,eAAeE,KAFX,gBAGTzQ,cAAYC,QAAQC,IAAI,iBAAkBwQ,EAAOH,eAAeE,MAHvD,6BAMTzQ,cAAYC,QAAQC,IAAI,iBANf,mBAQN,GARM,cAWXF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,OAAQH,EAAOH,eAAeE,MAb7B,UAgBC1Q,GAAe4Q,GAhBhB,eAgBXG,EAhBW,SAmBJA,EAAIjZ,OAASpG,KAAOiT,QAAQoM,EAAIjZ,KAAKA,OAASiZ,EAAIjZ,KAAKA,KAAKoC,QAAU,IAC3E+F,cAAYC,QAAQC,IAAI,mCAAoC4Q,EAAIjZ,KAAKA,MACzE6Y,EAAM,KAAWI,EAAIjZ,KAAKA,KAAK,GAAGkZ,KAClCL,EAAM,iBAAuBI,EAAIjZ,KAAKA,KAAK,GAAGkZ,MAtBjC,mBAyBR,GAzBQ,yCA4BX,2CAAOlQ,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERiQ,EADC,sCACa,KAAOnQ,gBADpB,iBACa,EAAiBhJ,YAD9B,aACa,EAAuByI,QACzCD,wBAAa,CAAEC,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAChIgQ,EAAOO,eAAiB,KACxBP,EAAOQ,iBAAmB,MAnCb,mBAqCR,GArCQ,0DAAH,0DAyCHlS,GAA2B,SAACxC,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAE1DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFkB,SAGnCC,GAA6BvD,GAHM,gBAGlD3E,EAHkD,EAGlDA,KACJmI,cAAYC,QAAQC,IAAI,yBAA0BrI,GAEjC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QACRT,EAAS,CAAEE,KAAM+I,GAAoB7I,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAC1B,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACfE,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IATzF,kDAYtDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,iBAEZV,wBAAa,CAAEe,MAAO,QAASd,QAAS,mCAAqC,KAAMO,SAASV,OAAQI,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAjBtI,yBAoB1DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IApBkB,6EAAtB,uD,+BC/W3BqR,GAAY,CAAC,aAAc,iBAAkB,iBAAkB,SAM/DC,GAAgB,CAAC,MAAO,MAExBC,GAAS,CAAC,MAAO,MAEjBC,GAAO,CAAC,MAAO,MAEfC,GAAa,CAAC,MAAO,MAErBC,GAAc,CAAC,MAAO,MAEtBC,GAAa,CAAC,MAAO,MAErBC,GAAY,CAAC,WAAY,aAAc,WAAY,oBAAqB,WAExEC,GAAW,CAAC,oBAAqB,mBAAoB,mBAAoB,mBAEzEC,GAAgB,CAAC,oBAAqB,mBAAoB,mBAAoB,mBAQ9EC,GAAc,CAAC,MAAO,MAEtBC,GAAe,CAAC,MAAO,MAIvBC,GAAiB,QAEjBC,GAAgB,OAEhBC,GAA4B,KAE5BC,GACG,4BADHA,GAEL,wBAFKA,GAGE,yDAHFA,GAKK,iCALLA,GAMQ,uBANRA,GAQI,4BARJA,GASI,6DATJA,GAWU,qEAXVA,GAaE,6KAbFA,GAeO,sGAIPC,GAAgB,CAAC,WAAY,YAC7BC,GAA4B,WAA5BA,GAAkD,WAElDC,GAA+B,CAC1CC,aAAc,GACdC,OAAQ,KACRC,QAAS,MACTC,OAAQ,KACRC,SAAU,OACVC,SAAU,OACVC,YAAa,UACbC,UAAW,uBACXC,gBAAiB,cACjBC,aAAc,WACdC,UAAW,QACXC,qBAAsB,uBACtBC,aAAc,eACdC,sBAAuB,4EAA8EC,gBACrGC,UAAW,QACXC,WAAY,OACZC,UAAW,MACXC,4BAA6B,gCAC7BC,8BAA+B,0DAC/BC,uBAAwB,+BACxBC,kCAAmC,0DACnCC,uBAAwB,iEACxBC,kCAAmC,uDACnCC,gCAAiC,yDACjCC,iCAAkC,oCAClCC,6BAA8B,+BAC9BC,+BAAgC,wGAChCC,wBAAyB,kGACzBC,4BAA6B,oBAC7BC,oCAAqC,gCACrCC,2BAA4B,iBAC5BC,2BAA4B,uCAC5BC,2BAA4B,8BAC5BC,2BAA4B,4BAC5BC,2BAA4B,0BAC5BC,2BAA4B,4BAC5BC,MAAO,6CACPC,KAAM,yCACNC,IAAK,oCACLC,cAAe,SACfC,OAAQ,SACRC,UAAW,YACXC,QAAS,2BACTC,iBAAkB,oBAClBC,kBAAmB,sBACnBC,YAAa,eACbC,gBAAiB,mBACjBC,gBAAiB,wBACjBC,wBAAyB,gCACzBC,oBAAqB,4BACrBC,cAAe,uDAAyDrC,gBACxEsC,0BAA2B,6BAC3BC,gBAAiB,mBACjBC,cAAe,4BACfC,cAAe,gBACfC,YAAa,cACbtS,QAAS,4BACTuS,UAAW,oBACXC,gBAAiB,kBACjBC,gCAAiC,0CACjCC,YAAa,cACbC,MAAO,QACPC,SAAU,WACVC,qBAAsB,wBACtBC,QAAS,yBACTC,QAAS,yBACTC,kBAAmB,qBACnBC,kBAAmB,qBACnBC,OAAQ,UAIGC,GAAW,SAACC,GACvB,OAAOA,EAAMA,EAAIC,QAAQ,WAAW,SAACC,GAAD,OAAOA,EAAEC,aAAT,IAA0B,EAC/D,EAGYC,GAAiB,SAAC9d,GAC7B,OAAO+d,KAASC,OAAOhe,GAAOie,UAC/B,EAqBYC,IAnBuBC,cAAW,SAACC,GAAD,MAAY,CACzDC,YAAa,CACXC,OAAQF,EAAMG,QAAQ,GACtBzkB,MAAO,KAET0kB,mBAAoB,CAClBlf,MAAO,WAETmf,cAAe,CACbvV,WAAY,KAEdwV,YAAa,CACXhkB,gBAAiB,sBACjB,UAAW,CACTA,gBAAiB,wBAdwB,IAmBrB,SAACsF,EAAOie,GAChC,OAAIA,EACKje,EAAQ,EAAIhG,KAAKmH,MAAiC,KAA1BnB,EAAQ2e,OAAOC,UAAkB,IAAM,GAAK,GAEpE5kB,KAAKmH,MAAiC,KAA1BnB,EAAQ2e,OAAOC,UAAkB,GAEvD,GAGYC,GAAY,uCAAG,WAAOC,EAAOC,EAASrhB,EAAUsC,GAAjC,iBAAAyG,EAAA,yDACJ,KACN,QAAZsY,EAFsB,uBAGND,EAAME,OAAOthB,EAAU,EAAGsC,GAHpB,kBAIjB8e,GAJiB,UAKH,WAAZC,EALe,wBAMND,EAAME,OAAOthB,EAAU,GANjB,kBAOjBohB,GAPiB,WAQH,WAAZC,EARe,sBASpBD,EAAM/d,OAASrD,EAAW,GATN,wBAUlBuhB,EAAOH,EAAMphB,GACjBohB,EAAMphB,GAAYohB,EAAMphB,EAAW,GACnCohB,EAAMphB,EAAW,GAAKuhB,EAZA,kBAafH,GAbe,iDA8BjBA,GA9BiB,2CAiBH,aAAZC,EAjBe,sBAkBpB,GAAKrhB,EAAW,GAlBI,wBAmBlBuhB,EAAOH,EAAMphB,GACjBohB,EAAMphB,GAAYohB,EAAMphB,EAAW,GACnCohB,EAAMphB,EAAW,GAAKuhB,EArBA,kBAsBfH,GAtBe,WA0BH,aAAZC,EA1Be,wBA2BxBD,EAAMphB,GAAYsC,EA3BM,kBA4BjB8e,GA5BiB,4CAAH,4DAkCZI,GAAwB,sBAGxBC,GAAsB,CAAC,KAClC,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,QACA,QACA,QACA,KACA,KACA,KACA,KACA,QACA,KACA,KACA,MACA,KACA,KACA,QACA,KACA,QACA,KACA,KACA,QACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,QACA,KACA,KACA,QACA,QACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,SACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,KACA,M,4DCzKaC,GAlHK,SAAC5e,GACnBuG,QAAQC,IAAI,aAAcxG,GAC1B,IAAM6e,EAAcnU,aAAY,SAACnD,GAAD,OAAWA,EAAMsN,KAAKjF,QAAtB,IAC1B5J,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAoByL,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEX,EAAwC6I,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KAEMC,EAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACjC5M,QAAQC,IAAI,eAAgByY,GAC5BtU,qBAAU,WAAO,IAAD,IACdsL,EAAKiJ,eAAL,OAAoBC,QAApB,IAAoBA,GAApB,UAAoBA,EAAOzM,YAA3B,aAAoB,EAAa0M,UAEjC,IAAInI,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,GACEA,EAAaG,UACbvd,OAAOmV,OAAOiI,EAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAACC,IAEJ,IAAIM,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GACnBC,EAAQD,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,MAAQN,EAAMzM,KAAK+M,MAAQ,UAIlFC,EAAS,WACb1Z,EAAS,CAAEE,KAAM+J,KACjB1N,aAAaod,QACbzY,EAAQG,KAAK,gBACd,EAED,OACE,qCACE,eAACuY,GAAA,EAAD,CAAQ5X,UAAU,yBAAyB6X,OAAO,KAAKze,GAAG,cAA1D,SACE,gBAAC8G,GAAA,EAAD,CAAWC,OAAK,EAAhB,UACa,YAAVqX,EACC,eAAC,IAAD,CAAMxX,UAAU,6DAAhB,SAA8EpG,EAAE,cAAgB5B,EAAM8f,aAEtG,eAAC,IAAD,CAAM9X,UAAU,6DAAhB,SAA8EhI,EAAM8f,YAE1E,OAAXjB,QAAW,IAAXA,KAAanM,KACZ,eAAC8D,GAAA,EAAD,CAAKxO,UAAU,sCAAsC+X,QAAM,EAA3D,SACE,gBAACC,GAAA,EAAD,CAAsBC,KAAG,EAAzB,UAEE,eAACC,GAAA,EAAD,CAAgBlY,UAAU,OAAOiY,KAAG,EAApC,SACE,gBAACE,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,UACE,uBAAMA,UAAU,kCAAhB,SACE,eAACoY,GAAA,EAAD,CAAQpY,UAAU,SAASqY,IAAG,OAAExB,QAAF,IAAEA,OAAF,EAAEA,EAAanM,KAAK4N,UAAWC,IAAgB,OAAX1B,QAAW,IAAXA,KAAanM,KAAK6E,eAAiBrV,EAAOC,eAAiBD,EAAOse,iBAA/B,OAAiD3B,QAAjD,IAAiDA,OAAjD,EAAiDA,EAAanM,KAAK6E,gBAAiB,KAAzL,SACGsH,GAAW,OAAIA,QAAJ,IAAIA,KAAanM,KAAK4N,YAAwB,OAAXzB,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAK4N,UAAU/f,QAAS,EAAnF,OAAuFse,QAAvF,IAAuFA,OAAvF,EAAuFA,EAAanM,KAAK4N,UAAUG,OAAO,GAAGpD,cAAgB,OAGlJ,eAAC8C,GAAA,EAAD,CAAOnY,UAAU,yBAAjB,SACE,uBAAMA,UAAU,gCAAhB,SAAiDiV,IAAoB,OAAX4B,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAK4N,WAAY,KAA9B,OAAoCzB,QAApC,IAAoCA,OAApC,EAAoCA,EAAanM,KAAKgO,oBAMpG,UAAjB3B,EACC,gBAAC4B,GAAA,EAAD,CAAc3Y,UAAU,sBAAsB3P,OAAK,EAAnD,UACE,eAACuoB,GAAA,EAAD,CAAc5Y,UAAU,aAAa6Y,QAAM,EAACC,IAAI,MAAM7Y,MAAO,CAAE8Y,UAAW,QAASC,YAAa,IAAhG,SACE,qBAAIhZ,UAAU,oBAAd,SAAmCpG,EAAE,uBAEvC,gBAACgf,GAAA,EAAD,CAAcK,GAAG,2BAA2BH,IAAKI,IAAMjZ,MAAO,CAAE8Y,UAAW,SAA3E,UACE,uBAAM9Y,MAAO,CAAE+Y,YAAa,IAA5B,SAAmCpf,EAAE,uBACrC,oBAAGoG,UAAU,uBAGf,eAAC4Y,GAAA,EAAD,CAAcO,SAAO,IACrB,gBAACP,GAAA,EAAD,CAAc9Z,QAAS4Y,EAAQzX,MAAO,CAAE8Y,UAAW,SAAnD,UACE,uBAAM9Y,MAAO,CAAE+Y,YAAa,IAA5B,SAAmCpf,EAAE,oBACrC,oBAAGoG,UAAU,2BAIjB,gBAAC2Y,GAAA,EAAD,CAAc3Y,UAAU,sBAAsB3P,OAAK,EAAnD,UACE,eAACuoB,GAAA,EAAD,CAAc5Y,UAAU,aAAa6Y,QAAM,EAACC,IAAI,MAAhD,SACE,qBAAI9Y,UAAU,oBAAd,SAAmCpG,EAAE,uBAEvC,gBAACgf,GAAA,EAAD,CAAcK,GAAG,2BAA2BH,IAAKI,IAAjD,UACE,oBAAGlZ,UAAU,oBACb,gCAAOpG,EAAE,0BAGX,eAACgf,GAAA,EAAD,CAAcO,SAAO,IACrB,gBAACP,GAAA,EAAD,CAAc9Z,QAAS4Y,EAAvB,UACE,oBAAG1X,UAAU,qBACb,gCAAOpG,EAAE,+BAMjB,WAKb,ECvHYwf,GAAS,SAACte,EAAU6E,EAAQ0Z,GAAnB,8CAA2C,WAAOrb,GAAP,2CAAAC,EAAA,sEAE7DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFqB,SAItCC,EAAWvD,GAJ2B,OAIvDqE,EAJuD,OAQxC,aAAb,QAFAhJ,EAASgJ,EAAThJ,YAEA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMyF,GAAMvF,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OACtCoE,aAAa+e,QAAQ,cAAe5e,KAAK6e,UAAL,sBAAoBpjB,QAApB,IAAoBA,OAApB,EAAoBA,EAAMA,QAE9DwJ,EAAON,KAAK,sBACc,WAAb,OAAJlJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAI,UAAWrI,GACjB,uBAAd,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,SACRD,wBAAa,CAAEC,QAASya,EAAoB7F,iBAAkB3U,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAEtJ,0BAAd,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,SACbD,wBAAa,CAAEC,QAASya,EAAoB5F,kBAAmB5U,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAEvJ,mBAAd,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,SACbD,wBAAa,CAAEe,MAAO2Z,EAAoB3F,YAAa9U,QAASya,EAAoBtF,cAAelV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE3L,sBAAd,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,SACbD,wBAAa,CAAEe,MAAO2Z,EAAoB1F,gBAAiB/U,QAASya,EAAoBtF,cAAelV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE/L,2BAAd,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,SACbD,wBAAa,CAAEe,MAAO2Z,EAAoBzF,gBAAiBhV,QAASya,EAAoBtF,cAAelV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE/L,mCAAd,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,SACbD,wBAAa,CAAEe,MAAO2Z,EAAoBxF,wBAAyBjV,QAASya,EAAoBtF,cAAelV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAEvM,+BAAd,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMyI,UACbD,wBAAa,CAAEe,MAAO2Z,EAAoBvF,oBAAqBlV,QAASya,EAAoBtF,cAAelV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE9NW,EAAON,KAAK,iBApC+C,gDAuC7Dd,QAAQC,IAAI,cAAZ,kCAA2B,KAAOW,UAC9B,2CAAOA,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAASya,EAAoBpF,gBAAiBpV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9KW,EAAON,KAAK,kBAIK,2CAAOF,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuByI,QAAU,KAC5E0Q,EAAc,2CAAOnQ,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuBA,KAArD,sCAA4D,KAAOgJ,gBAAnE,iBAA4D,EAAiBhJ,YAA7E,aAA4D,EAAuByI,QACrG0Q,EAAcvf,KAAOiT,QAAQsM,GAAe+J,EAAoBlI,UAAY7B,EAG5E3Q,wBAAa,CAAEe,MAAO2Z,EAAoB/H,UAAW1S,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9MW,EAAON,KAAK,iBApD+C,yBAuD7DrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAvDqB,4EAA3C,uDA6DTpD,GAAS,SAACF,EAAU6E,EAAQ0Z,GAAnB,8CAA2C,WAAOrb,GAAP,2CAAAC,EAAA,sEAE7DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFqB,SAItCC,EAAWvD,GAJ2B,gBAMxC,aAAb,QAFA3E,EAJqD,EAIrDA,YAEA,IAAJA,OAAA,EAAAA,EAAMsI,SACJH,cAAYC,QAAQC,IAAI,kBAC5BG,wBAAa,CAAEe,MAAO2Z,EAAoBnI,YAAatS,QAASya,EAAoBrF,0BAA2BnV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAChOW,EAAON,KAAK,iBACc,WAAb,OAAJlJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAI,UAAWrI,GACvCwI,wBAAa,CAAEC,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAClIW,EAAON,KAAK,iBAb+C,gDAgBzDf,cAAYC,QAAQC,IAAI,cAAe,KAAMW,UAC7C,2CAAOA,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAASya,EAAoBpF,gBAAiBpV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9KW,EAAON,KAAK,kBAGRf,cAAYC,QAAQC,IAAI,mBAAZ,kCAAgC,KAAOW,UACtC,2CAAOA,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuByI,QAAU,KAC5E0Q,EAAc,2CAAOnQ,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuBA,KAArD,sCAA4D,KAAOgJ,gBAAnE,iBAA4D,EAAiBhJ,YAA7E,aAA4D,EAAuByI,QACrG0Q,EAAcvf,KAAOiT,QAAQsM,GAAe+J,EAAoBlI,UAAY7B,EAG5E3Q,wBAAa,CAAEe,MAAO2Z,EAAoB/H,UAAW1S,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9MW,EAAON,KAAK,iBA7B+C,yBAiC7DrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAjCqB,4EAA3C,uDAqITob,GAAkB,yDAAM,WAAOxb,GAAP,iBAAAC,EAAA,sEAEjCD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFP,SrBpLAtE,EAAIiB,KAAK,8BqBoLT,mBAGzB5E,EAHyB,EAGzBA,KACJmI,cAAYC,QAAQC,IAAI,iBAAkBrI,GACzB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAM4F,GAAoB1F,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAEjC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QARuB,wBAS3BH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAVtI,6EAc7BV,cAAYC,QAAQC,IAAR,MAChBG,wBAAa,CAAEC,QAAQ,EAAD,GAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAfzF,yBAiBjChB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAjBP,6EAAN,uDAsBlBjD,GAAa,SAACL,EAAU2e,EAAava,EAASma,EAAqBzf,GAAtD,8CAA4D,WAAOoE,GAAP,2BAAAC,EAAA,yDAChFK,cAAYC,QAAQC,IAAI,8BAA+B1D,GADyB,SAMlFkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,KAEpCtD,EAAS4e,kBARqE,iCASpDC,GAAmB7e,EAAUmE,MAAOC,GATgB,yCAa9EP,wBAAa,CAAEC,QAAShF,EAAE,mCAAoCiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAbrF,mDAiB5EV,cAAYC,QAAQC,IAAI,kDAjBoD,eAoB9EF,cAAYC,QAAQC,IAAI,wCAAyC1D,GApBa,UAsB3DuD,EAAevD,GAtB4C,iBAsB1E3E,EAtB0E,EAsB1EA,KACJmI,cAAYC,QAAQC,IAAI,gBAAiBrI,GAExB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SAGRT,EAAS,CAAEE,KAAM8F,GAAa5F,QAASjI,IAGnCohB,EAAchd,aAAaC,QAAQ,eACnC8D,cAAYC,QAAQC,IAAI,cAAe+Y,GAEvCJ,EAAQzc,KAAKC,MAAM4c,GACnBqC,EAAgB,CAClBhf,MAAOuc,EAAMvc,MACb8P,KAAM,CACJtR,GAAI0B,EAAS+e,OACbvB,UAAWxd,EAASwd,UACpBI,SAAU5d,EAAS4d,SACnBoB,MAAOhf,EAASgf,MAChBrC,MAAON,EAAMzM,KAAK+M,MAClBlI,eAAgBzU,EAASyU,eACzB6H,SAAUtc,EAASsc,WAIV7c,aAAa+e,QAAQ,cAAe5e,KAAK6e,UAAUK,IAC5Dtb,cAAYC,QAAQC,IAAI,gBAAiBob,GAE7Cjb,wBAAa,CAAEe,MAAO2Z,EAAoBnI,YAAarS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACpKya,GAAava,EAAQ6a,GAAG,IACF,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAIrI,GAE5BwI,wBAAa,CAAEC,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAxDxF,kDA2D9EV,cAAYC,QAAQC,IAAI,gCAAZ,MAGhBG,wBAAa,CAAEC,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACpK,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAASya,EAAoBpF,gBAAiBpV,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9KE,EAAQG,KAAK,iBAjEmE,yBAoElFrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IApE0C,6EAA5D,uDAyEpBub,GAAkB,uCAAG,WAAO3K,EAAQ/P,EAAOU,GAAtB,2BAAA1B,EAAA,mEAEnB+Q,EAAOO,eAFY,gBAGjBjR,cAAYC,QAAQC,IAAI,iBAAkBwQ,EAAOO,gBAHhC,6BAMjBjR,cAAYC,QAAQC,IAAI,iBANP,mBAQd,GARc,cAWnBF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,UAAWH,EAAOO,gBAChCN,EAAOE,OAAO,UAAWH,EAAOQ,kBAdT,UrB9QQ1U,EqB8RQmU,ErB9RKnV,EAAIiB,KAAK,gCAAiCD,GqB8Q/D,eAgBnBsU,EAhBmB,SAmBZA,EAAIjZ,OAASpG,KAAOiT,QAAQoM,EAAIjZ,KAAKA,OAASiZ,EAAIjZ,KAAKA,KAAKoC,QAAU,IAC3E+F,cAAYC,QAAQC,IAAI,mCAAoC4Q,EAAIjZ,KAAKA,MACzE6Y,EAAM,eAAqBI,EAAIjZ,KAAKA,KAAK,GAAGkZ,KAC5CL,EAAM,iBAAuBI,EAAIjZ,KAAKA,KAAK,GAAGkZ,MAtBzB,mBAyBhB,GAzBgB,yCA4BnB,2CAAOlQ,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,kBAERiQ,EADC,sCACa,KAAOnQ,gBADpB,iBACa,EAAiBhJ,YAD9B,aACa,EAAuByI,QACzCD,wBAAa,CAAEC,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACjIgQ,EAAOO,eAAiB,KACxBP,EAAOQ,iBAAmB,MAnCL,mBAqChB,GArCgB,kCrB9QO,IAAC1U,CqB8QR,wBAAH,0DAsEXkf,GAAmB,yDAAM,WAAOhc,GAAP,iBAAAC,EAAA,sEAElCD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFN,SrBvVAtE,EAAImgB,IAAI,iBqBuVR,mBAIb,aAAb,QADA9jB,EAH0B,EAG1BA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAM6F,GAAgB3F,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAE7B,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QAPwB,wBAQ5BH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IATrI,6EAa9BV,cAAYC,QAAQC,IAAR,MAChBG,wBAAa,CAAEC,QAAQ,EAAD,GAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAdxF,yBAgBlChB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAhBN,6EAAN,uDAqBnBlD,GAAyB,SAACJ,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,uBAAAC,EAAA,sEAExDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFgB,SAGjCC,EAA2BvD,GAHM,UAGlDqE,EAHkD,OAIhDhJ,EAASgJ,EAAThJ,KACJmI,cAAYC,QAAQC,IAAI,0BAA2BrI,GAClC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,WACJyb,EAD0B,OACX/jB,QADW,IACXA,OADW,EACXA,EAAMA,MACb,KAAW,CAAEuU,KAAM5P,GAC3BwD,cAAYC,QAAQC,IAAI,8BAA+B0b,GAC3Dlc,EAAS,CAAEE,KAAM+F,GAAqB7F,QAAS8b,KAE5B,WAAb,OAAJ/jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QAZ8C,wBAalDH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAd/G,gFAkBpDV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,UAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,QAnBQ,iBAoBtDE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,gBArB0C,+BAwBtDV,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAxB/G,4CA4BxDhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA5BgB,6EAAtB,uD,oBCpXhC+b,GAAU,SAACniB,GACf,IAAM6e,EAAcnU,aAAY,SAACnD,GAAD,OAAWA,EAAMsN,KAAKjF,QAAtB,IAC1B5J,EAAWsE,cACXpD,EAAUqD,cAChB,EAAwCuU,qBAAxC,oBAAOsD,EAAP,KAAqBC,EAArB,KACA,EAA4CvD,mBAAS,IAArD,oBAAuBwD,GAAvB,WAMMC,EAAiB,WACrBF,GAAgB,SAAClkB,GAAD,OAAWA,CAAX,GACjB,EAEKqkB,EAAgB,WACpBH,GAAgB,EACjB,EASD,EAAoBrM,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAELwM,EAAkB/X,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IAEpC1H,qBAAU,WAAO,IAAD,EACdsL,EAAKiJ,eAAL,OAAoBC,QAApB,IAAoBA,GAApB,UAAoBA,EAAOzM,YAA3B,aAAoB,EAAa0M,UACjCpZ,EAASwb,KACV,GAAE,IAEH7W,qBAAU,WAAO,IAAD,QACV+X,EAAO,UAAGD,EAAgBE,eAAnB,iBAAG,EAAyBC,kBAA5B,iBAAG,EAAqC3P,oBAAxC,iBAAG,EAAmDyP,eAAtD,aAAG,EAA4DvK,YAC1EmK,EAAkBI,EACnB,GAAE,CAACD,IAGJ,IAgEII,EAhEEC,EAAS,uCAAG,WAAO/hB,GAAP,iBAAAkF,EAAA,6DAChBlF,EAAE8J,iBADc,SAEKkY,MAAM,GAAD,OAAI7gB,EAAOC,eAAX,0BAA2Cgd,EAAMzM,KAAK0M,SAAtD,eAA6E,CAAE4D,OAAQ,SAFjG,cAGLC,IACLC,EADS,UACWhhB,EAAOC,eADlB,0BACkDgd,EAAMzM,KAAK0M,SAD7D,eAEb+D,OAAOC,KAAKF,EAAgB,YAGxBA,EADD,UACqBhhB,EAAOC,eAD5B,gCAEHghB,OAAOC,KAAKF,EAAgB,WATd,2CAAH,sDAaX3D,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GAiDN8D,GAhDL9D,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,OAAQN,EAAMzM,KAAK+M,MAgDpCzf,EAApCzB,QAAoCyB,EAA3BqjB,QAAQC,EAAmBtjB,EAAnBsjB,KAAMC,EAAavjB,EAAbujB,SAyB/B,OAvBID,GAAQA,EAAKE,UACfX,EAAmB,CACjB5B,GAAIqC,EAAKE,UACT1C,IAAKI,KAEEoC,GAAQA,EAAKG,aACtBZ,EAAmB,CACjBvM,KAAMgN,EAAKG,WACXlN,OAAQ,WAGRgN,GAAYA,EAASC,UACvBX,EAAmB,CACjB5B,GAAIsC,EAASC,UACb1C,IAAKI,KAEEqC,GAAYA,EAASE,aAC9BZ,EAAmB,CACjBvM,KAAMiN,EAASE,WACflN,OAAQ,WAKV,eAACqJ,GAAA,EAAD,CAAQ5X,UAAU,mDAAmD6X,OAAO,KAAKze,GAAG,eAApF,SACE,gBAAC8G,GAAA,EAAD,CAAWC,OAAK,EAAhB,UAEE,yBAAQH,UAAU,iBAAiB9B,KAAK,SAASY,QAASyb,EAA1D,SACE,uBAAMva,UAAU,0BAIjBsb,EACC,eAACI,GAAA,EAAD,yBAAa1b,UAAU,QAAW6a,GAAlC,aACE,sBAAKxC,IAAKiD,EAAKK,OAAQ3b,UAAU,mBAAmBuY,IAAK+C,EAAKM,YAE9D,KAEHL,EACC,eAACG,GAAA,EAAD,UACE,sBAAKzb,MAAOc,GAAUD,SAAtB,SAAiCya,MAEjC,KAGQ,OAAX1E,QAAW,IAAXA,KAAanM,KACZ,eAAC8D,GAAA,EAAD,CAAKxO,UAAU,+BAAf,SAEE,gBAACgY,GAAA,EAAD,CAAsBC,KAAG,EAAzB,UACE,eAACC,GAAA,EAAD,CAAgBD,KAAG,EAAnB,SACE,eAACE,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,SACE,uBAAMA,UAAU,kCAAhB,SACE,eAACoY,GAAA,EAAD,CAAQpY,UAAU,SAASqY,IAAG,OAAExB,QAAF,IAAEA,OAAF,EAAEA,EAAanM,KAAK4N,UAAWC,IAAgB,OAAX1B,QAAW,IAAXA,KAAanM,KAAK6E,eAAiBrV,EAAOC,eAAiBD,EAAOse,iBAA/B,OAAiD3B,QAAjD,IAAiDA,OAAjD,EAAiDA,EAAanM,KAAK6E,gBAAiB,KAAzL,SACGsH,GAAW,OAAIA,QAAJ,IAAIA,KAAanM,KAAK4N,YAAwB,OAAXzB,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAK4N,UAAU/f,QAAS,EAAnF,OAAuFse,QAAvF,IAAuFA,OAAvF,EAAuFA,EAAanM,KAAK4N,UAAUG,OAAO,GAAGpD,cAAgB,WAMtJ,gBAACsD,GAAA,EAAD,CAAc3Y,UAAU,sBAAsB3P,OAAK,EAAnD,UACE,eAACuoB,GAAA,EAAD,CAAc5Y,UAAU,aAAa6Y,QAAM,EAACC,IAAI,MAAhD,SACE,qBAAI9Y,UAAU,oBAAd,wBAEF,gBAAC4Y,GAAA,EAAD,CAAcK,GAAG,2BAA2BH,IAAKI,IAAjD,UACE,oBAAGlZ,UAAU,oBACb,kDAEF,eAAC4Y,GAAA,EAAD,CAAcO,SAAO,IACrB,gBAACP,GAAA,EAAD,CAAc9Z,QA1Jb,WACbd,EAAS,CAAEE,KAAM+J,KACjB1N,aAAaod,QACbzY,EAAQG,KAAK,gBACd,EAsJa,UACE,oBAAGW,UAAU,qBACb,sDAKN,KAGJ,gBAAC6b,GAAA,EAAD,CAAU9D,QAAM,EAAC+D,OAAQ1B,EAAzB,UAGE,sBAAKpa,UAAU,mCAAf,SACE,gBAACmD,GAAA,EAAD,WACGmY,EACC,eAACpN,GAAA,EAAD,CAAKlO,UAAU,iBAAiB+b,GAAG,IAAnC,SACGT,EAAKE,UACJ,eAAC,IAAD,CAAMvC,GAAIqC,EAAKE,UAAf,SACE,sBAAKnD,IAAKiD,EAAKK,OAAQpD,IAAK+C,EAAKM,WAGnC,oBAAGtN,KAAMgN,EAAKG,WAAd,SACE,sBAAKpD,IAAKiD,EAAKK,OAAQpD,IAAK+C,EAAKM,aAIrC,KACHL,EACC,eAACrN,GAAA,EAAD,CAAKlO,UAAU,iBAAiB+b,GAAG,IAAnC,SACGR,EAASC,UACR,eAAC,IAAD,CAAMvC,GAAIqC,EAAKE,UAAf,SACE,sBAAKvb,MAAOc,GAAUD,SAAtB,SAAiCya,MAGnC,oBAAGjN,KAAMiN,EAASE,WAAlB,SACE,sBAAKxb,MAAOc,GAAUD,SAAtB,SAAiCya,QAIrC,KAGJ,eAACrN,GAAA,EAAD,CAAKlO,UAAU,iBAAiB+b,GAAG,IAAnC,SACE,0BAAQ/b,UAAU,iBAAiB9B,KAAK,SAASY,QAASyb,EAA1D,UACE,0BACA,oCAOR,gBAAC/L,GAAA,EAAD,CAAKuJ,QAAM,EAAX,UAxKY,SAACsD,EAAQW,GAC3B,OAAOX,EAAOhiB,KAAI,SAAC4iB,EAAMC,GACvB,GAAID,EAAKD,WAAaA,EACpB,OAAIC,EAAKE,eAAe,cAGpB,gBAACnE,GAAA,EAAD,CAAsBC,KAAG,EAAzB,UACE,gBAACC,GAAA,EAAD,CAAgBD,KAAG,EAACjY,UAAU,gBAAgBoc,OAAK,EAAnD,UACE,oBAAGpc,UAAWic,EAAKI,OAClBziB,EAAE,cAAgBqiB,EAAK5M,MACvB9Q,QAAQC,IAAI,0CAAwCyd,EAAK5M,SAG5D,eAACsJ,GAAA,EAAD,CAAc,kBAAgB,4BAA4B3Y,UAAU,sBAAsB3P,OAAK,EAA/F,SACG4rB,EAAKK,WAAWjjB,KAAI,SAACkjB,EAAWC,GAAZ,OACnB,gBAAC9N,GAAA,EAAD,CAEEuK,GAAIsD,EAAUznB,OAASynB,EAAUE,KACjC3D,IAAK4D,IACL5d,QAAS0b,EACTmC,gBAAgB,SALlB,UAOE,oBAAG3c,UAAWuc,EAAUF,OACvBE,EAAUlN,OAPNmN,EAFY,QARMN,GA0B/B,eAACzN,GAAA,EAAD,UACE,gBAACC,GAAA,EAAD,CAASuK,GAAIgD,EAAKnnB,OAASmnB,EAAKQ,KAAM3D,IAAK4D,IAAY5d,QAAS0b,EAAemC,gBAAgB,SAA/F,UACE,oBAAG3c,UAAWic,EAAKI,OAClBziB,EAAE,cAAgBqiB,EAAK5M,MACvB9Q,QAAQC,IAAI,wCAAsCyd,EAAK5M,UAJ9C6M,EAUrB,GACF,CA8HUU,CAAYvB,EAAQ,SAErB,eAAC5M,GAAA,EAAD,UACE,qBAAGzO,UAAU,WAAWuO,OAAO,SAASD,KAAK,qCAA7C,UACE,oBAAGtO,UAAU,0BACZpG,EAAE,6BAIP,eAAC6U,GAAA,EAAD,UACE,qBAAGzO,UAAU,WAAWuO,OAAO,SAASD,KAAK,IAC3CxP,QAASgc,EADX,UAGE,oBAAG9a,UAAU,8BACZpG,EAAE,0DAWlB,EAEDugB,GAAQ0C,aAAe,CACrBxB,OAAQ,CAAC,CAAC,IAqBGlB,U,UCtJA2C,I,MApIA,WACb,IAAM9e,EAAWsE,cACjB,EAAoB0L,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEX,EAAwC6I,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KAEMC,EAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACjC5M,QAAQC,IAAI,eAAgByY,GAC5BtU,qBAAU,WAAO,IAAD,IACdsL,EAAKiJ,eAAL,OAAoBC,QAApB,IAAoBA,GAApB,UAAoBA,EAAOzM,YAA3B,aAAoB,EAAa0M,UACjC7Y,QAAQC,IAAI,WAAZ,OAAwB2Y,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAOzM,MAE/B,IAAIuE,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,GACEA,EAAaG,UACbvd,OAAOmV,OAAOiI,EAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAACC,IAEJ,IAAIM,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GACXA,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,OAAQN,EAAMzM,KAAK+M,MAGhF,OACE,qCACE,sBACExX,MAAO,CACL/N,gBAAiB,UACjB6qB,gBAAiB,OAASjtB,EAAQ,KAA0CwD,QAAU,IACtF0pB,eAAgB,QAChBC,mBAAoB,cALxB,SAQE,sBACEjd,UAAU,2BACVC,MAAO,CACL8c,gBAAiB,OAASjtB,EAAQ,KAAwCwD,QAAU,IACpF0pB,eAAgB,UAChBE,iBAAkB,YAClBD,mBAAoB,cANxB,SASE,eAAC/c,GAAA,EAAD,CAAWC,OAAK,EAAhB,SACE,sBAAKH,UAAU,cAAf,SAEoB,UAAjB+W,EACC,eAAC5T,GAAA,EAAD,CAAKnD,UAAU,aAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,qBAAInd,UAAU,aAAaC,MAAO,CAAEnJ,MAAO,QAAS4J,WAAY,QAAhE,SACG9G,EAAE,sBAGL,uBAAMqG,MAAO,CAAEnJ,MAAO,SAAtB,SAAkC8C,EAAE,0BACpC,wBACA,wBAAMqG,MAAO,CAAEnJ,MAAO,SAAtB,UACG8C,EAAE,wBACH,oBAAGoG,UAAU,aAAauO,OAAO,SAAS6O,IAAI,aAAa9O,KAAK,qCAAhE,SACE,6BACE,6BAAI1U,EAAE,mCAOhB,eAACuJ,GAAA,EAAD,CAAKnD,UAAU,eAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,qBAAInd,UAAU,YAAYC,MAAO,CAAEnJ,MAAO,QAAS4J,WAAY,QAA/D,SACG9G,EAAE,sBAGL,uBAAMqG,MAAO,CAAEnJ,MAAO,SAAtB,SAAkC8C,EAAE,0BACpC,wBACA,wBAAMqG,MAAO,CAAEnJ,MAAO,SAAtB,UACG8C,EAAE,wBACH,oBAAGoG,UAAU,aAAauO,OAAO,SAAS6O,IAAI,aAAa9O,KAAK,qCAAhE,SACE,6BACE,6BAAI1U,EAAE,4CAyC/B,G,2DCmOcyjB,GA3VD,SAACrlB,GACb,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAgCuU,mBAAS,CAAC,GAA1C,oBAAOwG,EAAP,KAAiBC,EAAjB,KAGA,EAAgDzG,mBAAS,IAAzD,oBAAO0G,EAAP,KAAyBC,EAAzB,KACA,EAAgC3G,mBAAS,IAAzC,oBAAO4G,EAAP,KAAiBC,EAAjB,KAEA,EAA8D7G,mBAAS,IAAvE,oBAAO8G,EAAP,KAAgCC,EAAhC,KACA,EAA4D/G,mBAAS,IAArE,oBAAOgH,EAAP,KAA+BC,EAA/B,KACA,EAA0DjH,mBAAS,IAAnE,oBAAOkH,EAAP,KAA8BC,EAA9B,KACA,EAA8DnH,mBAAS,IAAvE,oBAAOoH,EAAP,KAAgCC,EAAhC,KACA,EAA4DrH,mBAAS,IAArE,oBAAOsH,EAAP,KAA+BC,EAA/B,KACA,EAA0DvH,mBAAS,IAAnE,oBAAOwH,EAAP,KAA8BC,EAA9B,KAyBA5b,qBAAU,WACR,IC0C4B7H,EAAU6E,EDzCtC3B,GCyC4BlD,ED1Cf,CAAE0jB,SAAU,iBC0CE,uCAAsB,WAAOxgB,GAAP,qBAAAC,EAAA,sEAEjDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFS,SAG1BC,GAAoBvD,GAHM,gBAGzC3E,EAHyC,EAGzCA,KACLmI,cAAYC,QAAQC,IAAI,cAAerI,GAErB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QACRT,EAAS,CAAEE,KAAMsJ,GAAoBpJ,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAGpD6H,EAAS,CAAEE,KAAMsJ,GAAoBpJ,QAAS,KAVC,kDAc9CE,cAAYC,QAAQC,IAAI,cAAe,KAAMW,UAChDnB,EAAS,CAAEE,KAAMsJ,GAAoBpJ,QAAS,KAC1C,2CAAOe,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,iBAlBmC,yBAsBjDrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtBS,6EAAtB,uDDxC5B,GAAE,IAEH,IAAMqgB,EAAc/b,aAAY,SAACnD,GAAD,OAAWA,EAAM4M,OAAOF,UAAxB,IAuChC,OAtCAtJ,qBAAU,WAER,GADIrE,cAAYC,QAAQC,IAAI,gBAAiBigB,GACzCA,GAAeA,EAAYlmB,OAAS,IAAMxI,KAAOiT,QAAQyb,EAAY,IAAK,CAE5E,IAAItoB,EAAOsoB,EAAY,GAGvBZ,EAA2B1nB,EAAKuoB,YAAYC,gBAC5CZ,EAA0B5nB,EAAKuoB,YAAYE,eAC3CX,EAAyB9nB,EAAKuoB,YAAYG,cAC1CV,EAA2BhoB,EAAKuoB,YAAYI,gBAC5CT,EAA0BloB,EAAKuoB,YAAYK,eAC3CR,EAAyBpoB,EAAKuoB,YAAYM,cAG1CzB,EAAYpnB,EAAK8oB,YAAY,GAAG/oB,MAAQC,EAAK8oB,YAAY,GAAG/oB,MAAQ,CAAC,GACjEoI,cAAYC,QAAQC,IAAI,WAAYrI,EAAK8oB,aAG7CtB,EAAYxnB,EAAK+oB,YACb5gB,cAAYC,QAAQC,IAAI,cAAerI,EAAK+oB,YAGhDzB,EAAoBtnB,EAAKgpB,mBAC1B,CACF,GAAE,CAACV,IAEAtD,OAAOtrB,OACT6H,wBAAa7H,KAAOuE,2BAWpB,uCAEE,eAACgrB,GAAD,IAGA,gBAAClf,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACE,uBAAKH,UAAU,cAAf,UAEE,wBACA,wBACA,wBACA,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CACEpD,UAAU,0BACVlB,QAAS,SAAC/F,GACRmG,EAAQG,KAAK,CAAEC,SAAU,kCAC1B,EACDW,MAAO,CAAEmC,OAAQ,WALnB,SAOE,gBAACid,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,gBAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,UACE,4EADF,IACoD,wBAClD,wBAFF,oBAKA,uBAAMA,UAAU,2BAAhB,SAA4C4d,OAE9C,eAAC1P,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,qBAAGpB,UAAU,+BAAb,UACE,uBAAMA,UAAU,mBAAhB,SAAoCke,IADtC,IACsE,uBAAMle,UAAU,cAAhB,gCAM5E,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CACEpD,UAAU,0BACVlB,QAAS,SAAC/F,GACRmG,EAAQG,KAAK,CAAEC,SAAU,kCAC1B,EACDW,MAAO,CAAEmC,OAAQ,WALnB,SAOE,gBAACid,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,gBAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,UACE,wEADF,IACgD,wBAC9C,wBAFF,qBAIA,uBAAMA,UAAU,2BAAhB,SAA4C8d,OAE9C,eAAC5P,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,aAI1D,qBAAGpB,UAAU,+BAAb,UACE,uBAAMA,UAAU,mBAAhB,SAAoCoe,IADtC,IACqE,uBAAMpe,UAAU,cAAhB,gCAM3E,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CACEpD,UAAU,0BACVlB,QAAS,SAAC/F,GACRmG,EAAQG,KAAK,CAAEC,SAAU,kCAC1B,EACDW,MAAO,CAAEmC,OAAQ,WALnB,SAOE,gBAACid,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,gBAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,UACE,mEADF,IAC2C,wBACzC,wBAFF,qBAIA,uBAAMA,UAAU,2BAAhB,SAA4Cge,OAE9C,eAAC9P,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,aAI7D,qBAAGpB,UAAU,+BAAb,UACE,uBAAMA,UAAU,oBAAhB,SAAqCse,IADvC,IACqE,uBAAMte,UAAU,cAAhB,sCAO/E,wBACA,wBAGA,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKlO,UAAU,eAAemO,GAAG,KAAjC,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,6BAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,iBAAtB,SACE,gBAACmD,GAAA,EAAD,CAAKnD,UAAU,qBAAf,UACE,uBAAKA,UAAU,MAAf,UACE,qBAAIA,UAAU,sCAAd,sBACA,qBAAIA,UAAU,kBAAd,qCAEF,sBAAKA,UAAU,MAAf,SACE,gBAACwO,GAAA,EAAD,CAAKxO,UAAU,sBAAsBuf,OAAK,EAA1C,UACE,eAAC9Q,GAAA,EAAD,CAASxO,MAAO,CAAE+Y,YAAa,GAA/B,SACE,eAACtK,GAAA,EAAD,CAAS1O,UAAU,YAAYlB,QAAS,SAAC/F,GAAQ,EAAEkH,MAAO,CAAEnJ,MAAO,OAAQ5E,gBAAiBwP,IAA5F,SACE,uBAAM1B,UAAU,GAAhB,uBAGJ,eAACyO,GAAA,EAAD,CAASxO,MAAO,CAAE+Y,YAAa,GAA/B,SACE,eAACtK,GAAA,EAAD,CAAS1O,UAAU,YAAYlB,QAAS,SAAC/F,GAAQ,EAAEkH,MAAO,CAAEnJ,MAAO,OAAQ5E,gBAAiBwP,IAA5F,SACE,uBAAM1B,UAAU,GAAhB,sBAGJ,eAACyO,GAAA,EAAD,CAASxO,MAAO,CAAE+Y,YAAa,GAA/B,SACE,eAACtK,GAAA,EAAD,CAAS1O,UAAU,YAAYlB,QAAS,SAAC/F,GAAQ,EAAEkH,MAAO,CAAEnJ,MAAO,OAAQ5E,gBAAiBwP,IAA5F,SACE,uBAAM1B,UAAU,GAAhB,+BAOZ,eAACqf,GAAA,EAAD,UAIE,sBAAKrf,UAAU,QAAQC,MAAO,CAAC5O,OAAQ,SAAvC,SACE,eAAC,iBAAD,CACE8E,KAAM,CACJhB,OAAQmoB,EAAShnB,MACjBE,SAAU,CACR,CACEF,MAAO,QACPH,KAAMmnB,EAASrK,MACf/f,MAAM,EACNhB,gBAAiBwP,GACjBtP,YAAasP,IAEf,CACEpL,MAAO,OACPH,KAAMmnB,EAASpK,KACfhgB,MAAM,EACNhB,gBAAiBwP,GACjBtP,YAAasP,IAEf,CACEpL,MAAO,MACPH,KAAMmnB,EAASnK,IACfjgB,MAAM,EACNhB,gBAAiBwP,GACjBtP,YAAasP,MAInBrN,QA9OE,CAClBA,QAAS,CACPmrB,UAAW,KAEbtnB,OAAQ,CACNunB,MAAO,CACL,CACE9oB,UAAW,CACTG,MAAO,UACPI,cAAe,WAEjBG,MAAO,CACLE,SAAU,SAAUC,GAClB,KAAMA,EAAQ,GACZ,OAAOA,CAEV,OA+NOkoB,kBAAmB,SAAC3mB,GAAD,OAAOwF,QAAQC,IAAIzF,EAAnB,eAS/B,gBAACoK,GAAA,EAAD,CAAKnD,UAAU,OAAf,UACE,eAACkO,GAAA,EAAD,CAAKlO,UAAU,eAAemO,GAAG,IAAjC,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,qBAAf,SACE,sBAAKA,UAAU,MAAf,SACE,qBAAIA,UAAU,OAAd,kEAIN,gBAACsD,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,qBACA,qBAAIA,MAAM,MAAV,wBACA,qBAAIA,MAAM,MAAV,4BACA,qBAAIA,MAAM,MAAV,4BACA,qBAAIA,MAAM,MAAV,wBAGJ,iCACGia,EAAiBnkB,KAAI,SAACzB,EAAM/E,GAAO,IAAD,QACjC,OACE,gCACE,8BAAK+E,EAAK8iB,UACV,wCAAK9iB,EAAK+nB,kBAAV,aAAK,EAAiBC,QACtB,wCAAKhoB,EAAKioB,qBAAV,aAAK,EAAoBD,QACzB,wCAAKhoB,EAAKkoB,eAAV,aAAK,EAAcF,QACnB,wCAAKhoB,EAAKmoB,aAAV,aAAK,EAAYH,UALV/sB,EAQZ,cAKT,eAACqb,GAAA,EAAD,CAAKC,GAAG,IAAR,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,qBAAf,SACE,sBAAKA,UAAU,MAAf,SACE,qBAAIA,UAAU,OAAd,6CAIN,gBAACsD,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAMtD,MAAO,CAAE+f,aAAc,GAAvC,qBAGA,qBAAIzc,MAAM,MAAMtD,MAAO,CAAE+f,aAAc,GAAvC,mBAGA,qBAAIzc,MAAM,MAAMtD,MAAO,CAAE+f,aAAc,GAAvC,kBAGA,qBAAIzc,MAAM,MAAV,sBAGJ,iCACGma,GACCA,EAASrkB,KAAI,SAACzB,EAAM/E,GAClB,OACE,gCACE,8BAAK+E,EAAK8iB,UACV,8BAAK9iB,EAAKqb,QACV,8BAAKrb,EAAKsb,OACV,8BAAKtb,EAAKub,QAJHtgB,EAOZ,sBASpB,E,uCE0NcwqB,GA5iBD,SAACrlB,GACb,IAAMgG,EAAWsE,cAGjB,GAFgBC,cAE8BuU,mBAAS,CAAC,IAAxD,oBAAOmJ,EAAP,KAAwBC,EAAxB,KACA,EAAkCpJ,mBAAS,CAAC,GAA5C,oBACA,GADA,UAC0CA,mBAAS,UAAnD,oBAAOqJ,EAAP,KAAsBC,EAAtB,KACA,EAA4CtJ,mBAAS,WAArD,oBAAOuJ,EAAP,KAAuBC,EAAvB,KACA,EAA8CxJ,mBAAS,IAAvD,oBAAOyJ,EAAP,KAAwBC,EAAxB,KACA,EAA8C1J,mBAAS,IAAvD,oBAAO2J,EAAP,KAAwBC,EAAxB,KACA,EAAkD5J,mBAAS,IAA3D,oBAAO6J,EAAP,KAA0BC,EAA1B,KAEA,EAAgC9J,mBAAS,CAAC,GAA1C,oBAAOwG,EAAP,KAAiBC,EAAjB,KACA,EAA4CzG,mBAAS,IAArD,oBAAO+J,EAAP,KAAuBC,EAAvB,KAEA,EAA0BhK,mBAAS,IAAnC,oBAAOiK,EAAP,KAAcC,EAAd,KACA,EAA0BlK,mBAAS,IAAnC,oBAAOmK,EAAP,KAAcC,EAAd,KACA,EAAwBpK,mBAAS,IAAjC,oBAAOqK,EAAP,KAAaC,GAAb,KACA,GAAwBtK,mBAAS,IAAjC,sBAAOuK,GAAP,MAAaC,GAAb,MAEA,GAAwCxK,mBAAS,QAAjD,sBAAOC,GAAP,MAAqBC,GAArB,MAIA,GAA8DF,mBAAS,KAAvE,sBAAO8G,GAAP,MAAgCC,GAAhC,MACA,GAA4D/G,mBAAS,KAArE,sBAAOgH,GAAP,MAA+BC,GAA/B,MACA,GAA0DjH,mBAAS,KAAnE,sBAAOkH,GAAP,MAA8BC,GAA9B,MACA,GAA8DnH,mBAAS,KAAvE,sBAAOoH,GAAP,MAAgCC,GAAhC,MACA,GAA4DrH,mBAAS,KAArE,sBAAOsH,GAAP,MAA+BC,GAA/B,MACA,GAA0DvH,mBAAS,KAAnE,sBAAOwH,GAAP,MAA8BC,GAA9B,MAIA,GAAgDzH,oBAAS,GAAzD,sBAAOyK,GAAP,MAAyBC,GAAzB,MACA,GAA8C1K,oBAAS,GAAvD,sBAAO2K,GAAP,MAAwBC,GAAxB,MACA,GAA4C5K,oBAAS,GAArD,sBAAO6K,GAAP,MAAuBC,GAAvB,MAEMC,GAAc,CAClB3pB,OAAQ,CACNunB,MAAO,CACL,CACEpoB,MAAO,CACLyqB,UAAW,QAEb7sB,SAAS,EACT8sB,WAAY,CACV9sB,SAAS,EACT+sB,YAAajB,EACbe,UAAW,OACX5gB,UAAW,UAIjB/I,MAAO,CACL,CACExB,UAAW,CACTG,MAAO,OACPI,cAAe,QAEjBG,MAAO,CACLE,SAAU,SAAUC,GAClB,KAAMA,EAAQ,GACZ,OAAOA,CAEV,EACDsqB,UAAW,OACXxqB,aAAa,EACb2qB,MAAO,EACPC,UAAW,EACXjqB,IAAK,KAEP8pB,WAAY,CACV9sB,SAAS,EACT+sB,YAAaf,EACba,UAAW,OACX5gB,UAAW,YAOfihB,GAAsB,CAC1BjqB,OAAQ,CACNunB,MAAO,CACL,CACExqB,SAAS,EACT8sB,WAAY,CACV9sB,SAAS,EACT+sB,YAAab,EACbjgB,UAAW,UAIjB/I,MAAO,CACL,CACExB,UAAW,CACTG,MAAO,UACPI,cAAe,WAEjBG,MAAO,CACLE,SAAU,SAAUC,GAClB,KAAMA,EAAQ,GACZ,OAAOA,CAEV,EACDF,aAAa,EACb2qB,MAAO,EACPC,UAAW,EACXjqB,IAAK,KAEP8pB,WAAY,CACV9sB,SAAS,EACT+sB,YAAaX,GACbngB,UAAW,YAQf+V,GAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACjC5M,QAAQC,IAAI,eAAgByY,IAC5BtU,qBAAU,WAAO,IAAD,EACd3E,EDtByB,uCAAM,WAAOA,GAAP,iBAAAC,EAAA,sEAE/BD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFT,SzBLLtD,OyBQHuD,EzBRgBvE,EAAIiB,KAAK,mCAAoCD,GyBKrD,gBAGvB3E,EAHuB,EAGvBA,KACLmI,cAAYC,QAAQC,IAAI,cAAerI,GAErB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QACRT,EAAS,CAAEE,KAAMuJ,GAAkBrJ,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAGlD6H,EAAS,CAAEE,KAAMuJ,GAAkBrJ,QAAS,KAVf,kDAc5BE,cAAYC,QAAQC,IAAI,cAAe,KAAMW,UAChDnB,EAAS,CAAEE,KAAMuJ,GAAkBrJ,QAAS,KAfb,yBAkB/BJ,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAlBT,+CzBLN,IAACtD,CyBKK,8BAAN,uDCuBzB,IAAImU,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MAEzC,GAAE,CAACyM,KAEJ,IAAII,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACXA,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,OAAQN,GAAMzM,KAAK+M,MAChFlZ,QAAQC,IAAI,QAAS+Y,IAErB5U,qBAAU,WACRsU,IACEA,GAAaG,UACbvd,OAAOmV,OAAOiI,GAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,GAAgB,QAEnB,GAGJ,GAAE,CAACC,KAEJ,OAAoBjJ,eAAZpU,GAAR,GAAQA,EAEF6kB,IAFN,GAAWxQ,KAESvL,aAAY,SAACnD,GAAD,OAAWA,EAAM4M,OAAOD,QAAxB,KA0FhC,OAzFAvJ,qBAAU,WAER,GADIrE,cAAYC,QAAQC,IAAI,gBAAiBigB,IACzCA,KAAgB1uB,KAAOiT,QAAQyb,IAAc,CAI/C,IAAI2D,EAAS,OAAG3D,SAAH,IAAGA,QAAH,EAAGA,GAAaC,YACzB0D,IAAcryB,KAAOiT,QAAQof,KAC/BvE,GAA2BuE,EAAUzD,gBACrCZ,GAA0BqE,EAAUxD,eACpCX,GAAyBmE,EAAUvD,cACnCV,GAA2BiE,EAAUtD,gBACrCT,GAA0B+D,EAAUrD,eACpCR,GAAyB6D,EAAUpD,eAIrC,IAAIqD,EAAY,OAAG5D,SAAH,IAAGA,QAAH,EAAGA,GAAa6D,gBAChC,GAAID,IAAiBtyB,KAAOiT,QAAQqf,GAAe,CACjD9E,EAAY8E,GACZ,IAAI/rB,EAAQ,GACZA,EAAM+I,KAAKzF,GAAE,yBACbtD,EAAM+I,KAAKzF,GAAE,wBACbtD,EAAM+I,KAAKzF,GAAE,uBACbknB,EAAkBxqB,EACnB,CAGD,IAAIisB,EAAa,OAAG9D,SAAH,IAAGA,QAAH,EAAGA,GAAa+D,eACjCjkB,QAAQC,IAAI,gBAAZ,OAA6B+jB,QAA7B,IAA6BA,OAA7B,EAA6BA,EAAeE,gBAG5C,IAAIC,EAAoB,GACpB3yB,KAAO4yB,QAAP,OAAeJ,QAAf,IAAeA,OAAf,EAAeA,EAAeE,kBAChCvC,EAAmBqC,EAAcK,gBAEpB,OAAbL,QAAa,IAAbA,KAAeE,eAAepsB,SAAQ,SAAAmB,GACpC,IAAIqrB,EAAerrB,EAAMrD,QAASghB,QAAQ,kBAAmBvb,GAAE,gCAGzDkpB,EAAY,CAChBtrB,MAAOA,EACPI,KAJFirB,EAAeA,EAAa1N,QAAQ,mBAAoBvb,GAAE,kCAO1D8oB,EAAkBrjB,KAAKyjB,EACxB,KAGHlC,EAAqB8B,GACrBpC,EAAkBoC,EAAkB,GAAGlrB,MAExC,CACF,GAAE,CAACinB,GAAa7kB,KAEjB+I,qBAAU,WACR,IAAIogB,EAAchzB,KAAOizB,KAAK/C,EAAiB,CAAEgD,MAAO5C,EAAgBniB,KAAMiiB,IAE9E,GAAIpwB,KAAOiT,QAAQ+f,GACjBrC,EAAmB,IACnBF,EAAmB,QACd,CAEL,IAAI0C,EAAa,aAAOH,EAAYI,aAChCpzB,KAAO4yB,QAAQO,KAAmBnzB,KAAOiT,QAAQkgB,IAAkBA,EAAc,GAAGE,SAAS,UAASF,EAAc,GAAKA,EAAc,GAAG/N,QAAQ,MAAOvb,GAAE,qBAC3J7J,KAAO4yB,QAAQO,KAAmBnzB,KAAOiT,QAAQkgB,IAAkBA,EAAc,GAAGE,SAAS,UAASF,EAAc,GAAKA,EAAc,GAAG/N,QAAQ,MAAOvb,GAAE,qBAC3J7J,KAAO4yB,QAAQO,KAAmBnzB,KAAOiT,QAAQkgB,IAAkBA,EAAcA,EAAc3qB,OAAS,GAAG6qB,SAAS,UAASF,EAAcA,EAAc3qB,OAAS,GAAK2qB,EAAcA,EAAc3qB,OAAS,GAAG4c,QAAQ,MAAOvb,GAAE,qBAChO7J,KAAO4yB,QAAQO,KAAmBnzB,KAAOiT,QAAQkgB,IAAkBA,EAAcA,EAAc3qB,OAAS,GAAG6qB,SAAS,UAASF,EAAcA,EAAc3qB,OAAS,GAAK2qB,EAAcA,EAAc3qB,OAAS,GAAG4c,QAAQ,MAAOvb,GAAE,qBAEpO8mB,EAAmBwC,GAEnB1C,EAAmBuC,EAAYM,aAC/B9kB,QAAQC,IAAI,kBAAmB0kB,GAC/B3kB,QAAQC,IAAI,cAAeukB,EAAYM,YACxC,CACF,GAAE,CAACpD,EAAiBI,EAAgBF,EAAevmB,KAEhDuhB,OAAOtrB,OACT6H,wBAAa7H,KAAOuE,2BAGtBuO,qBAAU,WACRue,EAAStnB,GAAE,6CACXonB,EAASpnB,GAAE,mCAEXwnB,GAAQxnB,GAAE,4BACV0nB,GAAQ1nB,GAAE,iCACX,GAAE,CAACA,KAGF,uCAEE,eAACwlB,GAAD,IAGA,gBAAClf,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAACF,MAAO,CAAE8Y,UAAWhC,IAAvD,UACE,sBAAK/W,UAAU,cAAf,SAEE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,SACE,gBAACqf,GAAA,EAAD,WACE,+BAME,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,gBAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,UACE,6BAAIpG,GAAE,2BADR,IACsC,wBACpC,wBACCA,GAAE,iCAEL,uBAAMoG,UAAU,2BAAhB,SAA4C4d,KAC5C,qBAAG5d,UAAU,+BAAb,UACE,uBAAMA,UAAU,mBAAhB,SAAoCke,KADtC,IACsE,uBAAMle,UAAU,cAAhB,SAA+BpG,GAAE,mCAGzG,eAACsU,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,eASjE,eAAC+B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKlO,UAAU,aAAf,SACE,sBACEC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRyoB,IAAqBD,GACtB,EAJH,SAME,oBAAGvhB,UAAWuhB,GAAmB,2BAA6B,8BAA+BthB,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,YAIhI6f,GACC,eAACpe,GAAA,EAAD,CAAKlD,MAAO,CAAEY,UAAW,GAAIO,SAAU,IAAvC,SACE,eAAC8M,GAAA,EAAD,UACE,gCAAOtU,GAAE,qCAGX,YAKV,eAACsU,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,SACE,gBAACqf,GAAA,EAAD,WACE,+BAME,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,gBAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,UACE,6BAAIpG,GAAE,0BADR,IACqC,wBACnC,wBAFF,IAEUA,GAAE,gCAEZ,uBAAMoG,UAAU,2BAAhB,SAA4C8d,KAC5C,qBAAG9d,UAAU,+BAAb,UACE,uBAAMA,UAAU,mBAAhB,SAAoCoe,KADtC,IACqE,uBAAMpe,UAAU,cAAhB,SAA+BpG,GAAE,kCAGxG,eAACsU,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,eAS5D,eAAC+B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKlO,UAAU,aAAf,SACE,sBACEC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2oB,IAAoBD,GACrB,EAJH,SAME,oBAAGzhB,UAAWyhB,GAAkB,2BAA6B,8BAA+BxhB,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,YAI/H+f,GACC,eAACte,GAAA,EAAD,CAAKlD,MAAO,CAAEY,UAAW,GAAIO,SAAU,IAAvC,SACE,eAAC8M,GAAA,EAAD,UACE,gCAAOtU,GAAE,oCAGX,YAKV,eAACsU,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,SACE,gBAACqf,GAAA,EAAD,WACE,+BAME,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,gBAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,UACE,6BAAIpG,GAAE,yBADR,IACoC,wBAClC,wBAFF,IAEUA,GAAE,+BAEZ,uBAAMoG,UAAU,2BAAhB,SAA4Cge,KAC5C,qBAAGhe,UAAU,+BAAb,UACE,uBAAMA,UAAU,oBAAhB,SAAqCse,KADvC,IACqE,uBAAMte,UAAU,cAAhB,SAA+BpG,GAAE,iCAGxG,eAACsU,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,eAS/D,eAAC+B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKlO,UAAU,aAAf,SACE,sBACEC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR6oB,IAAmBD,GACpB,EAJH,SAME,oBAAG3hB,UAAW2hB,GAAiB,2BAA6B,8BAA+B1hB,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,YAI9HigB,GACC,eAACxe,GAAA,EAAD,CAAKlD,MAAO,CAAEY,UAAW,GAAIO,SAAU,IAAvC,SACE,eAAC8M,GAAA,EAAD,UACE,gCAAOtU,GAAE,mCAGX,iBAMd,wBAGA,gBAACuJ,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKlO,UAAU,eAAemO,GAAG,IAAjC,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,6BAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,iBAAtB,SACE,gBAACmD,GAAA,EAAD,CAAKnD,UAAU,qBAAf,UACE,gBAACkO,GAAA,EAAD,WACE,qBAAIlO,UAAU,sCAAd,SAAqDpG,GAAE,kCACvD,qBAAIoG,UAAU,kBAAd,SAAiCpG,GAAE,qCAErC,gBAACsU,GAAA,EAAD,CAAKlO,UAAU,aAAf,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAO,CAAE/N,gBAAmC,UAAlBiuB,EAA4B,QAAUze,GAA4B5K,MAAyB,UAAlBqpB,EAA4Bze,GAA6B,QAASsX,YAAa,EAAG1Y,aAAc,GACnMxJ,MAAmC4K,GACnC5C,QAAS,WACPshB,EAAiB,QAClB,EALH,SAOGxmB,GAAE,+BAEL,eAAC0pB,GAAA,EAAD,CACErjB,MAAO,CAAE/N,gBAAmC,SAAlBiuB,EAA2B,QAAUze,GAA2B5K,MAAyB,SAAlBqpB,EAA2Bze,GAA6B,QAASsX,YAAa,EAAG1Y,aAAc,GAChMxJ,MAAkC4K,GAClC5C,QAAS,WACPshB,EAAiB,OAClB,EALH,SAOGxmB,GAAE,8BAEL,eAAC0pB,GAAA,EAAD,CACErjB,MAAO,CAAE/N,gBAAmC,QAAlBiuB,EAA0B,QAAUze,GAA0B5K,MAAyB,QAAlBqpB,EAA0Bze,GAA6B,QAASsX,YAAa,EAAG1Y,aAAc,GAC7LxJ,MAAiC4K,GACjC5C,QAAS,WACPshB,EAAiB,MAClB,EALH,SAOGxmB,GAAE,qCAKX,eAACylB,GAAA,EAAD,UAEGkB,EAAgBhoB,OAAS,GACxB,sBAAKyH,UAAU,QAAf,SACE,eAAC,QAAD,CACE7J,KAAM,CACJhB,OAAQsrB,EACRjqB,SAAU,CACR,CACEL,KAAMoqB,EACNjqB,MAAOsD,GAAE,6BACT1G,MAAM,EACNhB,gBAAiB,UACjBE,YAAa,UACbmxB,iBAAkB,EAElBC,iBAAkB,QAClBC,WAAY,SACZC,YAAa,EACbC,qBAAsB,qBACtB3yB,YAAa,KAInBqD,QAASwtB,GACTnC,kBAAmB,SAAC3mB,GAAD,OAAOwF,QAAQC,IAAIzF,EAAnB,QAK3B,eAAC6qB,GAAA,EAAD,UACGjD,GAAqBA,EAAkBpoB,OAAS,GAC/C,eAACsrB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAOsD,GAAE,oCACToqB,QAAQ,WACRxsB,MAAO6oB,EACP4D,SAAU,SAAClrB,GACTunB,EAAkBvnB,EAAEwV,OAAO/W,MAC5B,EACD0sB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAVb,SAYG2gB,EAAkBtnB,KAAI,SAACypB,GAAD,OACrB,yBAA8BtrB,MAAOsrB,EAAUtrB,MAA/C,SACGsrB,EAAUlrB,MADAkrB,EAAUtrB,MADF,aAWjC,eAAC0W,GAAA,EAAD,CAAKC,GAAG,IAAR,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,iBAAtB,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,qBAAf,SACE,uBAAKA,UAAU,MAAf,UACE,qBAAIA,UAAU,sCAAd,SAAqDpG,GAAE,gCACvD,qBAAIoG,UAAU,OAAd,SAAsBpG,GAAE,qCAI9B,eAACylB,GAAA,EAAD,UAEGxlB,OAAOX,KAAKokB,GAAU/kB,OAAS,GAC9B,uBAAKyH,UAAU,QAAf,UACGzB,QAAQC,IAAI,iBAAkBqiB,GAC/B,eAAC,OAAD,CACE1qB,KAAM,CACJhB,OAAQ0rB,EACRrqB,SAAU,CACR,CACEF,MAAO,GACPH,KAAMmnB,EAASnnB,KACfjE,gBAAiB,UACjBE,YAAa,aAInBiC,QAAS8tB,uBAW9B,ECziBYiC,GAAiB,SAACllB,EAAStF,GAAV,8CAAgB,WAAOoE,GAAP,iBAAAC,EAAA,sEAE1CD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFE,S3BOVtE,EAAImgB,IAAI,wB2BPE,gBAIrB,aAAb,QADA9jB,EAHkC,EAGlCA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMiG,GAAqB/F,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAElC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GACxByD,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG7JL,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAb/H,kDAiBtCV,cAAYC,QAAQC,IAAR,MACZ5E,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG7JL,wBAAa,CAAEC,QAAS,uDAAwDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE7KE,EAAQG,KAAK,WAxB6B,yBA0B1CrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA1BE,6EAAhB,uDAiMjB1C,GAAoB,SAACZ,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAEnDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFW,SAG5BC,EAAsBvD,GAHM,gBAG3C3E,EAH2C,EAG3CA,KACR6H,EAAS,CAAEE,KAAMwG,GAAsBtG,QAASjI,IAC3B,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,mCAAoCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACzKW,EAAON,KAAK,+BAEO,WAAb,OAAJlJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAXpH,kDAc/CV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAnB4C,yBAsBnDjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtBW,6EAAtB,uDA6BpBimB,GAAc,SAACnlB,EAAStF,GAAV,8CAAgB,WAAOoE,GAAP,iBAAAC,EAAA,6DACzCM,QAAQC,IAAI,SAAU5E,GADmB,SAGvCoE,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHD,S3B5MVtE,EAAImgB,IAAI,2B2B4ME,gBAKlB,aAAb,QADA9jB,EAJ+B,EAI/BA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAM0G,GAAmBxG,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAEhC,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GACxByD,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG7JL,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAdlI,kDAkBnCV,cAAYC,QAAQC,IAAR,MACZ5E,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG7JL,wBAAa,CAAEC,QAAS,uDAAwDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE7KE,EAAQG,KAAK,WAzB0B,yBA2BvCrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA3BD,6EAAhB,uDAsRdrC,GAAe,SAACjB,EAAUoE,EAASolB,GAApB,8CAAkC,WAAOtmB,GAAP,qBAAAC,EAAA,6DACxDK,cAAYC,QAAQC,IAAI,6BADgC,SAG1DR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHkB,SAInCC,EAAiBvD,GAJkB,gBAIlD3E,EAJkD,EAIlDA,KACJmI,cAAYC,QAAQC,IAAI,yBAA0BrI,GAEjC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QACRE,wBAAa,CACXe,MAAO,UACqBb,QAAS,CACnC,CACEvI,MAAO,KACPwI,QAAS,WAEHwlB,IAAcv0B,KAAOiT,QAAP,OAAeshB,QAAf,IAAeA,OAAf,EAAeA,EAAW7H,MAC1Cvd,EAAQG,KAAK,CAAEC,SAAUglB,EAAU7H,KAAMld,MAAO+kB,EAAU/kB,QACjD+kB,GAAav0B,KAAOw0B,UAAP,OAAiBD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAWE,SAClDtlB,EAAQ6a,GAAG,EAEd,MAImB,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SAGfE,wBAAa,CAAEe,MAAO,QAASd,QAAS,6BAA8BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IA3BzG,kDA+BtD,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEe,MAAO,QAASd,QAAS,6BAA8BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAnCzG,yBAsC1DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtCkB,6EAAlC,uD,6DC7ftBqmB,GAAwB,SAAC,GAAD,MAAGC,EAAH,EAAGA,QAASC,EAAZ,EAAYA,WAAYC,EAAxB,EAAwBA,SAAUC,EAAlC,EAAkCA,SAAU9iB,EAA5C,EAA4CA,YAAatD,EAAzD,EAAyDA,OAAQqmB,EAAjE,EAAiEA,cAAeC,EAAhF,EAAgFA,aAA4BrhB,GAA5G,EAA8FshB,aAA9F,EAA4GthB,aAAa0T,EAAzH,EAAyHA,SAAzH,OAC5B,sBAAIhe,GAAIurB,EAAR,UACE,qBAAIphB,MAAM,MAAMtD,MAAO,CAAE4B,WAAY,gBAArC,SACE,eAACsW,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,SACE,qBACEsO,KAAK,IACLxP,QAAS,SAAC/F,GACR+rB,EAAc/rB,EAAG2rB,EAASC,EAC3B,EAJH,UAMGE,EACC,sBAAK7kB,UAAU,6BAAf,SACE,sBAAKqY,IAAKuM,EAAUrM,IAAKsM,MAEzB,KACJ,eAAC1M,GAAA,EAAD,UACE,uBAAMnY,UAAU,eAAhB,mBAAgCjQ,KAAOizB,KAAK5L,EAAU,CAAEne,KAAM2rB,WAA9D,aAAgC,EAA2CvV,gBAKnF,wBACA,qBAAIpP,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CE,IAC5C,qBAAI/B,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRgsB,EAAahsB,EAAG2rB,EAASC,EAC1B,EALH,SAOE,oBAAG3kB,UAAU,cAAcC,MAAO,CAAEnJ,MAAO4K,UAG/C,eAACQ,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAG2rB,EAASC,EAAYlmB,EACrC,EALH,SAOGA,EAAS,eAAC,KAAD,CAAoBwB,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,UAGpI,eAACQ,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR+rB,EAAc/rB,EAAG2rB,EAASC,EAC3B,EALH,SAOE,eAAC,KAAD,CAAkB1kB,MAAO,CAAEnJ,MAAO4K,iBAvDhB,EAiNfujB,GAlJD,WAEZ,IAAMjnB,EAAWsE,cACXpD,EAAUqD,cAGV2iB,GAFWziB,cAEMC,aAAY,SAACnD,GAAD,OAAWA,EAAM6J,MAAMlB,YAAvB,KACnC3J,QAAQC,IAAI,iBAAkB0mB,GAC9B,IAAM9N,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IACzB5M,cAAYC,QAAQC,IAAI,aAAc4Y,GAE1CzU,qBAAU,WAER3E,EAASomB,MACTpmB,EAAS2Q,KACV,GAAE,IAEH,IAAMlG,EAAoB/F,aAAY,SAACnD,GAAD,OAAWA,EAAM6J,MAAMX,iBAAvB,IACtC9F,qBAAU,WACJ8F,IAAsB1Y,KAAOiT,QAAQyF,IACvCzK,EAASomB,KAEZ,GAAE,CAAC3b,IAGJ,IAAM0c,EAAsB,SAACpsB,EAAG2rB,EAASC,GACvC5rB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,4BAA6BC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,IACpG,EA8BKW,EAA0B,SAACvsB,EAAG2rB,EAASC,GAC3C5rB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,iCAAkCC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,EAAYvN,SAAUA,IAC/H,EAEKmO,EAA4B,SAACxsB,EAAG2rB,EAASC,EAAYlmB,GACzD1F,EAAE8J,iBACF7E,EAAStC,GAAkB,CAAE8pB,aAAcd,EAASe,gBAAiBd,EAAYe,SAAUjnB,GAAUS,GACtG,EAEKymB,EAAyB,SAAC5sB,EAAG2rB,EAASC,GAC1C5rB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,IACxG,EAED,OACE,uCACE,eAAC,GAAD,IAEA,eAACzkB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACG+kB,GAAkBA,EAAe3sB,OAAS,EACzC,sBAAKyH,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,sBAAKA,UAAU,iBAAf,SACE,qBAAIA,UAAU,OAAd,SAAsBklB,EAAe,GAAGU,UAG1C,sBAAK5lB,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,aAAf,SACE,sBACEM,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IA7DD,SAACA,EAAG2rB,EAASE,GAC1C7rB,EAAE8J,iBACFtE,QAAQC,IAAI,WAAYomB,GAExB,IAAIiB,EAAY91B,KAAO+1B,OAAO1O,GAAU,SAAU2O,GAChD,OAAOh2B,KAAOizB,KAAK4B,EAAU,CAAEA,SAAUmB,EAAY9sB,MACtD,IACGqF,cAAYC,QAAQC,IAAI,YAAaqnB,GACrC91B,KAAOiT,QAAQ6iB,GACjBlnB,wBAAa,CACXe,MAAO,QACPd,QAAS,0CACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAQ,IAGrBC,eAAe,EACfC,qBAAqB,IAGvBE,EAAQG,KAAK,CAAEC,SAAU,iCAAkCC,MAAO,CAAE6lB,WAAYV,EAAStN,SAAUyO,IAEtG,CAsCuBG,CAAuBjtB,EAAGmsB,EAAe,GAAGzlB,IAAKylB,EAAe,GAAGN,SACpE,EALH,SAOE,oBACE5kB,UAAU,qBACVC,MAAO,CACLmB,SAAU,GACVtK,MAAO4K,iBAQrB,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,sBACA,qBAAIA,MAAM,QACV,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACC1J,OAAOmV,OAAOkW,EAAe,GAAGN,UAAUvrB,KAAI,SAAC4sB,EAAUpzB,GACxD,OACE,eAAC,GAAD,CAEE6xB,QAASQ,EAAe,GAAGzlB,IAC3BklB,WAAYsB,EAASxmB,IACrBmlB,SAAUqB,EAASrB,SACnB7iB,YAAakkB,EAASlkB,YACtBtD,OAAQwnB,EAASxnB,OACjBqmB,cAAeK,EACfJ,aAAcO,EACdY,iBAAkBP,EAClBjiB,YAAa6hB,EACbnO,SAAUA,GAVLvkB,EAaV,eAKP,SAIX,E,SC3NKszB,GAAY,CAChBzZ,UAAW,CACT0Z,GAAI,OAASt2B,EAAQ,KAAwCwD,QAAU,IACvE+yB,GAAI,OAASv2B,EAAQ,KAA0CwD,QAAU,KAE3EgzB,IAAK,CACHF,GAAI,OAASt2B,EAAQ,KAAkCwD,QAAU,IACjE+yB,GAAI,OAASv2B,EAAQ,KAAoCwD,QAAU,KAErEizB,eAAgB,CACdH,GAAI,OAASt2B,EAAQ,KAA6CwD,QAAU,IAC5E+yB,GAAI,OAASv2B,EAAQ,KAA+CwD,QAAU,KAEhFkzB,UAAW,CACTJ,GAAI,OAASt2B,EAAQ,KAAwCwD,QAAU,IACvE+yB,GAAI,OAASv2B,EAAQ,KAA0CwD,QAAU,KAE3EmhB,MAAO,CACL2R,GAAI,KACJC,GAAI,OAASv2B,EAAQ,KAA+CwD,QAAU,MA0HnEwpB,GAtHA,SAAC9kB,GAAW,IAAD,IAOxB,OALA2K,qBAAU,WAET,GAAE,IAID,sBACE1C,MAAO,CACL/N,gBAAiB,UACjB6qB,gBAAsB,OAAL/kB,QAAK,IAALA,KAAOyuB,MAAP,UAAeN,GAAUnuB,EAAMyuB,cAA/B,aAAe,EAAwBJ,GAAK,KAC7DrJ,eAAgB,QAChBC,mBAAoB,cALxB,SAQE,sBACEjd,UAAU,2BACVC,MAAO,CACL8c,gBAAsB,OAAL/kB,QAAK,IAALA,KAAOyuB,MAAP,UAAeN,GAAUnuB,EAAMyuB,cAA/B,aAAe,EAAwBL,GAAK,KAC7DpJ,eAAgB,UAChBE,iBAAkB,YAClBD,mBAAoB,cANxB,SAUE,eAAC/c,GAAA,EAAD,CAAWC,OAAK,EAACF,MAAO,CAAEG,UAAW,UA0F5C,EChIKqkB,GAAwB,SAAC,GAAD,MAAGE,EAAH,EAAGA,WAAYC,EAAf,EAAeA,SAAUxN,EAAzB,EAAyBA,SAAUL,EAAnC,EAAmCA,aAAnC,OAC5B,qBAAI3d,GAAIurB,EAAY1kB,MAAO,CAAE8Y,UAAWhC,GAAxC,SACE,qBAAI9W,MAAO,CAAE4B,WAAY,eAAgBiU,OAAQ,EAAG/gB,QAAS,GAA7D,SACE,wCAAKhF,KAAOizB,KAAK5L,EAAU,CAAEne,KAAM2rB,WAAnC,aAAK,EAA2CvV,UAHxB,EASxBqX,GAAwB,SAAC,GAAD,IAAGC,EAAH,EAAGA,MAAOC,EAAV,EAAUA,SAAV,EAAoBhC,SAApB,EAA8BzN,MAA9B,MACX,UADW,EAAqCJ,aAE/D,qBAAI3d,GAAIutB,EAAR,SACE,qBAAI1mB,MAAO,CAAE4B,WAAY,eAAgBiU,OAAQ,EAAG/gB,QAAS,EAAG+B,MAAO,WAAvE,SACE,sBAAKkJ,UAAU,MAAMC,MAAO,CAAEK,aAAc,GAAIO,UAAW,IAA3D,SACE,sBAAKgmB,MAAM,uBAAX,SACE,6BAAID,YAOZ,qBAAIxtB,GAAIutB,EAAR,SACE,qBAAI1mB,MAAO,CAAE4B,WAAY,eAAgBiU,OAAQ,EAAG/gB,QAAS,EAAG+B,MAAO,WAAvE,SACE,sBAAKkJ,UAAU,MAAMC,MAAO,CAAE6mB,WAAY,GAAIxmB,aAAc,GAAIO,UAAW,IAA3E,SACE,6BAAI+lB,SAhBgB,EAuBxBG,GAAsB,SAAC,GAAD,IAAGC,EAAH,EAAGA,SAAU3T,EAAb,EAAaA,OAAyB0D,GAAtC,EAAqB6N,SAArB,EAA+BzN,MAA/B,EAAsCJ,cAAtC,MACT,UAAjBA,EACE,qBAAI3d,GAAI4tB,EAAR,SACE,qBAAI/mB,MAAO,CAAE4B,WAAY,eAAgBiU,OAAQ,EAAG/gB,QAAS,GAA7D,SACE,sBAAKiL,UAAU,MAAMC,MAAO,CAAEK,aAAc,GAAIO,UAAW,IAA3D,SACE,sBAAKgmB,MAAM,uBAAX,SAAmCxT,UAMzC,qBAAIja,GAAI4tB,EAAU/mB,MAAO,CAAE8Y,UAAWhC,GAAtC,SACE,qBAAI9W,MAAO,CAAE4B,WAAY,eAAgBiU,OAAQ,EAAG/gB,QAAS,GAA7D,SACE,sBAAKiL,UAAU,MAAMC,MAAO,CAAE6mB,WAAY,GAAIxmB,aAAc,GAAIO,UAAW,IAA3E,SACGwS,OAdiB,EAgXb4T,GA3VH,WAEV,IAAMjpB,EAAWsE,cACXpD,EAAUqD,cAGV2iB,GAFWziB,cAEMC,aAAY,SAACnD,GAAD,OAAWA,EAAM6J,MAAMlB,YAAvB,KAC7Bgf,EAAoBxkB,aAAY,SAACnD,GAAD,OAAWA,EAAM6J,MAAMT,SAAvB,IAItC,EAAsCmO,mBAAS,GAA/C,oBAAOqQ,EAAP,KAAoBC,EAApB,KACA,EAA8CtQ,mBAAS,IAAvD,oBAAOuQ,EAAP,KAAwBC,EAAxB,KACA,EAA0CxQ,mBAAS,GAAnD,oBAAOyQ,EAAP,KAAsBC,EAAtB,KAEA,EAAkC1Q,mBAAS,IAA3C,oBAAO2Q,EAAP,KACA,GADA,KAC4C3Q,mBAAS,KAArD,oBAAO4Q,EAAP,KAAuBC,EAAvB,KAEMvQ,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IACzB5M,cAAYC,QAAQC,IAAI,mBAAoB0mB,GAC5C5mB,cAAYC,QAAQC,IAAI,aAAc4Y,GAG1C,MAA8BN,mBAAS,MAAvC,oBAEA,GAFA,UAE0BA,mBAAS,OAAnC,oBAEA,GAFA,UAEoCA,mBAAS,OAA7C,oBAAO6N,EAAP,KAEA,GAFA,KAEgC7N,mBAAS,OAAzC,oBAAO8N,EAAP,KAEA,GAFA,KAEsD9N,mBAAS,OAA/D,oBACA,GADA,UACuCA,mBAAS,KAAhD,oBAEA,GAFA,UAEsBA,mBAAS,OAA/B,oBAAc8Q,GAAd,WACA,EAAiC9Q,mBAAS,MAA1C,oBAAiB+Q,GAAjB,WAEA,EAAwC/Q,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KACA,EAAoBhJ,eAAZpU,EAAR,EAAQA,EAEFqd,IAFN,EAAWhJ,KAEUvL,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,KACjC5M,QAAQC,IAAI,eAAgByY,IAC5BtU,qBAAU,WAAO,IAAD,EAEd3E,EAASomB,GAAellB,EAAStF,IACjCoE,EAASqmB,GAAYnlB,EAAStF,IAC9BoE,EAAS2Q,MACT,IAAIM,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,IACEA,GAAaG,UACbvd,OAAOmV,OAAOiI,GAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAACC,KAEJtU,qBAAU,WACJiiB,GAAYD,IACdiD,EAAKhD,EAASnlB,KACdooB,EAAajD,EAASgB,OAEzB,GAAE,CAACV,EAAgBgC,IAGpBvkB,qBAAU,WAAO,IAAD,EAEVmlB,EAAc/3B,KAAOyT,OAAP,UAAc0hB,EAAe,UAA7B,aAAc,EAAmBN,UAAU,SAAUhtB,GACrE,OAAOA,EAAKgtB,SAASpyB,QAAQi1B,IAAc,CAC5C,IACDE,EAAkBG,EACnB,GAAE,CAAC5C,EAAgBuC,IAGpB9kB,qBAAU,WAIR,GAHIrE,cAAYC,QAAQC,IAAI,0BAA2BkpB,EAAenvB,QAClE+F,cAAYC,QAAQC,IAAI,gBAAiBkpB,GAE/B,UAAVlQ,GAAmB,CACrB,IAAIuQ,EAAmBv2B,KAAKw2B,KAAKN,EAAenvB,OA7E/B,GAiFjB,GAHAivB,EAAiBO,GAGbL,GAAkBA,EAAenvB,OAAS,EAAG,CAE/C,IAAI0vB,EAnFW,GAmFGd,EAAc,GAAoB,EAAI,EAnFzC,GAmF8CA,EAAc,GACvEe,EApFW,EAoFAf,EAA6BO,EAAenvB,OAASmvB,EAAenvB,OApFpE,EAoF6E4uB,EAExFgB,EAAep4B,KAAOoE,MAAMuzB,EAAgBO,EAAYC,GACxDC,GAAgBA,EAAa5vB,OAAS,EACxC+uB,EAAmBa,GAEnBb,EAAmB,GAEtB,MACCA,EAAmB,IAEjBhpB,cAAYC,QAAQC,IAAI,YAAa6oB,EAC1C,MACCC,EAAmBI,GAmBfppB,cAAYC,QAAQC,IAAI,YAAa6oB,EAE5C,GAAE,CAACF,EAAaO,IAEjB,IAAInQ,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACnBC,GAAQD,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,MAAQN,GAAMzM,KAAK+M,MAAQ,UAGxF,OAFInZ,cAAYC,QAAQC,IAAI,QAAS+Y,IAGnC,uCACE,eAAC6Q,GAAD,CAAc3B,MAAM,QAIpB,eAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACG+kB,EAAe3sB,OAAS,GACvBsB,OAAOmV,OAAO,CAACkW,EAAe,KAAK7rB,KAAI,SAACrB,EAAOnF,GAC7C,OACE,eAACsQ,GAAA,EAAD,CAAanD,UAAqB,OAAiB5G,GAAIpB,EAAMoB,GAA7D,SACE,sBAAK4G,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,sBAAKA,UAAU,iBAAf,SACE,qBAAIA,UAAU,OAAOC,MAAO,CAAE8Y,UAAWhC,GAAzC,SACGnd,EAAE,OAAS5B,EAAM4tB,eAO1B,eAACvG,GAAA,EAAD,UACE,eAAC/b,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,SAIa,UAAVgjB,GACG3d,OAAOmV,OAAOqY,GAAiBhuB,KAAI,SAAC4sB,EAAUpzB,GAE5C,OADIyL,cAAYC,QAAQC,IAAI,MAAOynB,GAEjC,iCACE,uCACE,eAAC,GAAD,CAEEL,MAAO5tB,EAAM4tB,MACb7jB,YAAa/J,EAAM+J,YACnB2iB,QAAS1sB,EAAMyH,IACfklB,WAAYsB,EAASxmB,IACrBmlB,SAAUqB,EAASrB,SAEnBnmB,OAAQwnB,EAASxnB,OACjB2Y,SAAUA,GARLvkB,GAUN9C,KAAOyT,OAAO0jB,EAAmB,CAChCtC,SAAUqB,EAASxmB,MAClBpG,KAAI,SAAC3G,EAAO21B,GAKb,OACE,mCACE,eAAC,GAAD,CAAuB1B,MAAOj0B,EAAOk0B,SAAUl0B,EAAMk0B,SAAU0B,aAAc51B,EAAMqP,YAAa6iB,SAAUqB,EAASrB,WAElH/qB,OAAOmV,OAAOtc,EAAM2gB,QAAQha,KAAI,SAACkvB,EAAKC,GACrC,OAAO,eAAC,GAAD,CAAqBxB,SAAUuB,EAAI9oB,IAAK4T,OAAQkV,EAAIlV,OAAQoV,eAAgBF,EAAIxmB,YAAa6iB,SAAUqB,EAASrB,UACxH,MAGN,QAIR,IACuB,MAAxBzN,GAAMzM,KAAK0M,UAAoBrnB,KAAOyT,OAAO6jB,EAAiB,CAAEzC,SAAUzN,GAAMzM,KAAK0M,SAAU3Y,QAAQ,IAAQlG,OAAS,EACxHsB,OAAOmV,OAAOjf,KAAOyT,OAAO6jB,EAAiB,CAAEzC,SAAUzN,GAAMzM,KAAK0M,SAAU3Y,QAAQ,KAASpF,KAAI,SAAC4sB,EAAUpzB,GAG5G,OAFIyL,cAAYC,QAAQC,IAAI,MAAOynB,GAGjC,iCACE,uCACE,eAAC,GAAD,CAEEL,MAAO5tB,EAAM4tB,MACb7jB,YAAa/J,EAAM+J,YACnB2iB,QAAS1sB,EAAMyH,IACfklB,WAAYsB,EAASxmB,IACrBmlB,SAAUqB,EAASrB,SAEnBnmB,OAAQwnB,EAASxnB,OACjB2Y,SAAUA,EACVL,aAAcA,GATTlkB,GAWN9C,KAAOyT,OAAO0jB,EAAmB,CAChCtC,SAAUqB,EAASxmB,MAClBpG,KAAI,SAAC3G,EAAO21B,GAKb,OACE,mCACE,eAAC,GAAD,CAAuB1B,MAAOj0B,EAAOk0B,SAAUl0B,EAAMk0B,SAAU0B,aAAc51B,EAAMqP,YAAa6iB,SAAUqB,EAASrB,SAAU7N,aAAcA,IAE1Ild,OAAOmV,OAAOtc,EAAM2gB,QAAQha,KAAI,SAACkvB,EAAKC,GACrC,OAAO,eAAC,GAAD,CAAqBxB,SAAUuB,EAAI9oB,IAAK4T,OAAQkV,EAAIlV,OAAQoV,eAAgBF,EAAIxmB,YAAa6iB,SAAUqB,EAASrB,SAAU7N,aAAcA,GAChJ,MAGN,QAIR,KACDI,GAAMzM,KAAK0M,SACXvd,OAAOmV,OAAOjf,KAAOyT,OAAO6jB,EAAiB,CAAEzC,SAAU,QAASvrB,KAAI,SAAC4sB,EAAUpzB,GAG/E,OAFIyL,cAAYC,QAAQC,IAAI,MAAOynB,GAGjC,iCACE,uCACE,eAAC,GAAD,CAEEL,MAAO5tB,EAAM4tB,MACb7jB,YAAa/J,EAAM+J,YACnB2iB,QAAS1sB,EAAMyH,IACfklB,WAAYsB,EAASxmB,IACrBmlB,SAAUqB,EAASrB,SAEnBnmB,OAAQwnB,EAASxnB,OACjB2Y,SAAUA,EACVL,aAAcA,GATTlkB,GAWN9C,KAAOyT,OAAO0jB,EAAmB,CAChCtC,SAAUqB,EAASxmB,MAClBpG,KAAI,SAAC3G,EAAO21B,GAKb,OACE,mCACE,eAAC,GAAD,CAAuB1B,MAAOj0B,EAAOk0B,SAAUl0B,EAAMk0B,SAAU0B,aAAc51B,EAAMqP,YAAa6iB,SAAUqB,EAASrB,SAAU7N,aAAcA,IAE1Ild,OAAOmV,OAAOtc,EAAM2gB,QAAQha,KAAI,SAACkvB,EAAKC,GACrC,OAAO,eAAC,GAAD,CAAqBxB,SAAUuB,EAAI9oB,IAAK4T,OAAQkV,EAAIlV,OAAQoV,eAAgBF,EAAIxmB,YAAa6iB,SAAUqB,EAASrB,SAAU7N,aAAcA,GAChJ,MAGN,QAIR,SAyCT,eAAC6M,GAAA,EAAD,UACE,eAACzgB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACGoK,GAAiBA,EAAgB,EAChC,eAAC,KAAD,CACEmB,QAASvB,EACTwB,MAAOpB,EACPqB,aAAc,SAACF,GACbtB,EAAesB,EAChB,IAED,iBA5LN71B,EAoMb,QAIV,EC7YK6zB,GAAwB,SAAC,GAAD,IAAGC,EAAH,EAAGA,MAAOC,EAAV,EAAUA,SAAoC7P,GAA9C,EAAoB4N,WAApB,EAAgC2D,aAAhC,EAA8CvR,cAA9C,OAC5B,eAAC5T,GAAA,EAAD,CAAK/J,GAAIutB,EAAT,SACE,eAACzY,GAAA,EAAD,CAAKjO,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO,UAAWiiB,UAAWhC,IAAiB1G,GAAiBA,GAAiBC,IAA1H,SACE,6BAAIsW,OAHoB,EAQxBG,GAAsB,SAAC,GAAD,IAAGC,EAAH,EAAGA,SAAU3T,EAAb,EAAaA,OAAwB0D,GAArC,EAAqB0R,eAArB,EAAqC1R,cAArC,OAC1B,eAAC5T,GAAA,EAAD,CAAK/J,GAAI4tB,EAAT,SACE,eAAC9Y,GAAA,EAAD,CAAKjO,MAAO,CAAE4B,WAAY,eAAgBkX,UAAWhC,IAAiB1G,GAAiBA,GAAiBC,IAAxG,SACE,6BACE,6BAAI+C,SAJgB,EAuIbwV,GA7HG,SAAC7wB,GAAW,IAAD,IAErBgG,EAAWsE,cACXpD,EAAUqD,cAGV2iB,GAFWziB,cAEMC,aAAY,SAACnD,GAAD,OAAWA,EAAM6J,MAAMlB,YAAvB,KAC7Bgf,EAAoBxkB,aAAY,SAACnD,GAAD,OAAWA,EAAM6J,MAAMT,SAAvB,IAEtC,EAAoCmO,mBAAS,MAA7C,oBAAO6N,EAAP,KAEA,GAFA,KAEgC7N,mBAAS,OAAzC,oBAAO8N,EAAP,KAEA,GAFA,KAEsB9N,mBAAS,OAA/B,oBAAc8Q,GAAd,WACA,EAAiC9Q,mBAAS,MAA1C,oBAAiB+Q,GAAjB,WAEA,EAAwC/Q,mBAASxG,IAAjD,oBAAOyG,EAAP,KAAqBC,EAArB,KACA,EAAwCF,mBAAQ,OAAC9e,QAAD,IAACA,GAAD,UAACA,EAAOgkB,gBAAR,iBAAC,EAAiBzc,aAAlB,aAAC,EAAwBqR,cAAzE,oBAAOA,EAAP,KAAqBkY,EAArB,KAEA,EAAoB9a,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEXtL,qBAAU,WAER3E,EAASomB,GAAellB,EAAStF,IACjCoE,EAASqmB,GAAYnlB,EAAStF,GAC/B,GAAE,IAGH,IAAMmvB,EAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IA2B7B,OA1BI7M,cAAYC,QAAQC,IAAI,eAAgBuqB,GAE5CpmB,qBAAU,WACRomB,GACEA,EAAS3R,UACTvd,OAAOmV,OAAO+Z,EAAS3R,UAAU/d,KAAI,SAACge,EAAMxkB,GACtCwkB,GAAqB,QAAbA,EAAKC,IACfN,EAAgB3G,IAEhB2G,EAAgB1G,IAElB,IAAMrB,EAAS,CAAE2B,aAAcyG,EAAKpe,MACpC+E,EAASV,GAAyB2R,EAAQ/P,IAE1C+O,EAAKiJ,eAAeG,EAAKpe,MACzB6vB,EAAgBzR,EAAKpe,KACtB,GACJ,GAAE,CAAC8vB,IAEJpmB,qBAAU,WACJiiB,GAAYD,IACdiD,EAAKhD,EAASnlB,KACdooB,EAAajD,EAASgB,OAEzB,GAAE,CAACV,EAAgBgC,IAGlB,uCACE,eAAC,GAAD,IAIA,eAAChnB,GAAA,EAAD,CAAWF,UAAU,QAArB,SACGklB,EAAe3sB,OAAS,GACvB,CAAC2sB,EAAe,IAAI7rB,KAAI,SAACrB,EAAOnF,GAC9B,OACE,eAACsQ,GAAA,EAAD,CAAanD,UAAU,OAAO5G,GAAIpB,EAAMoB,GAAxC,SACE,sBAAK4G,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,sBAAKA,UAAU,iBAAf,SACE,qBAAIA,UAAU,OAAOC,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiBA,GAAiBC,IAA5F,SAA8G1W,EAAE,iDAMtH,eAACylB,GAAA,EAAD,UACItvB,KAAOiT,QAAQjT,KAAOyT,OAAOxL,EAAM4sB,SAAU,CAAEA,SAAUhU,KAkBvD/W,OAAOmV,OAAOjf,KAAOyT,OAAOxL,EAAM4sB,SAAU,CAAEA,SAAU,QAASvrB,KAAI,SAAC4sB,EAAUpzB,GAChF,OACE,qCACG9C,KAAOyT,OAAO0jB,EAAmB,CAAEtC,SAAUqB,EAASxmB,MAAOpG,KAAI,SAAC3G,EAAO21B,GACxE,OACE,uBAAKpoB,MAAO,CAAEK,aAAc,IAA5B,UACE,eAAC,GAAD,CAAuBqmB,MAAOj0B,EAAOk0B,SAAUl0B,EAAMk0B,SAAU0B,aAAc51B,EAAMqP,YAAagV,aAAcA,IAE7Gld,OAAOmV,OAAOtc,EAAM2gB,QAAQha,KAAI,SAACkvB,EAAKC,GACrC,OAAO,eAAC,GAAD,CAAqBxB,SAAUuB,EAAI9oB,IAAK4T,OAAQkV,EAAIlV,OAAQoV,eAAgBF,EAAIxmB,YAAagV,aAAcA,GACnH,MAGN,KAGN,IAjCCld,OAAOmV,OAAOjf,KAAOyT,OAAOxL,EAAM4sB,SAAU,CAAEA,SAAUhU,KAAiBvX,KAAI,SAAC4sB,EAAUpzB,GACxF,OACE,qCACG9C,KAAOyT,OAAO0jB,EAAmB,CAAEtC,SAAUqB,EAASxmB,MAAOpG,KAAI,SAAC3G,EAAO21B,GACxE,OACE,uBAAKpoB,MAAO,CAAEK,aAAc,IAA5B,UACE,eAAC,GAAD,CAAuBqmB,MAAOj0B,EAAOk0B,SAAUl0B,EAAMk0B,SAAU0B,aAAc51B,EAAMqP,YAAagV,aAAcA,IAE7Gld,OAAOmV,OAAOtc,EAAM2gB,QAAQha,KAAI,SAACkvB,EAAKC,GACrC,OAAO,eAAC,GAAD,CAAqBxB,SAAUuB,EAAI9oB,IAAK4T,OAAQkV,EAAIlV,OAAQoV,eAAgBF,EAAIxmB,YAAagV,aAAcA,GACnH,MAGN,KAGN,YA9BDlkB,EAsDb,QAIV,ECnJK6zB,GAAwB,SAAC,GAAD,IAAGhC,EAAH,EAAGA,QAASC,EAAZ,EAAYA,WAAYgC,EAAxB,EAAwBA,MAAOC,EAA/B,EAA+BA,SAAU7kB,EAAzC,EAAyCA,YAAainB,EAAtD,EAAsDA,cAAeC,EAArE,EAAqEA,aAAcC,EAAnF,EAAmFA,eAAnF,OAC5B,sBAAI9vB,GAAIutB,EAAR,UACE,qBAAI1mB,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoFklB,IACpF,qBAAI3mB,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CE,IAC5C,qBAAI/B,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRkwB,EAAalwB,EAAG2rB,EAASC,EAAYgC,EACtC,EALH,SAOE,oBAAG3mB,UAAU,cAAcC,MAAO,CAAEnJ,MAAO4K,UAG/C,eAACQ,GAAA,EAAD,CAASxC,MAAM,SAASyC,OAAK,EAA7B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBoqB,EAAenwB,EAAG4tB,EACnB,IAGL5nB,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,sBAAsBC,MAAO,CAAEnJ,MAAO4K,UAGvD,eAACQ,GAAA,EAAD,CAASxC,MAAM,cAAcyC,OAAK,EAAlC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRiwB,EAAcjwB,EAAG2rB,EAASC,EAAYgC,EACvC,EALH,SAOE,eAAC,KAAD,CAAkB1mB,MAAO,CAAEnJ,MAAO4K,iBAhDhB,EAqPfynB,GA7LO,SAACnxB,GAErB,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA8BuU,mBAAS,MAAvC,oBAAO4N,EAAP,KAAgB0E,EAAhB,KAEA,EAA0BtS,mBAAS,MAAnC,oBAAO8O,EAAP,KAAcyD,EAAd,KAEA,EAAgDvS,mBAAS,MAAzD,oBAAyBwS,GAAzB,WAEA,EAAoCxS,mBAAS,MAA7C,oBAAO6N,EAAP,KAAmB4E,EAAnB,KAEA,EAAgCzS,mBAAS,MAAzC,oBAAO8N,EAAP,KAAiB4E,EAAjB,KAEA,EAAsD1S,mBAAS,MAA/D,oBAAO2S,EAAP,KAA4BC,EAA5B,KAUMC,EAAejnB,aARE,SAACnD,GAAW,IAAD,EAC1BqqB,EAAS,UAAGrqB,EAAM6J,MAAMlB,oBAAf,aAAG,EAA0B1E,QAAO,SAAC5L,GAAU,IAAD,EAC3D,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB6lB,WAC3C,IACD,GAAIwE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAaKC,EAVoB,SAACF,GAAkB,IAAD,IACpCC,GACQ,OAAZD,QAAY,IAAZA,GAAA,UAAAA,EAAc/E,gBAAd,eAAwBrsB,QAAS,IAAjC,OACAoxB,QADA,IACAA,GADA,UACAA,EAAc/E,gBADd,aACA,EAAwBphB,QAAO,SAAC5L,GAAU,IAAD,EACvC,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB8lB,cAC3C,KACH,GAAIuE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,CACuBE,CAAkBH,GAUpCI,EAAsBrnB,aARD,SAACnD,GAAW,IAAD,EAC9BqqB,EAAS,UAAGrqB,EAAM6J,MAAMT,iBAAf,aAAG,EAAuBnF,QAAO,SAAC5L,GAAU,IAAD,EACxD,OAAOA,EAAKgtB,YAAL,UAAkB5sB,EAAMgkB,SAASzc,aAAjC,aAAkB,EAAsB8lB,cAChD,IACD,GAAIuE,EACF,OAAOA,CAEV,IAEDjnB,qBAAU,WAER3E,EAASomB,MAETpmB,EAASqmB,KACV,GAAE,IAEH1hB,qBAAU,WACJgnB,GAAgBA,EAAalqB,MAC/B2pB,EAAWO,EAAalqB,KACxB4pB,EAASM,EAAa/D,OACtB0D,EAAoBK,EAAa5nB,cAE/B8nB,GAAmBA,EAAgBpqB,MACrC8pB,EAAcM,EAAgBpqB,KAC9B+pB,EAAYK,EAAgBjF,UAC5B8E,EAAuBG,EAAgB9nB,aAE1C,GAAE,CAAC4nB,EAAcE,IAGlB,IAAMG,EAAsB,SAACjxB,EAAG2rB,EAASC,EAAYsF,GACnDlxB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,0BAA2BC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,EAAYuF,cAAeD,IAC7H,EAOKE,EAA0B,SAACpxB,EAAG2rB,EAASC,EAAYsF,GACvDlxB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,EAAYuF,cAAeD,IACnI,EAEKG,EAAuB,SAACrxB,EAAGkxB,GAC/BlxB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,8BAA+BC,MAAO,CAAE2qB,cAAeD,IACjF,EAEKI,EAA0B,SAACtxB,EAAGkxB,GAClClxB,EAAE8J,iBAMF7E,EAASjC,GADM,CAAEuuB,gBAAiBL,GACF/qB,EALhB,CACdud,KAAM,6BACNld,MAAO,CAAC,IAIX,EAED,OACE,uCACE,eAAC,GAAD,IAEA,eAACW,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,mCAAQ4lB,GAASA,EAAjB,qBACA,qBAAI5lB,UAAU,OAAd,SAAsB4kB,GAAYA,IAClC,qBAAI5kB,UAAU,OAAd,SAAsBypB,GAAuBA,OAE/C,sBAAKzpB,UAAU,2BAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,eAAf,SACE,sBACEM,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IA7CD,SAACA,EAAG2rB,EAASC,GAC1C5rB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,IACxG,CA2CuBgB,CAAuB5sB,EAAG2rB,EAASC,EACpC,EALH,SAOE,oBACE3kB,UAAU,qBACVC,MAAO,CACLmB,SAAU,GACVtK,MAAO4K,iBAQrB,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCwmB,EAAoBxxB,OAAS,GAC5BsB,OAAOmV,OAAO+a,GAAqB1wB,KAAI,SAACrB,EAAOnF,GAC7C,OACE,eAAC,GAAD,CAEE6xB,QAASA,EACTC,WAAYA,EACZgC,MAAO3uB,EAAMyH,IACbmnB,SAAU5uB,EAAM4uB,SAChB2D,MAAOvyB,EAAMuyB,MACbxoB,YAAa/J,EAAM+J,YACnBtD,OAAQzG,EAAMyG,OACduqB,cAAegB,EACff,aAAckB,EACdK,eAAgBJ,EAChBlB,eAAgBmB,GAXXx3B,EAcV,UAGP,eAAC+wB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,+BACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQG,KAAK,CAAEC,SAAU,8BAC1B,EALH,mCAkBnB,EC1OKynB,GAAsB,SAAC,GAAD,IAAGkD,EAAH,EAAGA,WAAYjD,EAAf,EAAeA,SAAU3T,EAAzB,EAAyBA,OAAetR,GAAxC,EAAiCwoB,MAAjC,EAAwCxoB,aAAqB0oB,GAA7D,EAAqDhsB,OAArD,EAA6DgsB,YAA0BC,GAAvF,EAAyEC,aAAzE,EAAuFD,cAAvF,OAC1B,sBAAItxB,GAAI4tB,EAAR,UACE,qBAAI/mB,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CwR,IAC5C,qBAAIpT,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CE,IAC5C,qBAAI/B,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0xB,EAAW1xB,EAAGkxB,EAAYjD,EAC3B,EALH,SAOE,oBAAGhnB,UAAU,cAAcC,MAAO,CAAEnJ,MAAO4K,UAG/C,eAACQ,GAAA,EAAD,CAASxC,MAAM,SAASyC,OAAK,EAA7B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrB4rB,EAAa3xB,EAAGkxB,EAAYjD,EAC7B,IAGLjoB,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,sBAAsBC,MAAO,CAAEnJ,MAAO4K,iBArCnC,EAqObkpB,GAxLO,SAAC5yB,GAErB,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA8BuU,mBAAS,MAAvC,oBAAgBsS,GAAhB,WAEA,EAA0BtS,mBAAS,MAAnC,oBAAO8O,EAAP,KAAcyD,EAAd,KAEA,EAAgDvS,mBAAS,MAAzD,oBAAyBwS,GAAzB,WAEA,EAAoCxS,mBAAS,MAA7C,oBAAmByS,GAAnB,WAEA,EAAgCzS,mBAAS,MAAzC,oBAAO8N,EAAP,KAAiB4E,EAAjB,KAEA,EAAsD1S,mBAAS,MAA/D,oBAA4B4S,GAA5B,WAUMC,EAAejnB,aARE,SAACnD,GAAW,IAAD,EAC1BqqB,EAAS,UAAGrqB,EAAM6J,MAAMlB,oBAAf,aAAG,EAA0B1E,QAAO,SAAC5L,GAAU,IAAD,EAC3D,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB6lB,WAC3C,IACD,GAAIwE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAaKC,EAVoB,SAACF,GAAkB,IAAD,IACpCC,GACQ,OAAZD,QAAY,IAAZA,GAAA,UAAAA,EAAc/E,gBAAd,eAAwBrsB,QAAS,IAAjC,OACAoxB,QADA,IACAA,GADA,UACAA,EAAc/E,gBADd,aACA,EAAwBphB,QAAO,SAAC5L,GAAU,IAAD,EACvC,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB8lB,cAC3C,KACH,GAAIuE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,CACuBE,CAAkBH,GAUpCkB,EAAcnoB,aARM,SAACnD,GAAW,IAAD,EAC7BqqB,EAAS,UAAGrqB,EAAM6J,MAAMT,iBAAf,aAAG,EAAuBnF,QAAO,SAAC5L,GAAU,IAAD,EACxD,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB2qB,cAC3C,IACD,GAAIN,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAGDjnB,qBAAU,WAER3E,EAASomB,MAETpmB,EAASqmB,KACV,GAAE,IAEH1hB,qBAAU,WACJgnB,GAAgBA,EAAalqB,MAC/B2pB,EAAWO,EAAalqB,KACxB4pB,EAASM,EAAa/D,OACtB0D,EAAoBK,EAAa5nB,cAE/B8nB,GAAmBA,EAAgBpqB,MACrC8pB,EAAcM,EAAgBpqB,KAC9B+pB,EAAYK,EAAgBjF,UAC5B8E,EAAuBG,EAAgB9nB,aAE1C,GAAE,CAAC4nB,EAAcE,IAElB,IAAMiB,EAA0B,SAAC/xB,EAAG2rB,EAASC,EAAYsF,GACvDlxB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAE6lB,WAAYV,EAASW,cAAeV,EAAYuF,cAAeD,IACnI,EAOKc,EAAwB,SAAChyB,EAAGkxB,EAAYjD,GAAc,IAAD,IACzDjuB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,8BAA+BC,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAe6E,cAAeD,EAAYe,YAAahE,IAC5M,EAEKqD,EAA0B,SAACtxB,EAAGkxB,EAAYjD,GAAc,IAAD,IAC3DjuB,EAAE8J,iBACF,IAAIyhB,EAAY,CACd7H,KAAM,4BACNld,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,gBAG9FrnB,EAASjC,GADM,CAAEuuB,gBAAiBL,EAAYgB,cAAejE,GAC7B9nB,EAASolB,GAC1C,EAED,OACE,uCACE,eAAC,GAAD,IAEA,eAACpkB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UACG2c,GAAehxB,OAAOX,KAAK2xB,GAAatyB,OAAS,GAChD,gBAAC6K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,mCACG4lB,GAASA,EADZ,6BAC4DhB,GAAYA,EADxE,mBAGA,qBAAI5kB,UAAU,OAAOkrB,wBAAyB,CAAEC,OAAQN,EAAYjE,YACpE,qBAAI5mB,UAAU,OAAd,SAAsB6qB,EAAY9oB,iBAEpC,sBAAK/B,UAAU,2BAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,aAAayC,OAAK,EAAjC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IA3CL,SAACA,EAAGkxB,GAAgB,IAAD,IAC9ClxB,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,8BAA+BC,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAe6E,cAAeD,IACnL,CAyCyBG,CAAqBrxB,EAAG8xB,EAAYprB,IACrC,EALH,SAOE,oBAAGO,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAO1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAjB,UACE,wBAAOA,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,qBACA,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCsnB,EAAYxX,OAAO9a,OAAS,GAC3BsB,OAAOmV,OAAO6b,EAAYxX,QAAQha,KAAI,SAACrB,EAAOnF,GAC5C,OACE,eAAC,GAAD,CAEEo3B,WAAYY,EAAYprB,IACxBunB,SAAUhvB,EAAMyH,IAChB4T,OAAQrb,EAAMqb,OACdkX,MAAOvyB,EAAMuyB,MACbxoB,YAAa/J,EAAM+J,YACnBtD,OAAQzG,EAAMyG,OACdgsB,WAAYM,EACZJ,aAAcG,EACdJ,aAAcL,GATTx3B,EAYV,UAIP,gBAAC+wB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,+BACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQG,KAAK,CAACC,SAAU,8BAEzB,EANH,sBAYJ,uCASjB,E,gDCxOK8rB,GAAwBC,KAAW,CACvCzF,MAAOyF,KAAW,uBAAuB55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAM,6DAA6DqzB,SAAS,6BACxLvpB,YAAaspB,KAAW,6BAA6B55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAM,2DAC9HwG,OAAQ4sB,KAAY,0BA+IPE,GA5IQ,SAACvzB,GAEtB,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAUVipB,EAAe9oB,aARE,SAACnD,GAAW,IAAD,EAC1BqqB,EAAS,UAAGrqB,EAAM6J,MAAMlB,oBAAf,aAAG,EAA0B1E,QAAO,SAAC5L,GAAU,IAAD,EAC3D,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB6lB,WAC3C,IACD,GAAIwE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAGDjnB,qBAAU,WAER3E,EAASomB,KACV,GAAE,IAEHzhB,qBAAU,WACJ6oB,GAAgBA,EAAa/rB,MAC/BgsB,EAAOzc,OAAOwW,aAAegG,EAAa/rB,IAC1CgsB,EAAOzc,OAAO4W,MAAQ4F,EAAa5F,MACnC6F,EAAOzc,OAAOjN,YAAcypB,EAAazpB,YACzC0pB,EAAOzc,OAAOvQ,OAAS+sB,EAAa/sB,QAEnCH,cAAYC,QAAQC,IAAIitB,EAAOzc,OACnC,GAAE,CAACwc,IAEJ,IAAMC,EAASC,aAAU,CACvBC,cAAe,CACbnG,aAAc,GACdI,MAAO,GACP7jB,YAAa,GACbtD,QAAQ,EACRmtB,SAAU,qBAEZC,iBAAkBT,GAClBU,SAAU,SAAC9c,EAAQ+c,GPkDO,IAACjxB,EAAU6E,EOjD/BqP,EAAOwW,aACTxnB,GPgDuBlD,EOhDCkU,EPgDSrP,EOhDDT,EPgDV,uCAAsB,WAAOlB,GAAP,qBAAAC,EAAA,sEAEhDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFQ,SAGzBC,EAAmBvD,GAHM,gBAGxC3E,EAHwC,EAGxCA,KACR6H,EAAS,CAAEE,KAAMoG,GAAkBlG,QAASjI,IACvB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,wBAAyBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9JlE,EAAS8wB,UAAYjsB,EAAON,KAAKvE,EAAS8wB,WAEvB,WAAb,OAAJz1B,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAXvH,kDAc5CV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAnByC,yBAsBhDjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtBQ,6EAAtB,wDO9CtBJ,EPoBsB,SAAClD,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAEhDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFQ,SAGzBC,EAAmBvD,GAHM,gBAGxC3E,EAHwC,EAGxCA,KACR6H,EAAS,CAAEE,KAAMmG,GAAkBjG,QAASjI,IACvB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,wBAAyBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE3I,WAAb,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAVvH,kDAa5CV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAlByC,yBAqBhDjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IArBQ,6EAAtB,sDOpBb9C,CAAe0T,EAAQ9P,IAE9BZ,cAAYC,QAAQC,IAAIwQ,GAC5B+c,EAAcC,eAAc,GAC5BD,EAAcE,WACf,IAGH,OACE,uCACE,eAAC,GAAD,IAEA,eAAC/rB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,qBAAIA,UAAU,OAAd,6BAEF,gBAACksB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,eAACjN,GAAA,EAAD,UACE,gBAACkN,GAAA,EAAD,CAAWvsB,UAAU,OAArB,UACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,QACHiW,KAAK,QACL/Y,MAAM,QACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO4W,MACrB3B,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQnH,OAASoH,QAAQvB,EAAO3jB,OAAO8d,OACrDqH,WAAYxB,EAAOsB,QAAQnH,OAAS6F,EAAO3jB,OAAO8d,aAIxD,gBAAC,KAAD,CAAM4G,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,yBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL/Y,MAAM,cACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOjN,YACrBkiB,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQhrB,aAAeirB,QAAQvB,EAAO3jB,OAAO/F,aAC3DkrB,WAAYxB,EAAOsB,QAAQhrB,aAAe0pB,EAAO3jB,OAAO/F,wBAMlE,gBAAC6hB,GAAA,EAAD,CAAY5jB,UAAU,sCAAtB,UACE,+BACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjBxB,UAAU,OACVgkB,QAAQ,YACRltB,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EAPH,oBAYF,iCACE,eAAC5J,GAAA,EAAD,CAAQtjB,UAAU,OAAOgkB,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,QAAQ+B,MAAOc,GAAUS,cAA3F,mBAGA,eAAC8hB,GAAA,EAAD,CAAQtjB,UAAU,OAAOgkB,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAAS+B,MAAOc,GAAUS,cAA5F,SACGiqB,EAAOzc,OAAOoW,WAAa,SAAW,6BAW5D,EC9IK+H,GAA2B9B,KAAW,CAC1CzG,SAAUyG,KAAW,uBAAuB55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAM,6DAA6DqzB,SAAS,6BAC3LvpB,YAAaspB,KAAW,6BAA6B55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAM,6DA8LjHm1B,GA3LW,SAACp1B,GAAW,IAAD,IAE7BgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA0BuU,mBAAS,MAAnC,oBAAcuS,GAAd,WAEA,EAAgDvS,mBAAS,MAAzD,oBAAyBwS,GAAzB,WAEA,EAA4BxS,oBAAS,GAArC,oBAAOuW,EAAP,KAAeC,EAAf,KAEGhvB,cAAYC,QAAQC,IAAI,QAASxG,GAGpC,IAQM2xB,EAAejnB,aARE,SAACnD,GAAW,IAAD,EAC1BqqB,EAAS,UAAGrqB,EAAM6J,MAAMlB,oBAAf,aAAG,EAA0B1E,QAAO,SAAC5L,GAAU,IAAD,EAC3D,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB6lB,WAC3C,IACD,GAAIwE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAcKC,EAXoB,SAACF,GAAkB,IAAD,IACpCC,GACQ,OAAZD,QAAY,IAAZA,GAAA,UAAAA,EAAc/E,gBAAd,eAAwBrsB,QAAS,IAAjC,OACAoxB,QADA,IACAA,GADA,UACAA,EAAc/E,gBADd,aACA,EAAwBphB,QAAO,SAAC5L,GAAU,IAAD,EACvC,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB8lB,cAC3C,KACH,GAAIuE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,CAEuBE,CAAkBH,GACzBjnB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAE7BvI,qBAAU,WAER3E,EAASomB,KACV,GAAE,IAEHzhB,qBAAU,WAAO,IAAD,EACVgnB,GAAgBA,EAAalqB,MAC/BgsB,EAAOzc,OAAOwW,aAAemE,EAAalqB,IAC1C4pB,EAASM,EAAa/D,OACtB0D,EAAoBK,EAAa5nB,cAE/B8nB,GAAmBA,EAAgBpqB,MACrCgsB,EAAOzc,OAAOyW,gBAAkBoE,EAAgBpqB,IAChDgsB,EAAOzc,OAAO4V,SAAWiF,EAAgBjF,SACzC6G,EAAOzc,OAAOjN,YAAc8nB,EAAgB9nB,YAC5C0pB,EAAOzc,OAAOvQ,OAASorB,EAAgBprB,QAEzCT,EAAS2Q,MAGT,UAAI3W,EAAMgkB,SAASzc,aAAnB,OAAI,EAAsB8lB,eACxBiI,GAAU,GAGThvB,cAAYC,QAAQC,IAAI,kBAAmBqrB,EAC/C,GAAE,CAACF,EAAcE,IAElB,IAAM4B,EAASC,aAAU,CACvBC,cAAe,CACbnG,aAAc,GACdC,gBAAiB,GACjBb,SAAU,GACV7iB,YAAa,GACbtD,QAAQ,EACRmtB,SAAU,qBAEZC,iBAAkBsB,GAClBrB,SAAU,SAAC9c,EAAQ+c,GR+FU,IAACjxB,EAAU6E,EQ9FlCqP,EAAOwW,cAAgBxW,EAAOyW,iBAC7BnnB,cAAYC,QAAQC,IAAI,SAAUwQ,GACrChR,EAAStC,GAAkBsT,EAAQ9P,KAEnClB,GR0F0BlD,EQ1FCkU,ER0FSrP,EQ1FDT,ER0FV,uCAAsB,WAAOlB,GAAP,qBAAAC,EAAA,sEAEnDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFW,SAG5BC,EAAsBvD,GAHM,gBAG3C3E,EAH2C,EAG3CA,KACR6H,EAAS,CAAEE,KAAMuG,GAAsBrG,QAASjI,IAC3B,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,kCAAmCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACxKW,EAAON,KAAK,+BAEO,WAAb,OAAJlJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAXpH,kDAc/CV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAnB4C,yBAsBnDjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtBW,6EAAtB,uDQxF5B,IAGH,OACE,uCACE,eAAC,GAAD,IAEA,eAAC8B,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,qBAAIA,UAAU,OAAd,oCAEF,gBAACksB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,eAACjN,GAAA,EAAD,UACE,gBAACkN,GAAA,EAAD,CAAWvsB,UAAU,OAArB,UACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,iCAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,gBAAC7I,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL/Y,MAAM,WACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO4V,SACrBX,SAAUwH,EAAOkB,aACjBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQnI,UAAYoI,QAAQvB,EAAO3jB,OAAO8c,UACxDqI,WAAYxB,EAAOsB,QAAQnI,UAAY6G,EAAO3jB,OAAO8c,SACrD2I,SAAUF,EAfZ,UAiBE,yBAAe71B,MAAM,IAAT,KACVzH,KAAOiT,QAAP,UAAehL,EAAMgkB,SAASzc,aAA9B,aAAe,EAAsB6X,YAAtC,UACCpf,EAAMgkB,SAASzc,aADhB,aACC,EAAsB6X,SAAS/d,KAAI,SAACzB,EAAM/E,GAAP,OACjC,yBAAwB2E,MAAOI,EAAKqB,KAApC,SACGrB,EAAKyX,MADKzX,EAAKyX,KADe,aAQ3C,gBAAC,KAAD,CAAMmd,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,yBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL/Y,MAAM,cACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOjN,YACrBkiB,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQhrB,aAAeirB,QAAQvB,EAAO3jB,OAAO/F,aAC3DkrB,WAAYxB,EAAOsB,QAAQhrB,aAAe0pB,EAAO3jB,OAAO/F,wBAOlE,eAAC6hB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQG,KAAK,CAACC,SAAU,8BACzB,EALH,oBAUF,gBAAC4O,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,eAACsjB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,QAA7D,mBAGA,eAAColB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,SAA7D,SACGutB,EAAOzc,OAAOwW,cAAgBiG,EAAOzc,OAAOyW,gBAAkB,SAAW,+BAYjG,ECjMK+H,GAA2BnC,KAAW,CAC1CzE,SAAUyE,KAAW,uBAAuBC,SAAS,wBACrDvpB,YAAaspB,KAAW,8BAA8B55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAM,6DAwNlHw1B,GArNW,SAACz1B,GAEzB,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA8BuU,mBAAS,MAAvC,oBAAgBsS,GAAhB,WAEA,EAA0BtS,mBAAS,MAAnC,oBAAcuS,GAAd,WAEA,EAAgDvS,mBAAS,MAAzD,oBAAyBwS,GAAzB,WAEA,EAAoCxS,mBAAS,MAA7C,oBAAmByS,GAAnB,WAEA,EAAgCzS,mBAAS,MAAzC,oBAAiB0S,GAAjB,WAEA,EAAsD1S,mBAAS,MAA/D,oBAA4B4S,GAA5B,WAUMC,EAAejnB,aARE,SAACnD,GAAW,IAAD,EAC1BqqB,EAAS,UAAGrqB,EAAM6J,MAAMlB,oBAAf,aAAG,EAA0B1E,QAAO,SAAC5L,GAAU,IAAD,EAC3D,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB6lB,WAC3C,IACD,GAAIwE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAaKC,EAVoB,SAACF,GAAkB,IAAD,IACpCC,GACQ,OAAZD,QAAY,IAAZA,GAAA,UAAAA,EAAc/E,gBAAd,eAAwBrsB,QAAS,IAAjC,OACAoxB,QADA,IACAA,GADA,UACAA,EAAc/E,gBADd,aACA,EAAwBphB,QAAO,SAAC5L,GAAU,IAAD,EACvC,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB8lB,cAC3C,KACH,GAAIuE,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,CACuBE,CAAkBH,GAUpCkB,EAAcnoB,aARM,SAACnD,GAAW,IAAD,EAC7BqqB,EAAS,UAAGrqB,EAAM6J,MAAMT,iBAAf,aAAG,EAAuBnF,QAAO,SAAC5L,GAAU,IAAD,EACxD,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB2qB,cAC3C,IACD,GAAIN,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAGDjnB,qBAAU,WAER3E,EAASomB,MAETpmB,EAASqmB,KACV,GAAE,IAEH1hB,qBAAU,WACJgnB,GAAgBA,EAAalqB,MAC/B2pB,EAAWO,EAAalqB,KACxB4pB,EAASM,EAAa/D,OACtB0D,EAAoBK,EAAa5nB,cAE/B8nB,GAAmBA,EAAgBpqB,MACrC8pB,EAAcM,EAAgBpqB,KAC9BgsB,EAAOzc,OAAO2V,WAAakF,EAAgBpqB,IAC3C+pB,EAAYK,EAAgBjF,UAC5B8E,EAAuBG,EAAgB9nB,cAErC8oB,GAAeA,EAAYprB,MAC7BgsB,EAAOzc,OAAOsb,gBAAkBO,EAAYprB,IAC5CgsB,EAAOzc,OAAO2V,WAAakG,EAAYjG,SACvC6G,EAAOzc,OAAO4X,SAAWiE,EAAYjE,SACrC6E,EAAOzc,OAAO0e,QAAU7C,EAAY6C,QACpCjC,EAAOzc,OAAOjN,YAAc8oB,EAAY9oB,YACxC0pB,EAAOzc,OAAOvQ,OAASosB,EAAYpsB,OACnCkvB,EAAS9C,EAAYN,OAAsC,IAA7BM,EAAYN,MAAMhyB,OAAesyB,EAAYN,MAAQ,CAAC,KAEvF,GAAE,CAACZ,EAAcE,EAAiBgB,IAGnC,MAA8B/T,mBAAS,CAAC,KAAxC,oBAAO8W,EAAP,KAAkBD,EAAlB,KAEMlC,EAASC,aAAU,CACvBC,cAAe,CACbhH,WAAY,GACZ2F,gBAAiB,GACjB1D,SAAU,GACV2D,MAAO,GACPmD,QAAS,GACT3rB,YAAa,GACbtD,QAAQ,EACRmtB,SAAU,6BAEZC,iBAAkB2B,GAClB1B,SAAU,SAAC9c,EAAQ+c,GAKjB,GAJA/c,EAAOub,MAAQqD,EAAUpqB,QAAO,SAACqqB,GAC/B,OAAc,OAAPA,GAAsB,KAAPA,CACvB,IACGvvB,cAAYC,QAAQC,IAAI,SAAUwQ,GAClCA,EAAO2V,WACT,GAAI3V,EAAOsb,gBAAiB,CAAC,IAAD,MACtBhG,EAAY,CACd7H,KAAM,4BACNld,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAe6E,cAAa,UAAElyB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB2qB,gBAE9IpvB,EAAW,CAAEwvB,gBAAiBtb,EAAOsb,gBAAiBvoB,YAAaiN,EAAOjN,YAAa6kB,SAAU5X,EAAO4X,UAC5G5oB,ETiPkB,SAAClD,EAAUoE,EAASolB,GAApB,8CAAkC,WAAOtmB,GAAP,qBAAAC,EAAA,sEAE1DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFkB,SAGnCC,EAAiBvD,GAHkB,gBAGlD3E,EAHkD,EAGlDA,KACR6H,EAAS,CAAEE,KAAM6G,GAAgB3G,QAASjI,IACrB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,iCAAkCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACnKslB,IAAcv0B,KAAOiT,QAAP,OAAeshB,QAAf,IAAeA,OAAf,EAAeA,EAAW7H,MAC1Cvd,EAAQG,KAAK,CAAEC,SAAUglB,EAAU7H,KAAMld,MAAO+kB,EAAU/kB,QACjD+kB,GAAav0B,KAAOw0B,UAAP,OAAiBD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAWE,SAClDtlB,EAAQ6a,GAAG,IAGM,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAf7G,kDAmBtD,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAvB7G,yBA0B1DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA1BkB,6EAAlC,sDSjPTxC,CAAad,EAAUoE,EAASolB,GAC1C,KAAM,CAAC,IAAD,QACDA,EAAY,CACd7H,KAAM,4BACNld,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAe6E,cAAa,UAAElyB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB2qB,gBAE9IpvB,EAAW,CAAE6pB,WAAU,UAAE3sB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAeiF,gBAAiBtb,EAAOsb,gBAAiBvoB,YAAaiN,EAAOjN,YAAa6kB,SAAU5X,EAAO4X,UAC7J5oB,ET0MkB,SAAClD,EAAUoE,EAASolB,GAApB,8CAAkC,WAAOtmB,GAAP,qBAAAC,EAAA,6DACxDK,cAAYC,QAAQC,IAAI1D,GADgC,SAG1DkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHkB,SAInCC,EAAiBvD,GAJkB,gBAIlD3E,EAJkD,EAIlDA,KACR6H,EAAS,CAAEE,KAAM4G,GAAgB1G,QAASjI,IACrB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,iCAAkCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACnKslB,IAAcv0B,KAAOiT,QAAP,OAAeshB,QAAf,IAAeA,OAAf,EAAeA,EAAW7H,MAC1Cvd,EAAQG,KAAK,CAAEC,SAAUglB,EAAU7H,KAAMld,MAAO+kB,EAAU/kB,QACjD+kB,GAAav0B,KAAOw0B,UAAP,OAAiBD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAWE,SAClDtlB,EAAQ6a,GAAG,IAGM,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAhB7G,kDAmBtDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAxB7G,yBA2B1DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA3BkB,6EAAlC,sDS1MTzC,CAAab,EAAUoE,EAASolB,GAC1C,CAEJ,EACD+H,QAAS,WACPsB,EAAS,CAAC,IACX,IAGH,OACE,uCACE,eAAC,GAAD,IAEA,eAACztB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,qBAAIA,UAAU,OAAd,gCAEF,gBAACksB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,eAACjN,GAAA,EAAD,UACE,gBAACkN,GAAA,EAAD,CAAWvsB,UAAU,OAArB,UACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,sBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL/Y,MAAM,WACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO4X,SACrB3C,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQnG,UAAYoG,QAAQvB,EAAO3jB,OAAO8e,UACxDqG,WAAYxB,EAAOsB,QAAQnG,UAAY6E,EAAO3jB,OAAO8e,gBAK3D,gBAAC,KAAD,CAAM4F,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,wBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL/Y,MAAM,cACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOjN,YACrBkiB,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQhrB,aAAeirB,QAAQvB,EAAO3jB,OAAO/F,aAC3DkrB,WAAYxB,EAAOsB,QAAQhrB,aAAe0pB,EAAO3jB,OAAO/F,wBAOlE,eAAC6hB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQG,KAAK,CAACC,SAAU,8BACzB,EALH,oBAUF,gBAAC4O,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,eAACsjB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,QAA7D,mBAGA,eAAColB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,SAA7D,SACGutB,EAAOzc,OAAOsb,gBAAkB,SAAW,+BAYnE,ECvNKwD,GAAyBzC,KAAW,CACxChY,OAAQgY,KAAW,qBAAqBC,SAAS,sBACjDvpB,YAAaspB,KAAW,4BAA4B55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAM,2DAC7HwG,OAAQ4sB,KAAY,yBAoNP0C,GAjNS,SAAC/1B,GAAW,IAAD,EAE3BgG,EAAWsE,cACXpD,EAAUqD,cAUVsoB,EAAcnoB,aARM,SAACnD,GAAW,IAAD,EAC7BqqB,EAAS,UAAGrqB,EAAM6J,MAAMT,iBAAf,aAAG,EAAuBnF,QAAO,SAAC5L,GAAU,IAAD,EACxD,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsB2qB,cAC3C,IACD,GAAIN,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,IAEEtrB,cAAYC,QAAQC,IAAI,iBAAkBxG,EAAMgkB,UAEnD,IAUMhT,EAVkB,SAAC6hB,GAAiB,IAAD,IACjCjB,GACO,OAAXiB,QAAW,IAAXA,GAAA,UAAAA,EAAaxX,cAAb,eAAqB9a,QAAS,IAA9B,OACAsyB,QADA,IACAA,GADA,UACAA,EAAaxX,cADb,aACA,EAAqB7P,QAAO,SAAC5L,GAAU,IAAD,EACpC,OAAOA,EAAK6H,OAAL,UAAazH,EAAMgkB,SAASzc,aAA5B,aAAa,EAAsByrB,YAC3C,KACH,GAAIpB,GAAaA,EAAU,GACzB,OAAOA,EAAU,EAEpB,CACiBoE,CAAgBnD,GAC/BvsB,cAAYC,QAAQC,IAAIxG,EAAMgkB,UAC9B1d,cAAYC,QAAQC,IAAIqsB,GACxBvsB,cAAYC,QAAQC,IAAR,UAAYxG,EAAMgkB,SAASzc,aAA3B,aAAY,EAAsByrB,aAC9C1sB,cAAYC,QAAQC,IAAIwK,GAC3BrG,qBAAU,WAER3E,EAASqmB,KACV,GAAE,IAEH1hB,qBAAU,WACJkoB,GAAeA,EAAYprB,MAC7BgsB,EAAOzc,OAAOsb,gBAAkBO,EAAYprB,KAE1CuJ,GAAaA,EAAUvJ,MACzBgsB,EAAOzc,OAAOic,cAAgBjiB,EAAUvJ,IACxCgsB,EAAOzc,OAAOqE,OAASrK,EAAUqK,OACjCoY,EAAOzc,OAAOjN,YAAciH,EAAUjH,YACtC0pB,EAAOzc,OAAOvQ,OAASuK,EAAUvK,OAGpC,GAAE,CAACosB,EAAa7hB,IAGjB,MAA8B8N,mBAAS,CAAC,KAAxC,oBAAO8W,EAAP,KAAkBD,EAAlB,KA0BMlC,EAASC,aAAU,CACvBC,cAAe,CACbrB,gBAAiB,GACjBW,cAAe,GACf5X,OAAQ,GACRkX,MAAO,GACPxoB,YAAa,GACbtD,QAAQ,EACRmtB,SAAU,qBAEZC,iBAAkBiC,GAClBhC,SAAU,SAAC9c,EAAQ+c,GAIjB,GAHA/c,EAAOub,MAAQqD,EAAUpqB,QAAO,SAACqqB,GAC/B,OAAc,OAAPA,GAAsB,KAAPA,CACvB,IACG7e,EAAOsb,iBAAmBtb,EAAOic,cAAe,CAAC,IAAD,MAC9C3G,EAAY,CACd7H,KAAM,4BACNld,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAeiF,gBAAe,UAAEtyB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB2qB,gBAEhJpvB,EAAW,CAAEwvB,gBAAiBtb,EAAOsb,gBAAiBW,cAAejc,EAAOic,cAAelpB,YAAaiN,EAAOjN,YAAasR,OAAQrE,EAAOqE,QAC/IrV,EV6WoB,SAAClD,EAAUoE,EAASolB,GAApB,8CAAkC,WAAOtmB,GAAP,qBAAAC,EAAA,6DACxDK,cAAYC,QAAQC,IAAI,WAAY1D,GACpCwD,cAAYC,QAAQC,IAAI,YAAa8lB,GAFmB,SAK1DtmB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IALkB,SAMnCC,EAAiBvD,GANkB,gBAMlD3E,EANkD,EAMlDA,KACR6H,EAAS,CAAEE,KAAMiH,GAAgB/G,QAASjI,IACrB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CACXe,MAAO,UACPd,QAAS,+BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACHwlB,IAAcv0B,KAAOiT,QAAP,OAAeshB,QAAf,IAAeA,OAAf,EAAeA,EAAW7H,MAC1Cvd,EAAQG,KAAK,CAAEC,SAAUglB,EAAU7H,KAAMld,MAAO+kB,EAAU/kB,QACjD+kB,GAAav0B,KAAOw0B,UAAP,OAAiBD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAWE,SAClDtlB,EAAQ6a,GAAG,EAEd,MAKY,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KA5B7G,kDA+BtDV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbJ,MAAM,EAAD,IApCmD,yBAuC1DjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAvCkB,6EAAlC,sDU7WXtC,CAAahB,EAAUoE,EAASolB,GAC1C,KAAM,CAAC,IAAD,MACDA,EAAY,CACd7H,KAAM,4BACNld,MAAO,CAAE6lB,WAAU,UAAEptB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB6lB,WAAYC,cAAa,UAAErtB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB8lB,cAAeiF,gBAAe,UAAEtyB,EAAMgkB,SAASzc,aAAjB,aAAE,EAAsB2qB,gBAEhJpvB,EAAW,CAAEwvB,gBAAiBtb,EAAOsb,gBAAiBW,cAAejc,EAAOic,cAAelpB,YAAaiN,EAAOjN,YAAasR,OAAQrE,EAAOqE,QAC/IrV,EVuUoB,SAAClD,EAAUoE,EAASolB,GAApB,8CAAkC,WAAOtmB,GAAP,qBAAAC,EAAA,sEAE1DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFkB,SAGnCC,EAAiBvD,GAHkB,gBAGlD3E,EAHkD,EAGlDA,KACR6H,EAAS,CAAEE,KAAMgH,GAAgB9G,QAASjI,IACrB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,+BAAgCC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACjKslB,IAAcv0B,KAAOiT,QAAP,OAAeshB,QAAf,IAAeA,OAAf,EAAeA,EAAW7H,MAC1Cvd,EAAQG,KAAK,CAAEC,SAAUglB,EAAU7H,KAAMld,MAAO+kB,EAAU/kB,QACjD+kB,GAAav0B,KAAOw0B,UAAP,OAAiBD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAWE,SAClDtlB,EAAQ6a,GAAG,IAGM,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAf7G,kDAkBtDV,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbJ,MAAM,EAAD,IAvBmD,yBA0B1DjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA1BkB,6EAAlC,sDUvUXvC,CAAaf,EAAUoE,EAASolB,GAC1C,CACF,EACD+H,QAAS,WACPsB,EAAS,CAAC,IACX,IAGH,OACE,uCACE,eAAC,GAAD,IAEA,eAACztB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,qBAAIA,UAAU,OAAd,8BAEF,gBAACksB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,eAACjN,GAAA,EAAD,UACE,gBAACkN,GAAA,EAAD,CAAWvsB,UAAU,OAArB,UACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,oBACnC,gBAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,UACE,qBAAIxB,wBAAyB,CAAEC,OAAQN,IAAW,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAajE,aACnE,8BAAKiE,IAAW,OAAIA,QAAJ,IAAIA,OAAJ,EAAIA,EAAa9oB,qBAGrC,gBAAC,KAAD,CAAMyqB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,uBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,SACHiW,KAAK,SACL/Y,MAAM,SACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOqE,OACrB4Q,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQ1Z,QAAU2Z,QAAQvB,EAAO3jB,OAAOuL,QACtD4Z,WAAYxB,EAAOsB,QAAQ1Z,QAAUoY,EAAO3jB,OAAOuL,cAIzD,gBAAC,KAAD,CAAMmZ,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,wBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL/Y,MAAM,cACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOjN,YACrBkiB,SAAUwH,EAAOkB,aACjBC,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQhrB,aAAeirB,QAAQvB,EAAO3jB,OAAO/F,aAC3DkrB,WAAYxB,EAAOsB,QAAQhrB,aAAe0pB,EAAO3jB,OAAO/F,wBAOlE,eAAC6hB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQG,KAAK,CAACC,SAAU,8BACzB,EALH,oBAUF,gBAAC4O,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,eAACsjB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,QAA7D,mBAGA,eAAColB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,SAA7D,SACGutB,EAAOzc,OAAOsb,iBAAmBmB,EAAOzc,OAAOic,cAAgB,SAAW,+BAYlG,E,wCC+PcgD,GAjdF,WAAO,IAAD,sBACXjwB,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAsCuU,mBAAS,CAAC,GAAhD,oBAAOD,EAAP,KAAoBqX,EAApB,KACA,EAAsCpX,mBAAS,CAAC,GAAhD,oBAAO5M,EAAP,KAAoBikB,EAApB,KAEA,EAAsCrX,mBAAS,SAA/C,oBAAOsX,EAAP,KAAoBC,EAApB,KAEA,EAAsDvX,mBAAS,IAA/D,oBAAOwX,EAAP,KAA4BC,EAA5B,KAGMC,EAAet0B,EAAOu0B,eAC5B,EAAsC3X,mBAAS,GAA/C,oBAAOqQ,EAAP,KAAoBC,EAApB,KACA,EAA8CtQ,mBAAS,IAAvD,oBAAOuQ,EAAP,KAAwBC,EAAxB,KACA,EAA0CxQ,mBAAS,GAAnD,oBAAOyQ,EAAP,KAAsBC,EAAtB,KAEA,EAAkC1Q,mBAAS,IAA3C,oBAAO2Q,EAAP,KAAkBiH,EAAlB,KACA,EAA4C5X,mBAAS,IAArD,qBAAO4Q,GAAP,MAAuBC,GAAvB,MAEAhlB,qBAAU,WAEJrE,cAAYC,QAAQC,IAAI,yBAC5BR,EAASgc,KACV,GAAE,IAGH,IAAM2U,GAAkBjsB,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKP,aAAtB,IACpCxH,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,oBAAqBmwB,IACjDJ,EAAuBx+B,KAAOyT,OAAOmrB,GAAiB,CAAElX,MAAO,YAChE,GAAE,CAACkX,KAGJhsB,qBAAU,WAER,IAAIisB,EAAe7+B,KAAOyT,OAAO8qB,GAAqB,SAAU12B,GAC9D,OAAOA,EAAKkiB,MAAMtnB,QAAQi1B,IAAc,CACzC,IACDL,EAAe,GACfO,GAAkBiH,EACnB,GAAE,CAACN,EAAqB7G,IAGzB9kB,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,0BAA2BkpB,GAAenvB,QAEtE,IAAIwvB,EAAmBv2B,KAAKw2B,KAAKN,GAAenvB,OAASi2B,GAIzD,GAHAhH,EAAiBO,GAGbL,IAAkBA,GAAenvB,OAAS,EAAG,CAE/C,IAAI0vB,GAAcd,EAAc,GAAKqH,EAAe,EAAI,GAAKrH,EAAc,GAAKqH,EAC5EtG,EAAWf,EAAcqH,EAAe9G,GAAenvB,OAASmvB,GAAenvB,OAAS4uB,EAAcqH,EAEtGrG,EAAep4B,KAAOoE,MAAMuzB,GAAgBO,EAAYC,GACxDC,GAAgBA,EAAa5vB,OAAS,EACxC+uB,EAAmBa,GAEnBb,EAAmB,GAEtB,MACCA,EAAmB,GAEtB,GAAE,CAACH,EAAaO,KAEjB,IAAMmH,GAAe,SAAC,GAAD,IAAGz1B,EAAH,EAAGA,GAAI01B,EAAP,EAAOA,UAAWN,EAAlB,EAAkBA,aAAcrH,EAAhC,EAAgCA,YAAarN,EAA7C,EAA6CA,MAAOqS,EAApD,EAAoDA,KAAM1tB,EAA1D,EAA0DA,OAAQkc,EAAlE,EAAkEA,QAAlE,OACnB,sBAAIvhB,GAAIA,EAAR,UACG01B,GAAa,EAAI,8BAAKN,GAAgBrH,EAAc,GAAK2H,EAAY,IAAU,KAChF,qBACEvrB,MAAM,MACNtD,MACE,GAHJ,SAQE,gBAACkY,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,UACE,eAACoY,GAAA,EAAD,CACEpY,UAAU,SACVqY,IAAKsC,EAAUA,EAAQrC,UAAY,GACnCC,IAAKoC,IAAY5qB,KAAOiT,QAAQ2X,EAAQpL,gBAAkBrV,EAAOC,eAAiBD,EAAOse,gBAAkBmC,EAAQpL,eAAiB,KACpItP,MAAO,CAAE+Y,YAAa,GAJxB,SAMG2B,GAAWA,EAAQrC,WAAaqC,EAAQrC,UAAU/f,OAAS,EAAIoiB,EAAQrC,UAAUG,OAAO,GAAGpD,cAAgB,KAE9G,iCACGyE,EACD,eAAC3B,GAAA,EAAD,UACE,uBAAMnY,UAAU,eAAhB,SAAgC2a,IAAY5qB,KAAOiT,QAAQ2X,EAAQrC,WAAarD,GAAS0F,EAAQrC,UAAY,IAAMqC,EAAQjC,UAAY,eAM/I,8BAAKiC,GAAWA,EAAQC,YAAcD,EAAQC,WAAW3P,cAAgB0P,EAAQC,WAAW3P,aAAaoE,KAAOsL,EAAQC,WAAW3P,aAAaoE,KAAO,KACvJ,8BAEI,CACE0f,OACE,gBAAC9sB,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,YAKFgvB,SACE,gBAAC/sB,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,cADf,cAKFivB,SACE,gBAAChtB,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,cADf,cAKFvB,IACA,gBAACwD,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,YACZvB,OAKT,qBAA8BwB,MAAO,CAAE6V,OAAQ,EAAG/gB,QAAS,GAA3D,SACE,sBACEiL,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,WACHR,cAAYC,QAAQC,IAAI,mBAAoBmc,GAChDuT,EAAe,CAAExjB,KAAM,CAAEtR,GAAIA,EAAI0gB,MAAOA,EAAOrb,OAAQA,EAAQgZ,MAAO0U,KACtEgC,EAAexT,EAChB,EAPH,SASE,oBAAG3a,UAAU,6BApEF5G,EADE,EA6ErBuJ,qBAAU,WACiD,IAAD,kBAApDuH,GAAerQ,OAAOX,KAAKgR,GAAa3R,OAAS,IAC/C+F,cAAYC,QAAQC,IAAI,gBAAiB0L,GAE7CuhB,GAAOzc,OAAO6K,QAAoB,OAAXhD,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKtR,KAAM,GAC/CqyB,GAAOzc,OAAO8K,OAAmB,OAAXjD,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKoP,QAAS,GAEjD2R,GAAOzc,OAAOkgB,WAAuB,OAAXhlB,QAAW,IAAXA,OAAA,EAAAA,EAAazK,MAAO,GAC9CgsB,GAAOzc,OAAOsJ,WAAuB,OAAXpO,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,YAAa,GACpDmT,GAAOzc,OAAO0J,UAAsB,OAAXxO,QAAW,IAAXA,OAAA,EAAAA,EAAawO,WAAY,GAClD+S,GAAOzc,OAAOO,gBAA4B,OAAXrF,QAAW,IAAXA,OAAA,EAAAA,EAAaqF,iBAAkB,GAC9Dkc,GAAOzc,OAAOQ,kBAA8B,OAAXtF,QAAW,IAAXA,OAAA,EAAAA,EAAasF,mBAAoB,GAElEic,GAAOzc,OAAOmgB,uBAAmC,OAAXjlB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,mBAAyB3P,oBAAzB,eAAuCoE,OAAQ,GACrFoc,GAAOzc,OAAOogB,uBAAmC,OAAXllB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,mBAAyB3P,oBAAzB,eAAuC/M,OAAQ,GAErFutB,GAAOzc,OAAOqgB,iCAA6C,OAAXnlB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,mBAAyB3P,oBAAzB,eAAuCqkB,iBAAkB,GACzG7D,GAAOzc,OAAOugB,0BAAsC,OAAXrlB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,mBAAyB3P,oBAAzB,eAAuCukB,UAAW,GAC3F/D,GAAOzc,OAAOygB,iBAA6B,OAAXvlB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,eAAyB8U,cAAe,GAE3E,GAAE,CAACxlB,IAEJ,IAAMylB,GAAgB,uCAAG,WAAO9V,EAAQpb,GAAf,2CAAAR,EAAA,6DACjBgR,EAAS,CAAE4K,OAAQA,EAAQpb,OAAQA,GADlB,SAIjBH,cAAYC,QAAQC,IAAI,WAAYyQ,GAJnB,StC9JEnU,EsCmKiBmU,EtCnKJnV,EAAIiB,KAAK,mBAAoBD,GsC8J5C,OAKfqE,EALe,OAMjBb,cAAYC,QAAQC,IAAI,aAAcW,GAClChJ,EAASgJ,EAAThJ,KACJmI,cAAYC,QAAQC,IAAI,SAAUrI,GAEjB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAASgc,MACTqU,EAAe,SACfF,EAAe,CAAC,IACU,WAAb,OAAJh4B,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAa,OAAJzI,QAAI,IAAJA,KAAMyI,QAAUzI,EAAKyI,QAAU,6BAA8BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAhB7J,kDAmBjBV,cAAYC,QAAQC,IAAI,cAAe,KAAMW,UAC7Cb,cAAYC,QAAQC,IAAI,SAAU,KAAMW,SAAShJ,KAAKsI,QACtDH,cAAYC,QAAQC,IAAI,MAAO,KAAMW,SAAShJ,KAAKyI,SAGnDgxB,EAAa,2CAAOzwB,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuByI,QAAU,KAC5E0Q,EAAc,2CAAOnQ,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuBA,KAArD,sCAA4D,KAAOgJ,gBAAnE,iBAA4D,EAAiBhJ,YAA7E,aAA4D,EAAuByI,QACrG0Q,EAAcvf,KAAOiT,QAAQsM,GAAe,6BAA+BA,EAC3E3Q,wBAAa,CAAEe,MAAOkwB,EAAYhxB,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IA3B9H,kCtC9JC,IAAClE,CsC8JF,wBAAH,wDA+BhB2wB,GAASC,aAAU,CACvBC,cAAe,CACb9R,OAAQ,GACRqV,UAAW,GACXpV,MAAO,GACPxB,UAAW,GACXI,SAAU,GACVnJ,eAAgB,GAChBC,iBAAkB,GAClBkK,mBAAmB,EAEnByV,sBAAuB,GACvBM,gBAAiB,GACjBL,sBAAuB,GACvBS,8BAA8B,EAC9BN,yBAA0B,GAC1BF,gCAAiC,IAGnCvD,SAAU,SAAC9c,EAAQ+c,GAAmB,IAAD,EACnC/c,EAAM,iBAAsB,EAC5BA,EAAM,KAAN,OAAiB6H,QAAjB,IAAiBA,GAAjB,UAAiBA,EAAanM,YAA9B,aAAiB,EAAmBtR,GAChCkF,cAAYC,QAAQC,IAAI,SAAUwQ,GACtChR,EAAS7C,GAAW6T,GAAQ,EAAO9P,GACpC,IAKH,OACE,uCACE,eAAC,GAAD,IAEA,eAACgB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,gBAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,UAEE,eAACkO,GAAA,EAAD,CAAKlO,UAAU,0BAA0BmO,GAAG,IAA5C,UACIpe,KAAOiT,QAAQkH,IACf,gBAAC9G,GAAA,EAAD,CAAMpD,UAAU,sBAAhB,UACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,eAACkO,GAAA,EAAD,CAAKlO,UAAU,aAAamd,GAAG,IAAIld,MAAO,CAAE6mB,YAAa,IAAzD,SACE,sBAAK9mB,UAAU,qBAAf,SACE,sBAAKA,UAAU,iBAAiBC,MAAO,CAAE8c,gBAAiB,QAAU7iB,EAAOC,eAAiBD,EAAOse,iBAAzC,OAA2DtO,QAA3D,IAA2DA,OAA3D,EAA2DA,EAAaqF,gBAAiB,KAAMrd,gBAAiB,WAA1K,SACc,OAAXgY,QAAW,IAAXA,KAAaqF,gBAAkBxf,KAAOiT,QAAP,OAAekH,QAAf,IAAeA,OAAf,EAAeA,EAAaoO,WAAa,GAAxE,OAA6EpO,QAA7E,IAA6EA,OAA7E,EAA6EA,EAAaoO,UAAUG,OAAO,GAAGpD,sBAKvH,eAAClS,GAAA,EAAD,CAAKlD,MAAO,CAAE6vB,WAAY,IAAKha,OAAQ,IAAvC,SACE,gBAAC5H,GAAA,EAAD,CAAKlO,UAAU,yDAAyDC,MAAO,CAAElL,QAAS,GAA1F,UACE,yBACA,eAACuuB,GAAA,EAAD,CACEtjB,UAAU,OACVlJ,MAAM,UACNgI,QAAS,SAAC/F,GAAO,IAAD,MAEVuF,cAAYC,QAAQC,IAAI,gBAAiB0L,GAC7C,IAAI+E,EAAS,CACXvE,KAAM,CACJmP,OAAM,OAAEhD,QAAF,IAAEA,GAAF,UAAEA,EAAanM,YAAf,aAAE,EAAmBtR,GAC3B0gB,MAAK,OAAEjD,QAAF,IAAEA,GAAF,UAAEA,EAAanM,YAAf,aAAE,EAAmBoP,MAC1BrC,MAAK,UAAEZ,EAAYnM,YAAd,aAAE,EAAkB+M,QAG7BzZ,EAAS9C,GAAuB+T,EAAOvE,OACvCxL,EAAQG,KAAK,CAAEC,SAAU,kCAAmCC,MAAO,CAAEsX,YAAa5H,IACnF,EACD8gB,KAAK,KAEL9vB,MAAO,CAAE3O,MAAO,IAAKw+B,WAAY,EAAGE,cAAe,GAlBrD,0BAsBA,eAAC1M,GAAA,EAAD,CACEtjB,UAAU,cACVlJ,MAAM,UACNgI,QAAS,SAAC/F,GAAO,IAAD,IACd42B,GAAgB,OAAC9Y,QAAD,IAACA,GAAD,UAACA,EAAanM,YAAd,aAAC,EAAmBtR,GAAkC,YAAnB,OAAXyd,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,eAAmBjM,QAAsB,WAAa,SAC/F,EACDsxB,KAAK,KACL9vB,MAAO,CAAE3O,MAAO,IAAKw+B,WAAY,EAAGE,cAAe,GAPrD,2BAWA,8BAIyB,WAAjB,OAAXnZ,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAK+M,OACjB,gBAAC4H,GAAA,EAAD,CAAUrf,UAAU,eAApB,UACE,sBAAKA,UAAU,cAAf,SACE,sCAEF,uBAAKA,UAAU,cAAf,UACE,8BAAKiV,IAAoB,OAAX/K,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,WAAY,KAAzB,OAA+BpO,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAawO,aAC1D,sBAAK1Y,UAAU,qBAAf,gBAAqC6W,QAArC,IAAqCA,GAArC,UAAqCA,EAAanM,YAAlD,aAAqC,EAAmBoP,cAI5D,gBAACuF,GAAA,EAAD,CAAUrf,UAAU,eAApB,UACE,sBAAKA,UAAU,cAAf,SACE,sCAEF,uBAAKA,UAAU,cAAf,UACE,8BAAKiV,IAAoB,OAAX/K,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,WAAY,KAAzB,OAA+BpO,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAawO,aAC1D,sBAAK1Y,UAAU,qBAAf,gBAAqC6W,QAArC,IAAqCA,GAArC,UAAqCA,EAAanM,YAAlD,aAAqC,EAAmBoP,QACxD,wBAEA,sBAAK9Z,UAAU,sCAAf,yBACA,sCAAMkK,QAAN,IAAMA,GAAN,UAAMA,EAAa0Q,kBAAnB,aAAM,EAAyB8U,cAC/B,wBAEA,sBAAK1vB,UAAU,sCAAf,0BACA,sCAAMkK,QAAN,IAAMA,GAAN,UAAMA,EAAa0Q,kBAAnB,iBAAM,EAAyB3P,oBAA/B,aAAM,EAAuCoE,OAC7C,wBAEA,sBAAKrP,UAAU,sCAAf,kBACA,sCAAMkK,QAAN,IAAMA,GAAN,UAAMA,EAAa0Q,kBAAnB,iBAAM,EAAyB3P,oBAA/B,aAAM,EAAuC/M,OAC7C,wBAEA,sBAAK8B,UAAU,sCAAf,6BACA,sCAAMkK,QAAN,IAAMA,GAAN,UAAMA,EAAa0Q,kBAAnB,iBAAM,EAAyB3P,oBAA/B,aAAM,EAAuCqkB,iBAC7C,wBAEA,sBAAKtvB,UAAU,sCAAf,qBACA,sCAAMkK,QAAN,IAAMA,GAAN,UAAMA,EAAa0Q,kBAAnB,iBAAM,EAAyB3P,oBAA/B,aAAM,EAAuCukB,UAC7C,mCAWZ,gBAACthB,GAAA,EAAD,CAAKlO,UAAU,aAAamO,GAAIpe,KAAOiT,QAAQkH,GAAe,KAAO,IAAKjK,MAAO,CAAEhL,QAAyB,UAAhBm5B,EAA0B,QAAU,QAAhI,UACE,eAACjrB,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,sBAAKA,UAAU,gBAAf,SACE,qBAAIA,UAAU,OAAd,mCAEF,sBAAKA,UAAU,2BAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,qBAAf,SACE,sBACEM,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRmG,EAAQG,KAAK,CAAEC,SAAU,8BAC1B,EALH,SAOE,oBAAGU,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCAEE,qBAAIuD,MAAM,MAAV,gCACA,qBAAIA,MAAM,QACV,qBAAIA,MAAM,MAAV,oBACA,qBAAIA,MAAM,aAGd,iCACGorB,GAAgBp2B,OAAS,GACxBsB,OAAOmV,OAAOjf,KAAOyT,OAAOmrB,GAAiB,CAAElX,MAAO,WAAYpe,KAAI,SAACrB,EAAOnF,GAE5E,OADIyL,cAAYC,QAAQC,IAAI,cAAexG,GACpC,eAAC62B,GAAD,CAAsBz1B,GAAIpB,EAAMyH,IAAKqa,MAAO9hB,EAAM8hB,MAAOqS,KAAMn0B,EAAMyf,MAAOhZ,OAAQzG,EAAMyG,OAAOwxB,SAAUtV,QAAS3iB,EAAM2iB,QAAU3iB,EAAM2iB,QAAU,MAAjI9nB,EAC3B,gBAOb,eAACsQ,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,WACE,wBACA,6BAKJ,eAAC/K,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,qBAAIlwB,UAAU,OAAd,0CAEF,eAACkO,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC3D,GAAA,EAAD,CAAWtsB,MAAO,CAAEK,aAAc,GAAlC,SACE,gBAAC6vB,GAAA,EAAD,CAAYnwB,UAAU,0BAAtB,UACE,eAACowB,GAAA,EAAD,CAAiBC,UAAU,UAA3B,SACE,eAACC,GAAA,EAAD,UACE,oBAAGtwB,UAAU,4BAGjB,eAAC,KAAD,CACEA,UAAU,2BACVuwB,YAAY,WACZryB,KAAK,OACL+lB,SAAU,SAAClrB,GACLuF,cAAYC,QAAQC,IAAIzF,EAAEwV,OAAO/W,OACrCk3B,EAAa31B,EAAEwV,OAAO/W,MACvB,gBAOb,gBAAC8L,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,QACV,qBAAIA,MAAM,MAAV,gCAEA,qBAAIA,MAAM,MAAV,0BACA,qBAAIA,MAAM,MAAV,oBACA,qBAAIA,MAAM,aAGd,iCACG8jB,GACCA,EAAgB9uB,OAAS,GACzB8uB,EAAgBhuB,KAAI,SAACrB,EAAOnF,GAE1B,OADIyL,cAAYC,QAAQC,IAAI3L,EAAGmF,GACxB,eAAC62B,GAAD,CAAsBC,UAAWj8B,EAAG27B,aAAcA,EAAcrH,YAAaA,EAAa/tB,GAAIpB,EAAMyH,IAAKqa,MAAO9hB,EAAM8hB,MAAOqS,KAAMn0B,EAAMyf,MAAOhZ,OAAQzG,EAAMyG,OAAOwxB,SAAUtV,QAAS3iB,EAAM2iB,QAAU3iB,EAAM2iB,QAAU,MAArM9nB,EAC3B,SAKP,eAAC+wB,GAAA,EAAD,UACE,eAACzgB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACGoK,GAAiBA,EAAgB,EAChC,eAAC,KAAD,CACEmB,QAASvB,EACTwB,MAAOpB,EACPqB,aAAc,SAACF,GACbtB,EAAesB,EAChB,IAED,4BAY3B,E,SCleK7E,GAAY2M,aAAW,CAC3BC,KAAM,CACJ,UAAW,CACTC,gBAAiB,YACjBrgC,MAAO,GACPD,KAAM,QAER,WAAY,CACV2oB,UAAW,SAEb,UAAW,CACTA,UAAW,WAXCyX,CAcfG,MAEUC,GAAe,SAAC54B,GAC3B,OACIA,EAAM64B,MAAS74B,EAAM64B,OAAuB,IAAf74B,EAAM64B,KACjC,eAAC,GAAD,eAAe74B,IACf,eAAC6rB,GAAA,EAAD,eAAkB7rB,GAEzB,E,4DCSK84B,GAAyBzF,KAAW,CAAC,GAqR5B0F,GAnRD,WAEZ,IAAM/yB,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAsCuU,mBAAS,CAAC,CAAEpkB,MAAO,EAAGs+B,UAAW,MAAvE,oBAAoBC,GAApB,WAEA,EAAwCna,mBAASxG,IAAjD,oBAAOyG,EAAP,KAAqBC,EAArB,KACA,EAAsDF,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KAGA,EAAgCpa,oBAAS,GAAzC,oBAAOqa,EAAP,KAEA,GAFA,KAEoBnjB,gBAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEL8a,EAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,iBAAkBuqB,GAE9CpmB,qBAAU,WACR,GAAIomB,GAAYA,EAAS3R,UAAY2R,EAAS3R,SAAS7e,OAAS,EAAG,CACjE,IAAM8e,EAAO0R,EAAS3R,SAAS,GAE/BnJ,EAAKiJ,eAAeG,EAAKpe,MACzB,IAAMgW,EAAS,CAAE2B,aAAcyG,EAAKpe,MACpC+E,EAASV,GAAyB2R,EAAQ/P,IAEtCmY,GAAqB,QAAbA,EAAKC,IACfN,EAAgB3G,IAGhB2G,EAAgB1G,GAEnB,CACF,GAAE,CAACyY,IAGJ,IAAMqI,EAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAClC7I,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,QACrCC,IAAlBD,GAAiD,OAAlBA,GAA0BrhC,KAAO4yB,QAAQyO,IAAkBA,EAAc74B,OAAS,EACnH24B,EAAuBE,EAAc,GAAGviB,gBAExCqiB,EAAuBvgB,GAE1B,GAAE,CAACygB,IAOJ,MAAwCta,oBAAS,GAAjD,oBAAOwa,EAAP,KAAqBC,EAArB,KACMC,EAAqB,kBAAMD,GAAiBD,EAAvB,EAErB7F,EAASC,aAAU,CACvBC,cAAe,CACbrT,UAAW,GACXI,SAAU,GACVoB,MAAO,GACP2X,SAAU,GACVC,gBAAiB,GACjBniB,eAAgB,GAChBC,iBAAkB,GAClBkK,mBAAmB,EACnBiY,IAAK,GACLC,OAAQ,GACRlyB,MAAO,GACPmyB,UAAW,CAAC,IACZC,QAAS,GACTC,SAAU,GACVtC,gBAAiB,GACjBuC,cAAe,GACfC,eAAgB,GAChBC,YAAa,GACbxX,QAAS,GACTyX,aAAc,GACdC,SAAU,GACVC,OAAQ,GACRC,QAAS,GACTC,SAAU,IAGZ1G,iBAAkBsF,EACdL,GACAzF,KAAW,CACXvR,MAAOuR,KAAWzxB,EAAE,qCACjBkgB,MAAMlgB,EAAE,uCACR0xB,SAAS1xB,EAAE,wCACd63B,SAAUpG,KAAWzxB,EAAE,wCACpBnI,IAAI,EAAGmI,EAAE,6CACT0xB,SAAS1xB,EAAE,6CAElBkyB,SAAU,SAAC9c,EAAQ+c,GACboF,GACFniB,EAAOyiB,SAAWnc,GAAetG,EAAOyiB,UACpCnzB,cAAYC,QAAQC,IAAI,sBAAuB6a,GACnDrb,EAAShD,GAAOgU,EAAQ9P,EAASma,MAEjCrK,EAAOyiB,SAAWnc,GAAetG,EAAOyiB,UACxCzzB,EAASob,GAAOpK,EAAQ9P,EAASma,IAC7B/a,cAAYC,QAAQC,IAAI,sBAAuB6a,IAGrD0S,EAAcC,eAAc,GAC5BiF,EAAe,CAAC,CAAEv+B,MAAO,EAAGs+B,UAAW,MACvCjF,EAAcE,WACf,EACDI,QAAS,WACP4E,EAAe,CAAC,CAAEv+B,MAAO,EAAGs+B,UAAW,KACxC,IAGH,OACE,qCACE,uBAAKhxB,UAAU,eAAeC,MAAO,CAAE/N,gBAAiB,WAAxD,UAGE,uBACE8N,UAAU,sBACVC,MAAO,CACL8c,gBAAiB,OAASjtB,EAAQ,KAAwCwD,QAAU,IACpF0pB,eAAgB,QAChBC,mBAAoB,cALxB,UAUE,uBAAMjd,UAAU,mBAChB,eAACE,GAAA,EAAD,UACE,sBAAKF,UAAU,+BAAf,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,wBACA,iCAKR,sBAAKlwB,UAAU,uDAAuDC,MAAO,CAAEK,aAAc,QAA7F,SACE,sBAAKkyB,MAAM,6BAA6BC,oBAAoB,OAAO3wB,QAAQ,MAAM4wB,QAAQ,eAAevhC,EAAE,IAAIC,EAAE,IAAhH,SACE,0BAAS4O,UAAU,eAAe2yB,OAAO,iCAK/C,eAACzyB,GAAA,EAAD,CAAWF,UAAU,aAArB,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,eAAC9sB,GAAA,EAAD,CAAMpD,UAAU,+BAAhB,SACE,gBAACqf,GAAA,EAAD,CAAUrf,UAAU,kBAApB,UACG+W,IAAiB1G,GAChB,sBAAKrQ,UAAU,iCAAiCC,MAAO,CAAEnJ,MAAO,UAAW4J,WAAY,OAAQqY,UAAW,SAA1G,SACE,gCAAOnf,EAAE,gCAGX,sBAAKoG,UAAU,iCAAiCC,MAAOwB,GAAWd,MAAlE,SACE,gCAAO/G,EAAE,gCAIb,gBAACsyB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,qCACE,gBAACC,GAAA,EAAD,CAAWvsB,UAAU,QAArB,UACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,QAAQxsB,MAAOwB,GAAWpB,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,QACHiW,KAAK,QACL/Y,MAAOsD,EAAE,4BACToqB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO8K,MACrBmK,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQjT,OAASkT,QAAQvB,EAAO3jB,OAAOgS,OACrDmT,WAAYxB,EAAOsB,QAAQjT,OAAS2R,EAAO3jB,OAAOgS,aAIxD,gBAAC,KAAD,CAAM0S,WAAS,EAACzW,QAAS,EAAG0W,WAAW,QAAQxsB,MAAOwB,GAAWpB,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,6BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,WACHiW,KAAK,WACL/Y,MAAOsD,EAAE,+BACToqB,QAAQ,WACR9lB,KAAMozB,EAAe,OAAS,WAC9B95B,MAAOi0B,EAAOzc,OAAOyiB,SACrBxN,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQ0E,UAAYzE,QAAQvB,EAAO3jB,OAAO2pB,UACxDxE,WAAYxB,EAAOsB,QAAQ0E,UAAYhG,EAAO3jB,OAAO2pB,SACrDmB,WACmB,OAAjBtB,GAAyBva,IAAiB1G,GACtC,CACAwiB,eACE,eAACC,GAAA,EAAD,CAAgB59B,SAAS,QAAzB,SACE,eAAC69B,GAAA,EAAD,CAAYj0B,QAAS0yB,EAArB,SAA0CF,EAAe,eAAC,KAAD,IAAiB,eAAC,KAAD,SAI7D,OAAjBA,GAAyBva,IAAiBzG,GACxC,CACA0iB,aACE,eAACF,GAAA,EAAD,CAAgB59B,SAAS,MAAzB,SACE,eAAC69B,GAAA,EAAD,CAAYj0B,QAAS0yB,EAArB,SAA0CF,EAAe,eAAC,KAAD,IAAiB,eAAC,KAAD,SAI9E,iBAQlB,sBAAKtxB,UAAU,cAAf,SACE,eAACsjB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAAjD,SACGtE,EAAE,wCAOb,gBAACuJ,GAAA,EAAD,CAAKnD,UAAU,OAAf,UACE,eAACkO,GAAA,EAAD,CAAK6N,GAAG,IAAR,SACE,eAAC,IAAD,CACE/b,UAAU,gBACViZ,GAAG,gBACHH,IAAKI,IAHP,SAKE,uBAAMlZ,UAAU,kCAAhB,SACE,iCAAQpG,EAAE,4CAIhB,eAACsU,GAAA,EAAD,CAAKlO,UAAU,aAAa+b,GAAG,IAA/B,SACE,eAAC,IAAD,CACE/b,UAAU,gBACViZ,GAAG,mBACHH,IAAKI,IAHP,SAKE,uBAAMlZ,UAAU,kCAAhB,SACE,iCAAQpG,EAAE,4CAMlB,eAACuJ,GAAA,EAAD,CAAKnD,UAAU,wBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,wBACA,wCAUjB,E,UC1SYlzB,GAAuB,SAAClC,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,qBAAAC,EAAA,sEAEtDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFc,SAG/BC,EAAyBvD,GAHM,gBAIjC,aAAb,QADA3E,EAH8C,EAG9CA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMkI,GAAehI,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAE5B,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KATjH,kDAYlD,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAEHX,cAAYC,QAAQC,IAAR,MAlBsC,yBAoBtDR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IApBc,6EAAtB,uDAoDvBrB,GAAqB,SAACjC,EAAU2e,EAAava,EAAStF,GAAjC,8CAAuC,WAAOoE,GAAP,uBAAAC,EAAA,yDACnEK,cAAYC,QAAQC,IAAI,mCAAoC1D,GADO,SAIrEkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAEpC60B,EAAc,IAEdn4B,EAASo4B,sBAAuBp4B,EAASq4B,OARwB,gCAS/CC,GAAmBt4B,EAAUmE,MAAOC,GATW,OASnE+zB,EATmE,iBAYhEljC,KAAOiT,QAAQiwB,GAZiD,wBAchEr5B,EACD+E,wBAAa,CAAEC,QAAShF,EAAE,uBAAwBiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAGtJL,wBAAa,CAAEC,QAAS,yEAA0EC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAlB5H,4CAuB9CX,EAAuBvD,GAvBuB,iBAuB7D3E,EAvB6D,EAuB7DA,KACJmI,cAAYC,QAAQC,IAAI,gBAAiBrI,GAExB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRT,EAAS,CAAEE,KAAMmI,GAAYjI,QAASjI,IAEnCyD,EACD+E,wBAAa,CAAEC,QAAShF,EAAE,kBAAmBiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAGjJL,wBAAa,CAAEe,MAAO,UAAWd,QAAS,wBAAyBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAE5Jya,GAAava,EAAQ6a,GAAG,IAET,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GACxByD,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG7JL,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KA3CjF,kDA+CjEV,cAAYC,QAAQC,IAAI,cAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC1C7E,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,yBAA0BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAGzJL,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAEzIE,EAAQG,KAAK,iBAETzF,EACF+E,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG7JL,wBAAa,CAAEe,MAAO,QAASd,QAAS,qDAAsDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IA7DxH,yBAiErEhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAjE6B,6EAAvC,uDAuE5Bg1B,GAAkB,uCAAG,WAAOpkB,EAAQ9P,GAAf,2BAAAjB,EAAA,mEAEnB+Q,EAAOkkB,sBAAuBlkB,EAAOmkB,OAFlB,gBAGjB70B,cAAYC,QAAQC,IAAI,sBAAuBwQ,EAAOkkB,qBAHrC,6BAMjB50B,cAAYC,QAAQC,IAAI,sBANP,mBAOd,GAPc,cAUjByQ,EAAS,IAAIC,UACZC,OAAO,eAAgBH,EAAOkkB,qBACrCjkB,EAAOE,OAAO,eAAgBH,EAAOmkB,QACjC70B,cAAYC,QAAQC,IAAI,sBAAuByQ,GAb5B,UzCvCQnU,EyCsDQmU,EzCtDKnV,EAAIiB,KAAK,gCAAiCD,GyCuC/D,WAenBsU,EAfmB,OAgBnB9Q,cAAYC,QAAQC,IAAI,oBAAqB4Q,IAE7CA,IAAOA,EAAIjZ,MAA4B,YAApBiZ,EAAIjZ,KAAKsI,QAAyB1O,KAAOiT,QAAQoM,EAAIjZ,KAAKA,MAlB1D,wBAmBjBmI,cAAYC,QAAQC,IAAI,kCAAmC4Q,EAAIjZ,KAAKA,MACxE6Y,EAAM,oBAA0BI,EAAIjZ,KAAKA,KAAKkZ,KApBzB,mBAsBd,GAtBc,kCAwBd,GAxBc,iEA2BnB/Q,cAAYC,QAAQC,IAAI,+BAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,kBAETg0B,EADC,sCACc,KAAOl0B,gBADrB,iBACc,EAAiBhJ,YAD/B,aACc,EAAuByI,QAC1CD,wBAAa,CAAEC,QAASy0B,EAAcx0B,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAjC7G,mBAoChB,GApCgB,wEzCvCO,IAAClE,CyCuCR,8BAAH,wDA0CXw4B,GAA+B,SAACx4B,EAAUoE,EAASolB,GAApB,8CAAkC,WAAOtmB,GAAP,qBAAAC,EAAA,6DACxEK,cAAYC,QAAQC,IAAI,mCAAoC1D,GADY,SAI1EkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAJkC,SAMnDC,GAAqBvD,GAN8B,gBAMlE3E,EANkE,EAMlEA,KACJmI,cAAYC,QAAQC,IAAI,gBAAiBrI,GAExB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRT,EAAS,CAAEE,KAAMqI,GAAwBnI,QAASjI,IAElDwI,wBAAa,CAAEe,MAAO,UAAWd,QAAS,wBAAyBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC1JslB,IAAcv0B,KAAOiT,QAAP,OAAeshB,QAAf,IAAeA,OAAf,EAAeA,EAAW7H,MAC1Cvd,EAAQG,KAAK,CAAEC,SAAUglB,EAAU7H,KAAMld,MAAO+kB,EAAU/kB,QACjD+kB,GAAav0B,KAAOw0B,UAAP,OAAiBD,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAWE,SAClDtlB,EAAQ6a,GAAG,IAGM,WAAb,OAAJ5jB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KArB1E,kDAwBtEV,cAAYC,QAAQC,IAAI,cAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEe,MAAO,QAASd,QAAS,qDAAsDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IA7BjH,yBAgC1EhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAhCkC,6EAAlC,uDC/H7Bm1B,GA1CI,WAEjB,IAAMv1B,EAAWsE,cACDC,cACIG,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKR,YAAYyQ,OAAlC,IAOhC,OALAhY,qBAAU,WAER3E,EAASwb,KACV,GAAE,IAGD,qCACA,sBAAKxZ,UAAU,2BACXC,MAAO,CACL/N,gBAAiB,UACjB6qB,gBAAiB,OAASjtB,EAAQ,KAA0CwD,QAAU,IACtF0pB,eAAgB,QAChBC,mBAAoB,cAL1B,SAoBI,eAAC/c,GAAA,EAAD,CAAWC,OAAK,EAACF,MAAO,CAAEG,UAAW,UAO5C,E,0CCmCcozB,GAxEO,SAACx7B,GACrB,IAAMy7B,EAAkBC,IAAMC,OAAO,MACrC,EAAgDD,IAAM5c,SAAS,IAA/D,oBAAO8c,EAAP,KAAyBC,EAAzB,KAEQj6B,EAAMoU,eAANpU,EAyCR,OACE,uCACE,eAAC,GAAD,2BACM5B,GADN,IAEE64B,KAAM74B,EAAM64B,OAASxgB,GACrB7Y,MAAOo8B,GAAsC57B,EAAMR,MAEnDo7B,WAAY,CACVkB,QAAQ,EACRC,UAAU,EACVlB,eACE,eAACC,GAAA,EAAD,CAAgB59B,SAAU8C,EAAM64B,OAASxgB,GAAiB,QAAU,MAApE,SACE,eAAC0iB,GAAA,EAAD,CAAYj0B,QAnDJ,SAACk1B,GACnBP,EAAgB/K,QAAQuL,OACzB,EAiDW,SAAmC,eAAC,KAAD,YAM3C,wBAAO/1B,KAAK,OACVg2B,IAAKT,EACLxP,SAxDe,SAAC+P,GACpB,IAAMG,EAAeH,EAAMzlB,OAAO6lB,MAAM,GACxC,GAAID,EAAc,CAEhB,GAAIpkC,KAAO4yB,QAAQ3qB,EAAMq8B,eAAgB,CACvC,IAAIC,GAAa,EAMjB,GALAt8B,EAAMq8B,cAAch+B,SAAQ,SAAAk+B,GACtBJ,EAAaj2B,KAAKs2B,MAAMD,KAC1BD,GAAa,EAEhB,KACIA,EAeH,YAdI16B,GACF+E,wBAAa,CACXe,MAAO9F,EAAE,gBACTgF,QAAU5G,EAAMq8B,cAAeI,KAAK,OACpC51B,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,IAK5B,CAGD60B,EAAmB,OAACM,QAAD,IAACA,OAAD,EAACA,EAAc9kB,MAClCrX,EAAMisB,SAAS+P,EAChB,CAEF,EAsBKU,OAAQ18B,EAAM28B,aACd10B,MAAO,CAAEhL,QAAS,YAIzB,ECytDc2/B,GA/wDC,WAAO,IAAD,IAEd52B,EAAWsE,cACXpD,EAAUqD,cAGVsU,EAAcnc,KAAKC,MAAMJ,aAAaC,QAAQ,gBAChD8D,cAAYC,QAAQC,IAAI,gBAAiBqY,GAE7C,IAAM4D,EAAkB/X,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IAChC/L,cAAYC,QAAQC,IAAI,YAAaic,GAEzC,IAAMrD,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IACzB5M,cAAYC,QAAQC,IAAI,aAAc4Y,GAE1C,IAAMyd,EAAcnyB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWtB,iBAA5B,IAC5B9L,cAAYC,QAAQC,IAAI,gBAAiBq2B,GAE7C,MAAsC/d,mBAAS,CAAC,GAAhD,oBAAO5M,EAAP,KAAoBikB,EAApB,KACA,EAA4CrX,mBAAS,CAAC,GAAtD,oBAAOzM,EAAP,KAAuBiQ,EAAvB,KACA,EAA8BxD,oBAAS,GAAvC,oBAAgBge,GAAhB,WACA,EAAoChe,oBAAS,GAA7C,oBAAOie,EAAP,KAAmBC,EAAnB,KACA,EAAwCle,mBAAS,GAAjD,oBAAOme,EAAP,KAAqBC,EAArB,KACA,EAAsCpe,oBAAS,GAA/C,oBAAOqe,EAAP,KAAoBC,EAApB,KACA,EAA4Cte,mBAAS,GAArD,oBAAOue,EAAP,KACA,GADA,KACkCve,mBAAS,KAA3C,oBAAOwe,EAAP,KAAkBC,EAAlB,KACA,EAAsDze,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KAEA,EAAwCpa,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KAGA,EAA4BF,oBAAS,GAArC,qBAAOuW,GAAP,MAEA,IAFA,MAEsCvW,mBAAS,YAA/C,sBAAOsX,GAAP,MAAoBC,GAApB,MAEA,GAAwCvX,oBAAS,GAAjD,sBAAOwa,GAAP,MAUMvI,IAVN,MAEkC4K,mBAQjBjxB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,KACzB7M,cAAYC,QAAQC,IAAI,eAAgBuqB,IAC5C,OAAoB/a,eAAZpU,GAAR,GAAQA,EAAGqU,GAAX,GAAWA,KAEXtL,qBAAU,WAAO,IAAD,MACdsL,GAAKiJ,eAAL,OAAoBC,SAApB,IAAoBA,IAApB,UAAoBA,GAAOzM,YAA3B,aAAoB,EAAa0M,UAEjC,IAAInI,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAIjBoe,EAAc,CAAE5kB,aAAY,OAAEuG,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,UACjDpZ,EAASb,GAAwB8R,EAAOvE,OACxC1M,EAASV,GAAyBk4B,EAAat2B,GAChD,GAAE,IAEHyD,qBAAU,WACRomB,IACEA,GAAS3R,UACTvd,OAAOmV,OAAO+Z,GAAS3R,UAAU/d,KAAI,SAACge,EAAMxkB,GACtCwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAAC+R,KAEJ,IAAMqI,GAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAClC7I,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,SACrCC,IAAlBD,IAAiD,OAAlBA,IAA0BrhC,KAAO4yB,QAAQyO,KAAkBA,GAAc74B,OAAS,EACnH24B,EAAuBE,GAAc,GAAGviB,gBAExCqiB,EAAuBvgB,GAE1B,GAAE,CAACygB,KAEJ,IAAI7Z,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IAEvB5U,qBAAU,WAGR,GAFIrE,cAAYC,QAAQC,IAAI,iBAAkB6L,GAE1CoQ,IAAoB1qB,KAAOiT,QAAQyX,GAAkB,CAAC,IAAD,MAGnDgb,EAAUhb,EAAgBE,QAE9BwT,EAAesH,GAEkB,WAAlB,OAAX5e,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,eAAmB+M,QACrBqd,GAAW,GAGb,IAAI7pB,EAAY,UAAGwP,EAAgBE,eAAnB,iBAAG,EAAyBC,kBAA5B,aAAG,EAAqC3P,aAIxD,GAHAqP,EAAkBrP,GACd3M,cAAYC,QAAQC,IAAI,kBAAmBic,GAE3CxP,IAAiBlb,KAAOiT,QAAQiI,GAAe,CAE7C3M,cAAYC,QAAQC,IAAI,oBAAZ,OAAiCi3B,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAS/qB,OAC/C,OAAP+qB,QAAO,IAAPA,OAAA,EAAAA,EAAS/qB,KAAKjL,OAAQwL,EAAayqB,WACrCV,GAAc,GACV12B,cAAYC,QAAQC,IAAI,aAAcu2B,KAE1CC,GAAc,GACV12B,cAAYC,QAAQC,IAAI,cAAeu2B,IAGzCz2B,cAAYC,QAAQC,IAAI,QAASu2B,GAGrC,IAAIY,EAAS1qB,EAAa2qB,KAC1BL,EAAaI,GACTr3B,cAAYC,QAAQC,IAAI,aAAcyM,EAAa2qB,MACvD3qB,EAAa2qB,KAAKv8B,KAAI,SAACrB,EAAOnF,GACxByL,cAAYC,QAAQC,IAAI,aAAcxG,EAAM69B,YAC5Cv3B,cAAYC,QAAQC,IAAI,SAAZ,OAAsBi3B,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAS/qB,OACpC,OAAP+qB,QAAO,IAAPA,OAAA,EAAAA,EAAS/qB,KAAKjL,OAAQzH,EAAM69B,aAC9BX,EAAgBriC,GAChBuiC,GAAe,GACX92B,cAAYC,QAAQC,IAAI,YAAa22B,GAE5C,GACF,CACF,CAEDn3B,EAAS2Q,KACV,GAAE,CAAC8L,IAGJ,IAAMqb,GAAgB,uCAAG,WAAO/8B,GAAP,iBAAAkF,EAAA,yDAEnBssB,EAAQ,KAFW,SAIfwL,EAAOh9B,EAAEwV,OAAO6lB,MAAM,GACxB91B,cAAYC,QAAQC,IAAI,kBAAmBu3B,GAC3Cz3B,cAAYC,QAAQC,IAAI,YAAau3B,EAAKhG,MAExCgG,EAAK73B,KAAKs2B,MAAM,QAAUuB,EAAK73B,KAAKs2B,MAAM,SAAWuB,EAAK73B,KAAKs2B,MAAM,OARtD,uBASnB71B,wBAAa,CACXe,MAAO9F,GAAE,gBACTgF,QAAS,uBACTC,QAAS,CACP,CACEvI,MAAOsD,GAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,IAnBJ,+BAyBjB+2B,GAAQA,EAAKhG,MAAQ,KAzBJ,kCA0BLiG,GAAYD,GA1BP,QA0BnBxL,EA1BmB,OA4BnBkB,GAAOzc,OAAOO,eAAiBwmB,EAC/BtK,GAAOzc,OAAOQ,iBAAmB+a,EACjCkB,GAAOzc,OAAO0K,mBAAoB,EAClC+R,GAAOzc,OAAOinB,mBAA+B,OAAX/rB,QAAW,IAAXA,OAAA,EAAAA,EAAaqF,iBAAkB,GACjEkc,GAAOzc,OAAOknB,qBAAiC,OAAXhsB,QAAW,IAAXA,OAAA,EAAAA,EAAasF,mBAAoB,GAhClD,+BAkCnB7Q,wBAAa,CACXe,MAAO9F,GAAE,wBACTgF,QAAShF,GAAE,yBACXiF,QAAS,CACP,CACEvI,MAAOsD,GAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,IA5CJ,6EAiDjBV,cAAYC,QAAQC,IAAR,MAjDK,0DAAH,sDAsDhB23B,GAAmB,uCAAG,WAAOp9B,GAAP,eAAAkF,EAAA,sDAC1B,IAEQ83B,EAAOh9B,EAAEwV,OAAO6lB,MAAM,GACxB91B,cAAYC,QAAQC,IAAIu3B,GACxBA,IACFK,GAAQpnB,OAAOkkB,oBAAsB6C,EAIxC,CAFC,MAAOM,GACH/3B,cAAYC,QAAQC,IAAI,aAAc63B,EAC3C,CAVyB,2CAAH,sDAanBL,GAAc,SAACD,GAAD,OAClB,IAAIt8B,SAAQ,SAACN,GACXm9B,KAAQC,iBACNR,EACA,IACA,IACA,OACA,IACA,GACA,SAACS,GACCr9B,EAAQq9B,EACT,GACD,OACA,IACA,IAEH,GAhBiB,EAkBpB7zB,qBAAU,WAIiD,IAAD,SAHxD0rB,GAAe,WACX/vB,cAAYC,QAAQC,IAAI,cAAe0L,GAEvCA,GAAerQ,OAAOX,KAAKgR,GAAa3R,OAAS,KACnDkzB,GAAOzc,OAAO6K,QAAoB,OAAXhD,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKtR,KAAM,GAC/CqyB,GAAOzc,OAAOtE,MAAkB,OAAXmM,QAAW,IAAXA,OAAA,EAAAA,EAAanM,OAAQ,GAC1C+gB,GAAOzc,OAAOkgB,WAAuB,OAAXhlB,QAAW,IAAXA,OAAA,EAAAA,EAAazK,MAAO,GAC9CgsB,GAAOzc,OAAOsJ,WAAuB,OAAXpO,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,YAAa,GACpDmT,GAAOzc,OAAO0J,UAAsB,OAAXxO,QAAW,IAAXA,OAAA,EAAAA,EAAawO,WAAY,GAClD+S,GAAOzc,OAAOoI,UAAsB,OAAXlN,QAAW,IAAXA,OAAA,EAAAA,EAAakN,WAAY,GAClDqU,GAAOzc,OAAO8K,OAAmB,OAAXjD,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKoP,QAAS,GACjD2R,GAAOzc,OAAOO,gBAA4B,OAAXrF,QAAW,IAAXA,OAAA,EAAAA,EAAaqF,iBAAkB,GAC9Dkc,GAAOzc,OAAOQ,kBAA8B,OAAXtF,QAAW,IAAXA,OAAA,EAAAA,EAAasF,mBAAoB,GAClEic,GAAOzc,OAAOygB,iBAA6B,OAAXvlB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,eAAyB8U,cAAe,GACxEjE,GAAOzc,OAAOynB,gBAA4B,OAAXvsB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,eAAyB8b,aAAc,GACtEjL,GAAOzc,OAAO2nB,kBAA8B,OAAXzsB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,mBAAyB3P,oBAAzB,eAAuCxL,MAAO,GAElF,GAAE,CAACyK,IAEJvH,qBAAU,WAAO,IAAD,EAIkD,2DAHhE0rB,GAAe,WAEkB,aAAlB,OAAXxX,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,eAAmB+M,UACjBpN,GAAkBxQ,OAAOX,KAAKmR,GAAgB9R,OAAS,IACzD69B,GAAQpnB,OAAO4nB,gBAA+B,OAAdvsB,QAAc,IAAdA,OAAA,EAAAA,EAAgB5K,MAAO,GACvD22B,GAAQpnB,OAAOsJ,WAA0B,OAAdjO,QAAc,IAAdA,OAAA,EAAAA,EAAgBiO,YAAa,GACxD8d,GAAQpnB,OAAO0J,UAAyB,OAAdrO,QAAc,IAAdA,OAAA,EAAAA,EAAgBqO,WAAY,GACtD0d,GAAQpnB,OAAO9Q,MAAqB,OAAdmM,QAAc,IAAdA,OAAA,EAAAA,EAAgBnM,OAAQ,GAC9Ck4B,GAAQpnB,OAAO6nB,oBAA6D,KAA1B,OAAdxsB,QAAc,IAAdA,GAAA,UAAAA,EAAgBysB,mBAAhB,eAA6Br4B,QAAkB,MAAQ,KAC3F23B,GAAQpnB,OAAO+nB,qBAAoC,OAAd1sB,QAAc,IAAdA,GAAA,UAAAA,EAAgBysB,mBAAhB,eAA6BE,UAAW,GAC7EZ,GAAQpnB,OAAOioB,eAA8B,OAAd5sB,QAAc,IAAdA,OAAA,EAAAA,EAAgB4sB,gBAAiB,GAChEb,GAAQpnB,OAAOkoB,sBAAiE,KAA5B,OAAd7sB,QAAc,IAAdA,GAAA,UAAAA,EAAgB8sB,qBAAhB,eAA+B14B,QAAkB,MAAQ,KAC/F23B,GAAQpnB,OAAOooB,uBAAsC,OAAd/sB,QAAc,IAAdA,GAAA,UAAAA,EAAgB8sB,qBAAhB,eAA+BE,SAAU,GAChFjB,GAAQpnB,OAAOsoB,4BAA6E,KAAlC,OAAdjtB,QAAc,IAAdA,GAAA,UAAAA,EAAgBktB,2BAAhB,eAAqC94B,QAAkB,MAAQ,KAC3G23B,GAAQpnB,OAAOwoB,6BAA4C,OAAdntB,QAAc,IAAdA,GAAA,UAAAA,EAAgBktB,2BAAhB,eAAqCF,SAAU,GAC5FjB,GAAQpnB,OAAOyoB,oBAA6D,KAA1B,OAAdptB,QAAc,IAAdA,GAAA,UAAAA,EAAgBqtB,mBAAhB,eAA6Bj5B,QAAkB,MAAQ,KAC3F23B,GAAQpnB,OAAO2oB,qBAAoC,OAAdttB,QAAc,IAAdA,GAAA,UAAAA,EAAgBqtB,mBAAhB,eAA6BL,SAAU,GAC5EjB,GAAQpnB,OAAO4oB,yBAAuE,KAA/B,OAAdvtB,QAAc,IAAdA,GAAA,UAAAA,EAAgBwtB,wBAAhB,eAAkCp5B,QAAkB,MAAQ,KACrG23B,GAAQpnB,OAAO8oB,0BAAyC,OAAdztB,QAAc,IAAdA,GAAA,UAAAA,EAAgBwtB,wBAAhB,eAAkCR,SAAU,GACtFjB,GAAQpnB,OAAOsgB,gBAA+B,OAAdjlB,QAAc,IAAdA,OAAA,EAAAA,EAAgBilB,iBAAkB,GAClE8G,GAAQpnB,OAAO/D,cAA6B,OAAdZ,QAAc,IAAdA,OAAA,EAAAA,EAAgBgF,OAAQ,GACtD+mB,GAAQpnB,OAAO0mB,WAA0B,OAAdrrB,QAAc,IAAdA,OAAA,EAAAA,EAAgBqrB,YAAa,GACxDU,GAAQpnB,OAAO0L,SAAwB,OAAdrQ,QAAc,IAAdA,GAAA,UAAAA,EAAgBqQ,eAAhB,eAAyBrL,OAAQ,GAC1D+mB,GAAQpnB,OAAOwgB,SAAwB,OAAdnlB,QAAc,IAAdA,OAAA,EAAAA,EAAgBmlB,UAAW,GACpD4G,GAAQpnB,OAAO+oB,sCAAqD,OAAd1tB,QAAc,IAAdA,GAAA,UAAAA,EAAgB2tB,qCAAhB,eAA+CC,SAAU,EAC/G7B,GAAQpnB,OAAOkpB,sCAAqD,OAAd7tB,QAAc,IAAdA,GAAA,UAAAA,EAAgB2tB,qCAAhB,eAA+CX,SAAU,GAC/GjB,GAAQpnB,OAAOmpB,wBAAuC,OAAd9tB,QAAc,IAAdA,OAAA,EAAAA,EAAgB6oB,sBAAuB,GAC/EkD,GAAQpnB,OAAO9Q,MAAqB,OAAdmM,QAAc,IAAdA,OAAA,EAAAA,EAAgBnM,OAAQ,GAC9Ck4B,GAAQpnB,OAAOopB,WAA0B,OAAd/tB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoC5lB,OAAQ,GACvE+mB,GAAQpnB,OAAOqpB,iBAAgC,OAAdhuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCY,aAAc,KACnFO,GAAQpnB,OAAOspB,cAA6B,OAAdjuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCzF,UAAW,GAC7E4G,GAAQpnB,OAAOupB,YAA2B,OAAdluB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCnb,QAAS,GACzEsc,GAAQpnB,OAAOwpB,cAA6B,OAAdnuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCnD,UAAW,GAC7EsE,GAAQpnB,OAAOmkB,QAAuB,OAAd9oB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCx1B,MAAO,GACnE22B,GAAQpnB,OAAOypB,mBAAyE,KAAvC,OAAdpuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCyD,cAAwB,MAAQ,KACvGtC,GAAQpnB,OAAO2pB,+BAA8C,OAAdtuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoC2D,yBAApC,eAAuDX,SAAU,EAChH7B,GAAQpnB,OAAO6pB,gCAA+C,OAAdxuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoC2D,yBAApC,eAAuDvB,SAAU,GACjHjB,GAAQpnB,OAAO8pB,8BAA6C,OAAdzuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoCgC,qBAApC,eAAmD8B,YAAa,GAC9G3C,GAAQpnB,OAAOgqB,4BAA2C,OAAd3uB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoCgC,qBAApC,eAAmDI,SAAU,GACzGjB,GAAQpnB,OAAOiqB,yBAAqC,OAAXpiB,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKtR,KAAM,GACjEg9B,GAAQpnB,OAAOkqB,6BAA4C,OAAd7uB,QAAc,IAAdA,GAAA,UAAAA,EAAgB8uB,oBAAhB,eAA8BC,iBAAkB,IAGlG,GAAE,CAAC/uB,IAEJ,IAAMohB,GAASC,aAAU,CACvBC,cAAe,CACbrT,UAAW,GACXI,SAAU,GACVnJ,eAAgB,GAChB0mB,kBAAmB,GACnBzmB,iBAAkB,GAClB0mB,oBAAqB,GACrB9e,SAAU,GACVqY,gBAAiB,GACjBkH,iBAAkB,GAClBF,eAAgB,GAChBzE,cAAe,GACf0E,WAAY,IAGd7K,iBAAkBR,KAAW,CAC3B/S,UAAW+S,KAAWzxB,GAAE,yCACrB3B,IAAI,IAAK2B,GAAE,6CACX0xB,SAAS1xB,GAAE,4CACd8e,SAAU2S,KAAWzxB,GAAE,wCACpB3B,IAAI,IAAK2B,GAAE,6CACX0xB,SAAS1xB,GAAE,6CAEhBkyB,SAAU,SAAC9c,EAAQ+c,GACbztB,cAAYC,QAAQC,IAAI,iBAAkBwQ,GAC9ChR,EAAS7C,GAAW6T,GAAQ,EAAM9P,EAASma,EAAqBzf,IACjE,IAGGw8B,GAAU1K,aAAU,CACxBC,cAAe,CACbiL,eAAgB,GAChBlc,QAAS,GACTzP,aAAc,GACdmtB,UAAW,GACXC,gBAAiB,GACjBC,aAAc,GACdE,aAAc,GACdrF,OAAQ,GACR+D,qBAAsB,GACtBE,sBAAuB,GACvBE,2BAA4B,GAC5BE,6BAA6B,EAC7BC,mBAAoB,GACpBE,oBAAqB,GACrBC,wBAAyB,GACzBE,yBAA0B,GAC1BW,mBAAmB,EACnBV,qCAAsC,GACtCG,qCAAsC,GACtCS,8BAA+B,EAC/BG,6BAA8B,GAC9BD,+BAAgC,GAChCG,2BAA4B,GAC5B96B,KAAM,GACN24B,mBAAoB,GACpBE,oBAAqB,iBACrBzH,eAAgB,GAChB2H,cAAe,GACfzH,QAAS,GACTkG,UAAW,GACXuD,wBAAyB,GACzBC,4BAA6B,GAC7BhG,oBAAqB,GACrBiF,uBAAwB,IAG1BtM,iBAAkBR,KAAW,CAC3BpgB,aAAcogB,OAAaC,SAAS1xB,GAAE,0CACtCsE,KAAMmtB,OAAaC,SAAS1xB,GAAE,0CAC9Bi9B,mBAAoBxL,OAAaC,SAAS1xB,GAAE,0CAC5C01B,eAAgBjE,OAAaC,SAAS1xB,GAAE,0CACxCy/B,yBAA0BhO,KAAWzxB,GAAE,0CACvCq9B,cAAe5L,OAAaC,SAAS1xB,GAAE,0CACvCs9B,qBAAsB7L,OAAaC,SAAS1xB,GAAE,0CAC9C09B,2BAA4BjM,OAAaC,SAAS1xB,GAAE,0CACpD69B,mBAAoBpM,OAAaC,SAAS1xB,GAAE,0CAC5Cg+B,wBAAyBvM,OAAaC,SAAS1xB,GAAE,0CACjD8gB,QAAS2Q,OAAaC,SAAS1xB,GAAE,4CAEnCkyB,SAAU,SAAC9c,GACL1Q,cAAYC,QAAQC,IAAI,sBAAuBwQ,GAC/C1Q,cAAYC,QAAQC,IAAI,0BAA2By2B,GACvD,IAAIqE,EAAQ,CACV76B,OAAsC,QAA9BuQ,EAAO6nB,mBACfG,QAAShoB,EAAO+nB,qBAElB/nB,EAAM,YAAkBsqB,EACpBh7B,cAAYC,QAAQC,IAAI,UAAWwQ,EAAO6nB,oBAC1Cv4B,cAAYC,QAAQC,IAAI,QAASwQ,GAErC,IAAIgpB,EAAgC,CAClCC,OAAQjpB,EAAO+oB,qCACfV,OAAQroB,EAAOkpB,sCAEjBlpB,EAAM,8BAAoCgpB,EAE1C,IAAIroB,EAAS,CACXlR,OAAwC,QAAhCuQ,EAAOkoB,qBACfG,OAAQroB,EAAOooB,uBAEjBpoB,EAAM,cAAoBW,EACtBrR,cAAYC,QAAQC,IAAI,QAASmR,GAErC,IAAIE,EAAa,CACfpR,OAA8C,QAAtCuQ,EAAOsoB,2BACfD,OAAQroB,EAAOwoB,6BAEjBxoB,EAAM,oBAA0Ba,EAC5BvR,cAAYC,QAAQC,IAAI,aAAcqR,GAE1C,IAAID,EAAO,CACTnR,OAAsC,QAA9BuQ,EAAOyoB,mBACfJ,OAAQroB,EAAO2oB,qBAEjB3oB,EAAM,YAAkBY,EACpBtR,cAAYC,QAAQC,IAAI,OAAQoR,GAEpC,IAAIE,EAAc,CAChBrR,OAA2C,QAAnCuQ,EAAO4oB,wBACfP,OAAQroB,EAAO8oB,0BAEjB9oB,EAAM,iBAAuBc,EACzBxR,cAAYC,QAAQC,IAAI,cAAesR,GAE3C,IAAIqpB,EAAe,CACjBI,WAAYvqB,EAAOiqB,wBACnBG,eAAgBpqB,EAAOkqB,6BAEzBlqB,EAAM,aAAmBmqB,EACrB76B,cAAYC,QAAQC,IAAI,eAAgB26B,GAExC76B,cAAYC,QAAQC,IAAI,YAAa82B,GAEzC,IAAIkE,EAAYlE,EAmBhBtmB,EAAM,KAAWwqB,EACbl7B,cAAYC,QAAQC,IAAI,mCAAoCwQ,GAEhEhR,EAASjB,GAAmBiS,GAAQ,EAAM9P,EAAStF,IACpD,IAGG6/B,GAAuB/N,aAAU,CACrCC,cAAe,CACb+N,gBAAiB,GACjBjI,SAAU,GACVC,gBAAiB,IAGnB7F,iBAAkBR,KAAW,CAC3BqO,gBAAiBrO,KAAWzxB,GAAE,4BAC3BnI,IAAI,EAAGmI,GAAE,6CACT0xB,SAAS1xB,GAAE,2CACd63B,SAAUpG,KAAWzxB,GAAE,wBACpBnI,IAAI,EAAGmI,GAAE,6CACT0xB,SAAS1xB,GAAE,2CACd83B,gBAAiBrG,KAAWzxB,GAAE,8BAC3B+/B,KAAK,kBAAmB//B,GAAE,2CAA2C,SAAUpC,GAC9E,OAAO5G,KAAK+G,OAAO85B,WAAaj6B,CACjC,MAELs0B,SAAU,SAAC9c,EAAQ+c,GACbztB,cAAYC,QAAQC,IAAI,gCAAiCwQ,GAC7DA,EAAO4qB,YAActkB,GAAetG,EAAO0qB,iBAC3C1qB,EAAO6qB,YAAcvkB,GAAetG,EAAOyiB,UAC3CzzB,EvBhKwB,SAAClD,EAAU6E,EAAQ0Z,GAAnB,8CAA2C,WAAOrb,GAAP,mBAAAC,EAAA,sEAErED,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAF6B,SAGrDC,EAAmBvD,GAHkC,QAGjEsU,EAHiE,SAK3C,MAAfA,EAAI3Q,QAEbE,wBAAa,CAAEe,MAAO2Z,EAAoBnI,YAAarS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBvI,QAAShS,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAPtG,gDAUjEV,cAAYC,QAAQC,IAAR,MACZ,KAAMW,UACsB,MAA1B,KAAMA,SAASV,QACjBE,wBAAa,CAAEe,MAAO2Z,EAAoBlI,UAAWvS,QAASya,EAAoB7F,iBAAkB3U,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBvI,QAAShS,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAEpN,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAASya,EAAoBpF,gBAAiBpV,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACxJW,EAAON,KAAK,kBAIdV,wBAAa,CAAEC,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IArBrG,yBAwBrEhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAxB6B,4EAA3C,sDuBgKfhD,CAAe4T,EAAQ9P,EAASma,IACzC0S,EAAcE,WACf,IAGH,OACE,uBAAK7yB,GAAIi8B,EAAT,UACE,eAAC,GAAD,IAGA,eAACn1B,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,gBAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,UAEGkK,GACC,eAACgE,GAAA,EAAD,CAAKlO,UAAU,0BAA0BmO,GAAG,IAA5C,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,sBAAsBC,MAAO,CAAE8Y,UAAWhC,GAA1D,UACE,eAAC5T,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,eAACkO,GAAA,EAAD,CAAKlO,UAAU,aAAamd,GAAG,IAAIld,MAAO,CAAE6mB,YAAa,IAAzD,SACE,sBAAK9mB,UAAU,qBAAf,SACE,sBACEA,UAAU,iBACVC,MAAO,CACL8c,gBAAiB,QAAU7iB,EAAOC,eAAiBD,EAAOse,iBAAzC,OAA2DtO,QAA3D,IAA2DA,OAA3D,EAA2DA,EAAaqF,gBAAiB,KAC1Grd,gBAAiB,WAJrB,SAOc,OAAXgY,QAAW,IAAXA,KAAaqF,eAAiB,GAAKrF,GAAW,OAAIA,QAAJ,IAAIA,KAAaoO,YAAwB,OAAXpO,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,UAAU/f,QAAS,EAAzE,OAA6E2R,QAA7E,IAA6EA,OAA7E,EAA6EA,EAAaoO,UAAUG,OAAO,GAAGpD,cAAgB,WAK1K,eAAClS,GAAA,EAAD,CAAKlD,MAAO,CAAE6vB,WAAY,IAAKha,OAAQ,IAAvC,SACE,gBAAC5H,GAAA,EAAD,CAAKlO,UAAU,yDAAyDC,MAAO,CAAElL,QAAS,GAA1F,UACE,yBACA,eAACuuB,GAAA,EAAD,CACEtjB,UAAU,OACVlJ,MAAM,UACNwX,KAAK,OACLxP,QAAS,SAAC/F,IAtdX,SAACA,GAClBA,EAAE8J,iBACFwrB,GAAe,UAChB,CAodqByL,CAAW/gC,EACZ,EACDg3B,KAAK,KAEL9vB,MAAO,CAAEsB,SAAU,IAAKuuB,WAAY,EAAGE,cAAe,GATxD,SAWGp2B,GAAE,2BAEL,eAAC0pB,GAAA,EAAD,CACEtjB,UAAU,cACVlJ,MAAM,UACNwX,KAAK,OACLxP,QAAS,SAAC/F,GACRs1B,GAAe,WAChB,EACD0B,KAAK,KACL9vB,MAAO,CAAEsB,SAAU,IAAKuuB,WAAY,EAAGE,cAAe,GARxD,SAUGp2B,GAAE,4BAEL,8BAGJ,gBAACylB,GAAA,EAAD,CAAUrf,UAAU,eAApB,UACE,sBAAKA,UAAU,cAAf,SACE,sCAEF,uBAAKA,UAAU,cAAf,UACE,8BAAKiV,IAAoB,OAAX/K,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,WAAY,KAAzB,OAA+BpO,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAawO,aAC1D,sBAAK1Y,UAAU,qBAAf,gBAAqC6W,QAArC,IAAqCA,GAArC,UAAqCA,EAAanM,YAAlD,aAAqC,EAAmBoP,QACxD,mCAUV,eAAC5L,GAAA,EAAD,CAAKlO,UAAU,aAAamO,GAAG,IAAIlO,MAAO,CAAEhL,QAAyB,YAAhBm5B,GAA4B,QAAU,QAA3F,SAEE,eAAChrB,GAAA,EAAD,UACE,eAACic,GAAA,EAAD,CAAUrf,UAAU,4BAApB,SACG+W,IAAiB1G,GAChB,eAAClN,GAAA,EAAD,CAAKlD,MAAO,CAAE8Y,UAAW,SAAzB,SACE,gBAAC7K,GAAA,EAAD,WACE,sBAAIlO,UAAU,YAAYC,MAAOc,GAAUN,KAA3C,UACG7G,GAAE,iBADL,IACwB7J,KAAOiT,QAAP,OAAekH,QAAf,IAAeA,OAAf,EAAeA,EAAaxK,OAAS,IAAiB,OAAXwK,QAAW,IAAXA,KAAaxK,OAAmB,OAAXwK,QAAW,IAAXA,OAAA,EAAAA,EAAaxK,OAAQ,KAAO,IAAMuV,IAAoB,OAAX/K,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,WAAY,KAAzB,OAA+BpO,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAawO,cAE/K,oBAAG1Y,UAAU,YAAYC,MAAOc,GAAUH,SAA1C,SACGhH,GAAE,uBAKT,eAACuJ,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAK+S,GAAG,KAAhB,UACE,sBAAIlwB,UAAU,YAAYC,MAAOc,GAAUN,KAA3C,UACG7G,GAAE,iBADL,IACwB7J,KAAOiT,QAAP,OAAekH,QAAf,IAAeA,OAAf,EAAeA,EAAaxK,OAAS,IAAiB,OAAXwK,QAAW,IAAXA,KAAaxK,OAAmB,OAAXwK,QAAW,IAAXA,OAAA,EAAAA,EAAaxK,OAAQ,KAAO,IAAMuV,IAAoB,OAAX/K,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,WAAY,KAAzB,OAA+BpO,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAawO,cAE/K,oBAAG1Y,UAAU,YAAYC,MAAOc,GAAUH,SAA1C,SACGhH,GAAE,6BAUjB,eAACsU,GAAA,EAAD,CAAKlO,UAAU,aAAamO,GAAG,IAAIlO,MAAO,CAAEhL,QAAyB,aAAhBm5B,GAA6B,QAAU,QAA5F,SACE,eAAChrB,GAAA,EAAD,CAAMnD,MAAO,CAAE8Y,UAAWhC,GAA1B,SACE,eAACsI,GAAA,EAAD,UACE,gBAAC6M,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU2N,GAAqBrN,aAAcC,QAASoN,GAAqBnN,YAA7F,UACE,sBAAKtsB,UAAU,qBAAqBC,MAAOc,GAAUJ,MAArD,SACG/G,GAAE,4BAGL,wBACA,qBAAIoG,UAAU,SAEZ,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,UACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,mBAA9C,SACGpgC,GAAE,6BAEL,eAAC,GAAD,CACEqG,MAAOc,GAAUP,MACjBujB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,kBACHiW,KAAK,kBACL2U,QAAQ,WACR9lB,KAAMozB,GAAe,OAAS,WAC9B95B,MAAOiiC,GAAqBzqB,OAAO0qB,gBACnCzV,SAAUwV,GAAqB9M,aAC/BG,MAAO2M,GAAqB1M,QAAQ2M,iBAAmB1M,QAAQyM,GAAqB3xB,OAAO4xB,iBAC3FzM,WAAYwM,GAAqB1M,QAAQ2M,iBAAmBD,GAAqB3xB,OAAO4xB,gBACxF15B,UAAW,sDA+BnB,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,UACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,mBAA9C,SACGpgC,GAAE,yBAEL,eAAC,GAAD,CACEqG,MAAOc,GAAUP,MACjBujB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR9lB,KAAMozB,GAAe,OAAS,WAC9B95B,MAAOiiC,GAAqBzqB,OAAOyiB,SACnCxN,SAAUwV,GAAqB9M,aAC/BG,MAAO2M,GAAqB1M,QAAQ0E,UAAYzE,QAAQyM,GAAqB3xB,OAAO2pB,UACpFxE,WAAYwM,GAAqB1M,QAAQ0E,UAAYgI,GAAqB3xB,OAAO2pB,SACjFzxB,UAAW,oDAIjB,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAR,SAEE,gBAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,UACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,+BAEL,eAAC,GAAD,CACEqG,MAAOc,GAAUP,MACjBujB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,kBACHiW,KAAK,kBACL2U,QAAQ,WACR9lB,KAAMozB,GAAe,OAAS,WAC9B95B,MAAOiiC,GAAqBzqB,OAAO0iB,gBACnCzN,SAAUwV,GAAqB9M,aAC/BG,MAAO2M,GAAqB1M,QAAQ2E,iBAAmB1E,QAAQyM,GAAqB3xB,OAAO4pB,iBAC3FzE,WAAYwM,GAAqB1M,QAAQ2E,iBAAmB+H,GAAqB3xB,OAAO4pB,gBACxF1xB,UAAW,uDAqDrB,wBACA,uBAAKA,UAAU,cAAf,UACE,eAACsjB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,QAAjD,SACGtE,GAAE,mBAEL,eAAC0pB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAAjD,SACGtE,GAAE,gCASf,gBAACsU,GAAA,EAAD,CAAKlO,UAAU,aAAamO,GAAG,IAAIlO,MAAO,CAAEhL,QAAyB,YAAhBm5B,GAA4B,QAAU,QAA3F,UACE,eAAChrB,GAAA,EAAD,CAAMnD,MAAO,CAAE8Y,UAAWhC,GAA1B,SACE,eAACsI,GAAA,EAAD,UACE,gBAAC6M,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,GAAOW,aAAcC,QAASZ,GAAOa,YAAjE,UACE,sBAAKtsB,UAAU,qBAAqBC,MAAOc,GAAUJ,MAArD,SACG/G,GAAE,yBAGL,wBACA,uBAAKoG,UAAU,UAAf,UACE,qBAAIA,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,SACGhH,GAAE,6BAGL,gBAACuJ,GAAA,EAAD,WACG4T,IAAiB1G,GAAiB,eAACnC,GAAA,EAAD,CAAKgiB,GAAG,MAAS,KACpD,eAAChiB,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBpH,GAAG,QACHiW,KAAK,QACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,wBACTpC,MAAOi0B,GAAOzc,OAAO8K,MACrBmK,SAAUwH,GAAOkB,aACjBG,MAAOrB,GAAOsB,QAAQjT,OAASkT,QAAQvB,GAAO3jB,OAAOgS,OACrDmT,WAAYxB,GAAOsB,QAAQjT,OAAS2R,GAAO3jB,OAAOgS,MAClD9Z,UAAU,iEACV4yB,WAAY,CAAEmB,UAAU,EAAMxG,UAAU,UAK9C,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBpH,GAAG,YACHiW,KAAK,YACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,qBACTpC,MAAOi0B,GAAOzc,OAAOsJ,UACrB2L,SAAUwH,GAAOkB,aACjBG,MAAOrB,GAAOsB,QAAQzU,WAAa0U,QAAQvB,GAAO3jB,OAAOwQ,WACzD2U,WAAYxB,GAAOsB,QAAQzU,WAAamT,GAAO3jB,OAAOwQ,UACtDtY,UAAWqtB,GAAS,6CAA+C,gDACnEuF,WAAY,CACVmB,UAAW1G,GACXE,UAAWF,QAKjB,eAACnf,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBpH,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,oBACTpC,MAAOi0B,GAAOzc,OAAO0J,SACrBuL,SAAUwH,GAAOkB,aACjBG,MAAOrB,GAAOsB,QAAQrU,UAAYsU,QAAQvB,GAAO3jB,OAAO4Q,UACxDuU,WAAYxB,GAAOsB,QAAQrU,UAAY+S,GAAO3jB,OAAO4Q,SACrD1Y,UAAWqtB,GAAS,6CAA+C,gDACnEuF,WAAY,CACVmB,UAAW1G,GACXE,UAAWF,WAMlBA,IACC,eAAClqB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,UACE,eAAC,GAAD,CACE6V,WAAS,EACT8M,KAAM9Z,EACN9W,MAAOc,GAAUP,MACjBpH,GAAG,iBACHiW,KAAK,iBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,0BACTpC,MAAOi0B,GAAOzc,OAAOO,eACrBvP,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQxd,gBAAkByd,QAAQvB,GAAO3jB,OAAOyH,gBAC9D0d,WAAYxB,GAAOsB,QAAQxd,gBAAkBkc,GAAO3jB,OAAOyH,eAC3DolB,aAAa,wBACbN,cAAe,CAAC,MAAO,OAAQ,OAC/BpQ,SAAU,SAAClrB,GACT+8B,GAAiB/8B,EAClB,QAMT,gBAACoK,GAAA,EAAD,WACG4T,IAAiB1G,GAAiB,eAACnC,GAAA,EAAD,CAAKgiB,GAAG,MAAS,KACpD,eAAChiB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,gBAAC,GAAD,CACEpM,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,oBACTpC,MAAOi0B,GAAOzc,OAAOoI,SACrB6M,SAAUwH,GAAOkB,aACjBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CAdb,UAgBE,4BACCoX,EAAS/d,KAAI,SAACzB,GAAD,OACZ,qCAEE,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAA0B7Y,MAAOI,EAAKqB,KAA9G,SACGrB,EAAKyX,MAD+EzX,EAAKyX,OAHlF,YAgBpB,gBAAClM,GAAA,EAAD,WACG4T,IAAiB1G,GAAiB,eAACnC,GAAA,EAAD,CAAKgiB,GAAG,MAAS,KACpD,eAAChiB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBpH,GAAG,kBACHiW,KAAK,kBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,uBACTpC,MAAOi0B,GAAOzc,OAAOygB,gBACrBxL,SAAUwH,GAAOkB,aACjBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ0C,iBAAmBzC,QAAQvB,GAAO3jB,OAAO2nB,iBAC/DxC,WAAYxB,GAAOsB,QAAQ0C,iBAAmBhE,GAAO3jB,OAAO2nB,uBAKlE,uBAAKzvB,UAAU,cAAf,UACE,eAACsjB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,QAAjD,SACGtE,GAAE,mBAEL,eAAC0pB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAAjD,SACGtE,GAAE,iCAQf,wBAEA,eAACwJ,GAAA,EAAD,CACEnD,MAAO,CACLhL,QAAsC,aAAlB,OAAX4hB,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,eAAmB+M,OAAsB,QAAU,OAC5DsB,UAAWhC,GAHf,SAME,eAACsI,GAAA,EAAD,UACE,gBAAC6M,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUsK,GAAQhK,aAAcC,QAAS+J,GAAQ9J,YAAnE,UAEE,sBAAKtsB,UAAU,qBAAqBC,MAAOc,GAAUJ,MAArD,SACG/G,GAAE,mCAEL,uBAAKoG,UAAU,UAAf,UACE,qBAAIA,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,SACGhH,GAAE,mCAEL,gBAACuJ,GAAA,EAAD,WACG4T,IAAiB1G,GAAiB,eAACnC,GAAA,EAAD,CAAKgiB,GAAG,MAAS,KACpD,eAAChiB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,mBACTpC,MAAO4+B,GAAQpnB,OAAO0L,QACtBuJ,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQrS,SAAWsS,QAAQoJ,GAAQtuB,OAAO4S,SACzDuS,WAAYmJ,GAAQrJ,QAAQrS,SAAW0b,GAAQtuB,OAAO4S,QACtD6S,UAAU,SAKhB,wBACA,eAACpqB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,gBACHiW,KAAK,gBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,4BACTpC,MAAO4+B,GAAQpnB,OAAO/D,aACtBgZ,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ9hB,cAAgB+hB,QAAQoJ,GAAQtuB,OAAOmD,cAC9DgiB,WAAYmJ,GAAQrJ,QAAQ9hB,cAAgBmrB,GAAQtuB,OAAOmD,aAC3DsiB,UAAU,QAIhB,wBACA,qBAAIvtB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,SACGhH,GAAE,iCAGL,gBAACuJ,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SAEE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,8BACTpC,MAAO4+B,GAAQpnB,OAAO9Q,KACtB+lB,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ7uB,MAAQ8uB,QAAQoJ,GAAQtuB,OAAO5J,MACtD+uB,WAAYmJ,GAAQrJ,QAAQ7uB,MAAQk4B,GAAQtuB,OAAO5J,KACnDqvB,UAAWwH,EAjBb,UAoBE,4BACCtlB,GAAUpW,KAAI,SAACzB,GAAD,OACb,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EAD1E,SAQnB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SAEE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,iBACHiW,KAAK,iBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,0BACTpC,MAAO4+B,GAAQpnB,OAAOsgB,eACtBrL,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQuC,gBAAkBtC,QAAQoJ,GAAQtuB,OAAOwnB,gBAChErC,WAAYmJ,GAAQrJ,QAAQuC,gBAAkB8G,GAAQtuB,OAAOwnB,eAC7D/B,UAAWwH,EAjBb,UAmBE,4BACC/kB,GAAU3W,KAAI,SAACzB,GAAD,OACb,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EAD1E,YASrB,wBAEA,gBAACuL,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAEE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,6BAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,6BACTpC,MAAO4+B,GAAQpnB,OAAO6nB,mBACtB5S,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ8J,oBAAsB7J,QAAQoJ,GAAQtuB,OAAO+uB,oBACpE5J,WAAYmJ,GAAQrJ,QAAQ8J,oBAAsBT,GAAQtuB,OAAO+uB,mBACjEtJ,UAAWwH,EAjBb,UAmBE,4BACCrlB,GAAcrW,KAAI,SAACzB,GAAD,OACjB,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EADtE,SAQvB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,sBACHiW,KAAK,sBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,8BACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAO+nB,oBACtB9S,SAAUmS,GAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQgK,qBAAuB/J,QAAQoJ,GAAQtuB,OAAOivB,qBACrE9J,WAAYmJ,GAAQrJ,QAAQgK,qBAAuBX,GAAQtuB,OAAOivB,oBAClExJ,UAAWwH,SAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SAEE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,kCAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,uCACHiW,KAAK,uCACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTpC,MAAO4+B,GAAQpnB,OAAO+oB,qCACtB9T,SAAUmS,GAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQgL,sCAAwC/K,QAAQoJ,GAAQtuB,OAAOiwB,sCACtF9K,WAAYmJ,GAAQrJ,QAAQgL,sCAAwC3B,GAAQtuB,OAAOiwB,qCACnFxK,UAAWwH,MAIf,eAAC7mB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,uCACHiW,KAAK,uCACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAOkpB,qCACtBjU,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQmL,sCAAwClL,QAAQoJ,GAAQtuB,OAAOowB,sCACtFjL,WAAYmJ,GAAQrJ,QAAQmL,sCAAwC9B,GAAQtuB,OAAOowB,qCACnF3K,UAAWwH,SAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACG4T,IAAiB1G,GAAiB,eAACnC,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,MAAe,KACrF,eAAC4N,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SAEE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,gBACHiW,KAAK,gBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,yBACTpC,MAAO4+B,GAAQpnB,OAAOioB,cACtBhT,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQkK,eAAiBjK,QAAQoJ,GAAQtuB,OAAOmvB,eAC/DhK,WAAYmJ,GAAQrJ,QAAQkK,eAAiBb,GAAQtuB,OAAOmvB,cAC5D1J,UAAWwH,EAjBb,UAmBE,4BACC9kB,GAAS5W,KAAI,SAACzB,GAAD,OACZ,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EAD3E,YAQpB,wBAEA,gBAACuL,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SAEE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,+BAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,uBACHiW,KAAK,uBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTpC,MAAO4+B,GAAQpnB,OAAOkoB,qBACtBjT,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQmK,sBAAwBlK,QAAQoJ,GAAQtuB,OAAOovB,sBACtEjK,WAAYmJ,GAAQrJ,QAAQmK,sBAAwBd,GAAQtuB,OAAOovB,qBACnE3J,UAAWwH,EAjBb,UAmBE,4BACCplB,GAAOtW,KAAI,SAACzB,GAAD,OACV,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EAD7E,SAQhB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,wBACHiW,KAAK,wBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAOooB,sBACtBnT,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQqK,uBAAyBpK,QAAQoJ,GAAQtuB,OAAOsvB,uBACvEnK,WAAYmJ,GAAQrJ,QAAQqK,uBAAyBhB,GAAQtuB,OAAOsvB,sBACpE7J,UAAWwH,SAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SAEE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,oCAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,6BACHiW,KAAK,6BACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTpC,MAAO4+B,GAAQpnB,OAAOsoB,2BACtBrT,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQuK,4BAA8BtK,QAAQoJ,GAAQtuB,OAAOwvB,4BAC5ErK,WAAYmJ,GAAQrJ,QAAQuK,4BAA8BlB,GAAQtuB,OAAOwvB,2BACzE/J,UAAWwH,EAjBb,UAmBE,4BACCllB,GAAWxW,KAAI,SAACzB,GAAD,OACd,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EADzE,SAQpB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,8BACHiW,KAAK,8BACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAOwoB,4BACtBvT,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQyK,6BAA+BxK,QAAQoJ,GAAQtuB,OAAO0vB,6BAC7EvK,WAAYmJ,GAAQrJ,QAAQyK,6BAA+BpB,GAAQtuB,OAAO0vB,4BAC1EjK,UAAWwH,SAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SAEE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,6BAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTpC,MAAO4+B,GAAQpnB,OAAOyoB,mBACtBxT,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ0K,oBAAsBzK,QAAQoJ,GAAQtuB,OAAO2vB,oBACpExK,WAAYmJ,GAAQrJ,QAAQ0K,oBAAsBrB,GAAQtuB,OAAO2vB,mBACjElK,UAAWwH,EAjBb,UAoBE,4BACCnlB,GAAKvW,KAAI,SAACzB,GAAD,OACR,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EAD/E,SAQd,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,sBACHiW,KAAK,sBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAO2oB,oBACtB1T,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ4K,qBAAuB3K,QAAQoJ,GAAQtuB,OAAO6vB,qBACrE1K,WAAYmJ,GAAQrJ,QAAQ4K,qBAAuBvB,GAAQtuB,OAAO6vB,oBAClEpK,UAAWwH,SAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SAEE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,6BAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,0BACHiW,KAAK,0BACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTpC,MAAO4+B,GAAQpnB,OAAO4oB,wBACtB3T,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ6K,yBAA2B5K,QAAQoJ,GAAQtuB,OAAO8vB,yBACzE3K,WAAYmJ,GAAQrJ,QAAQ6K,yBAA2BxB,GAAQtuB,OAAO8vB,wBACtErK,UAAWwH,EAjBb,UAmBE,4BACCjlB,GAAYzW,KAAI,SAACzB,GAAD,OACf,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EADxE,SAQrB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,2BACHiW,KAAK,2BACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAO8oB,yBACtB7T,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ+K,0BAA4B9K,QAAQoJ,GAAQtuB,OAAOgwB,0BAC1E7K,WAAYmJ,GAAQrJ,QAAQ+K,0BAA4B1B,GAAQtuB,OAAOgwB,yBACvEvK,UAAWwH,SAIjB,wBAEA,eAAC5xB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SAEE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,UACHiW,KAAK,UACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,+BACTpC,MAAO4+B,GAAQpnB,OAAOwgB,QACtBvL,SAAUmS,GAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQyC,SAAWxC,QAAQvB,GAAO3jB,OAAO0nB,SACvDvC,WAAYxB,GAAOsB,QAAQyC,SAAW/D,GAAO3jB,OAAO0nB,QACpDjC,UAAWwH,QAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SAqBE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,EACN9W,MAAOc,GAAUC,SACjB5H,GAAG,sBACHiW,KAAK,sBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,+BACTpC,MAAO4+B,GAAQpnB,OAAOmpB,uBACtBn4B,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQmG,qBAAuBlG,QAAQoJ,GAAQtuB,OAAOorB,qBACrEjG,WAAYmJ,GAAQrJ,QAAQmG,qBAAuBkD,GAAQtuB,OAAOorB,oBAClEyB,aAAa,kBACbN,cAAe,CAAC,OAChBpQ,SAAU,SAAClrB,GACTo9B,GAAoBp9B,EACrB,EACDw0B,UAAWwH,MAGf,eAAC7mB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,+BACKngC,KAAOiT,QAAQozB,GAAQpnB,OAAOmpB,wBAY7B,KAXF,eAACpF,GAAA,EAAD,CACEj0B,QAAS,SAAC/F,GACRwF,QAAQC,IAAI,sBAAuB43B,GAAQpnB,OAAOmpB,wBAClDp/B,EAAE8J,iBACF,IAAIqY,EAAiBhhB,EAAOC,eAAiB,+BAAiCi8B,GAAQpnB,OAAOmpB,uBACzF75B,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,EAPH,SASE,oBAAGlb,UAAU,aAAaC,MAAO,CAAC,aAM5C,wBAEA,qBAAID,UAAU,SAEd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,SACGhH,GAAE,2BAGL,eAACuJ,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SAEE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,YACHiW,KAAK,YACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,oBACTpC,MAAO4+B,GAAQpnB,OAAOopB,UACtBnU,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQqL,WAAapL,QAAQoJ,GAAQtuB,OAAOswB,WAC3DnL,WAAYmJ,GAAQrJ,QAAQqL,WAAahC,GAAQtuB,OAAOswB,UACxD7K,UAAU,QAIhB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAEE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,wBAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,gCACHiW,KAAK,gCACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTpC,MAAO4+B,GAAQpnB,OAAO2pB,8BACtB1U,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ4L,+BAAiC3L,QAAQoJ,GAAQtuB,OAAO6wB,+BAC/E1L,WAAYmJ,GAAQrJ,QAAQ4L,+BAAiCvC,GAAQtuB,OAAOoyB,uBAC5E3M,UAAW4H,MAIf,eAACjnB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,iCACHiW,KAAK,iCACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAO6pB,+BACtB5U,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ8L,gCAAkC7L,QAAQoJ,GAAQtuB,OAAO+wB,gCAChF5L,WAAYmJ,GAAQrJ,QAAQ8L,gCAAkCzC,GAAQtuB,OAAO+wB,+BAC7EtL,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAEE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,SACGpgC,GAAE,qBAIT,eAACsU,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,+BACHiW,KAAK,+BACL/Y,MAAOsD,GAAE,kBACToqB,QAAQ,WACRxsB,MAAO4+B,GAAQpnB,OAAO8pB,6BACtB7U,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ+L,8BAAgC9L,QAAQoJ,GAAQtuB,OAAOgxB,8BAC9E7L,WAAYmJ,GAAQrJ,QAAQ+L,8BAAgC1C,GAAQtuB,OAAOgxB,6BAC3EvL,UAAW4H,EAjBb,UAmBE,4BACCjlB,GAAc7W,KAAI,SAACzB,GAAD,OACjB,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EADtE,SAQvB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,6BACHiW,KAAK,6BACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,kBACTqgC,WAAW,EACXpN,KAAM,EACNr1B,MAAO4+B,GAAQpnB,OAAOgqB,2BACtB/U,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQiM,4BAA8BhM,QAAQoJ,GAAQtuB,OAAOkxB,4BAC5E/L,WAAYmJ,GAAQrJ,QAAQiM,4BAA8B5C,GAAQtuB,OAAOkxB,2BACzEzL,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SAEE,gBAAC,GAAD,CACEwjB,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,oBACHiW,KAAK,oBACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,2BACTpC,MAAO4+B,GAAQpnB,OAAOypB,kBACtBxU,SAAUmS,GAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQ0L,mBAAqBzL,QAAQoJ,GAAQtuB,OAAO2wB,mBACnExL,WAAYmJ,GAAQrJ,QAAQ0L,mBAAqBrC,GAAQtuB,OAAO2wB,kBAChElL,UAAW4H,EAjBb,UAmBE,4BACCplB,GAAW1W,KAAI,SAACzB,GAAD,OACd,yBAAQqI,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAqB7Y,MAAOI,EAApG,SACGgC,GAAE,WAAahC,IADqEA,EADzE,SAQpB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SAEE,eAAC,GAAD,CACEyjB,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,aACHiW,KAAK,aACLnR,KAAK,QACL8lB,QAAQ,WACR1tB,MAAOsD,GAAE,mBACTpC,MAAO4+B,GAAQpnB,OAAOupB,WACtBtU,SAAUmS,GAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQwL,YAAcvL,QAAQoJ,GAAQtuB,OAAOywB,YAC5DtL,WAAYmJ,GAAQrJ,QAAQwL,YAAcnC,GAAQtuB,OAAOywB,WACzDhL,UAAW4H,SAIjB,wBAEA,eAAChyB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SAEE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,eACHiW,KAAK,eACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,sBACTpC,MAAO4+B,GAAQpnB,OAAOspB,aACtBrU,SAAUmS,GAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQuL,cAAgBtL,QAAQoJ,GAAQtuB,OAAOwwB,cAC9DrL,WAAYmJ,GAAQrJ,QAAQuL,cAAgBlC,GAAQtuB,OAAOwwB,aAC3D/K,UAAW4H,QAIjB,wBAEA,eAAChyB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SAEE,eAAC,GAAD,CACEnM,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,eACHiW,KAAK,eACL2U,QAAQ,WACR1tB,MAAOsD,GAAE,yBACTpC,MAAO4+B,GAAQpnB,OAAOwpB,aACtByB,WAAW,EACXpN,KAAM,EACN5I,SAAUmS,GAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,GAAQrJ,QAAQyL,cAAgBxL,QAAQoJ,GAAQtuB,OAAO0wB,cAC9DvL,WAAYmJ,GAAQrJ,QAAQyL,cAAgBpC,GAAQtuB,OAAO0wB,aAC3DjL,UAAW4H,QAMjB,wBACA,qBAAIn1B,UAAU,SAEd,sBAAKA,UAAU,UAAf,SACE,oBAAGA,UAAU,aAAb,SAA2BpG,GAAE,+BAG/B,wBAEA,uBAAKoG,UAAU,cAAf,UACE,eAACsjB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,QAAjD,SACGtE,GAAE,mBAEL,eAAC0pB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAAjD,SACGtE,GAAE,2CAY1B,ECpxDKiyB,GAAmBR,KAAW,CAClC/S,UAAW+S,KAAW,yBAAyBpzB,IAAI,IAAK,yDAAyDqzB,SAAS,0BAC1H5S,SAAU2S,KAAW,wBAAwBpzB,IAAI,IAAK,0DAGlDkiC,GAA+B9O,KAAW,CAAC,GAisClCuJ,GA/rCC,SAAC58B,GAAW,IAAD,IAEnBgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAsCuU,mBAAS,CAAC,CAAEpkB,MAAO,EAAGs+B,UAAW,MAAvE,oBAIA,GAJA,UAIsCla,mBAAS,CAAC,IAAhD,oBAAO5M,EAAP,KAAoBikB,EAApB,KACA,EAAsCrX,mBAAS,CAAC,GAAhD,oBAAOD,EAAP,KAAoBqX,EAApB,KAEA,EAA4CpX,mBAAS,CAAC,GAAtD,oBAAOzM,EAAP,KAAuBiQ,EAAvB,KACA,EAAoCxD,oBAAS,GAA7C,oBAAOie,EAAP,KAAmBC,EAAnB,KACA,EAAwCle,mBAAS,GAAjD,oBAAOme,EAAP,KAAqBC,EAArB,KACA,EAAsCpe,oBAAS,GAA/C,oBAAOqe,EAAP,KAAoBC,EAApB,KACA,EAA4Cte,mBAAS,GAArD,oBAAOue,EAAP,KAAuB+E,EAAvB,KAGA,EAA4BtjB,oBAAS,GAArC,oBAAOuW,EAAP,KAEA,GAFA,KAEsCvW,mBAAS,YAA/C,oBAAOsX,EAAP,KAAoBC,EAApB,KAUM5T,EAAkB/X,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKH,qBAAtB,IACjCjM,cAAYC,QAAQC,IAAI,UAAWic,GAEtC,IAAMrD,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAC1B5M,cAAYC,QAAQC,IAAI,WAAY4Y,GAEvCzU,qBAAU,WAER,GADGrE,cAAYC,QAAQC,IAAI,iBAAkB6L,GACzCoQ,IAAoB1qB,KAAOiT,QAAQyX,GAAkB,CAAC,IAAD,IAInD4f,EAAgB,OAAG5f,QAAH,IAAGA,OAAH,EAAGA,EAAiB/P,KAEpC2vB,GAAoBxgC,OAAOX,KAAKmhC,GAAkB9hC,OAAS,GAC7D81B,EAAe,WACZ/vB,cAAYC,QAAQC,IAAI,gBAC3B0vB,EAAemM,KAEZ/7B,cAAYC,QAAQC,IAAI,gBAC3B6vB,EAAe,YAGjB,IAAMiM,EAAW5/B,KAAK6e,UAAUkB,EAAgBE,SAC1CA,EAAUjgB,KAAKC,MAAM2/B,GAE3BnM,EAAexT,GAEf,IAM4B,IANxB1P,EAAY,UAAGwP,EAAgBE,eAAnB,iBAAG,EAAyBC,kBAA5B,aAAG,EAAqC3P,aAMxD,GALAqP,EAAkBrP,GACf3M,cAAYC,QAAQC,IAAI,WAAY87B,GACpCh8B,cAAYC,QAAQC,IAAI,UAAWmc,GACnCrc,cAAYC,QAAQC,IAAI,kBAAmBic,IAEzB,IAAjBxP,EACF0P,EAAQC,WAAR,uBAAqCD,EAAQC,kBAA7C,iBAAqC,EAAoB3P,oBAAzD,aAAqC,EAAkCxL,KACxD,OAAXyK,QAAW,IAAXA,OAAA,EAAAA,EAAaQ,QAASO,EAAayqB,UACrCV,GAAc,GAEdA,GAAc,GAGb12B,cAAYC,QAAQC,IAAI,QAASu2B,GAEjCz2B,cAAYC,QAAQC,IAAI,aAAcyM,EAAa2qB,MACtD3qB,EAAa2qB,KAAKv8B,KAAI,SAACu8B,EAAM/iC,GACxByL,cAAYC,QAAQC,IAAI,IAAK3L,GAC7ByL,cAAYC,QAAQC,IAAI,aAAco3B,EAAKC,YAC3Cv3B,cAAYC,QAAQC,IAAI,SAAZ,OAAsB0L,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAaQ,OACnC,OAAXR,QAAW,IAAXA,OAAA,EAAAA,EAAaQ,QAASkrB,EAAKC,aAC7BX,EAAgBriC,GACbyL,cAAYC,QAAQC,IAAI,OAAQ3L,GACnCuiC,GAAe,IAGd92B,cAAYC,QAAQC,IAAI,aAAc22B,EAC1C,GAGJ,CACDn3B,EAAS2Q,KACV,GAAE,CAAC8L,IAEJ9X,qBAAU,WAAO,IAAD,EAa0C,MAcQ,yDAzB7DrE,cAAYC,QAAQC,IAAI,4BAA6BqY,GACrDvY,cAAYC,QAAQC,IAAI,4BAA6B0L,GAEpD2M,IAAgB9mB,KAAOiT,QAAQ6T,KACjC4U,EAAOzc,OAAO6K,QAAoB,OAAXhD,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKtR,KAAM,GAC/CqyB,EAAOzc,OAAOtE,MAAkB,OAAXmM,QAAW,IAAXA,OAAA,EAAAA,EAAanM,OAAQ,GAC1C+gB,EAAOzc,OAAO8K,OAAmB,OAAXjD,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKoP,QAAS,GAEjDsc,EAAQpnB,OAAOiqB,yBAAqC,OAAXpiB,QAAW,IAAXA,OAAA,EAAAA,EAAanM,KAAKtR,KAAM,IAG/D8Q,GAAerQ,OAAOX,KAAKgR,GAAa3R,OAAS,KACnDkzB,EAAOzc,OAAOkgB,WAAuB,OAAXhlB,QAAW,IAAXA,OAAA,EAAAA,EAAazK,MAAO,GAC9CgsB,EAAOzc,OAAOsJ,WAAuB,OAAXpO,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,YAAa,GACpDmT,EAAOzc,OAAO0J,UAAsB,OAAXxO,QAAW,IAAXA,OAAA,EAAAA,EAAawO,WAAY,GAClD+S,EAAOzc,OAAO8K,OAAmB,OAAX5P,QAAW,IAAXA,OAAA,EAAAA,EAAaQ,KAAKoP,QAAS,GACjD2R,EAAOzc,OAAOoI,UAAsB,OAAXlN,QAAW,IAAXA,OAAA,EAAAA,EAAakN,WAAY,GAClDqU,EAAOzc,OAAOO,gBAA4B,OAAXrF,QAAW,IAAXA,OAAA,EAAAA,EAAaqF,iBAAkB,GAC9Dkc,EAAOzc,OAAOQ,kBAA8B,OAAXtF,QAAW,IAAXA,OAAA,EAAAA,EAAasF,mBAAoB,GAClEic,EAAOzc,OAAOurB,WAAuB,OAAXrwB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,eAAyBd,QAAS,GAC5D2R,EAAOzc,OAAOkjB,aAAyB,OAAXhoB,QAAW,IAAXA,GAAA,UAAAA,EAAa0rB,YAAb,eAAmBpG,UAAW,GAC1D/D,EAAOzc,OAAOygB,iBAA6B,OAAXvlB,QAAW,IAAXA,GAAA,UAAAA,EAAa0Q,kBAAb,eAAyB8U,cAAe,IAGzC,aAAlB,OAAX7Y,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,eAAmB+M,SACjBpN,GAAkBxQ,OAAOX,KAAKmR,GAAgB9R,OAAS,IAGzD69B,EAAQpnB,OAAO4nB,gBAA+B,OAAdvsB,QAAc,IAAdA,OAAA,EAAAA,EAAgB5K,MAAO,GACvD22B,EAAQpnB,OAAOsJ,WAA0B,OAAdjO,QAAc,IAAdA,OAAA,EAAAA,EAAgBiO,YAAa,GACxD8d,EAAQpnB,OAAO0J,UAAyB,OAAdrO,QAAc,IAAdA,OAAA,EAAAA,EAAgBqO,WAAY,GACtD0d,EAAQpnB,OAAO9Q,MAAqB,OAAdmM,QAAc,IAAdA,OAAA,EAAAA,EAAgBnM,OAAQ,GAC9Ck4B,EAAQpnB,OAAO6nB,oBAA6D,KAA1B,OAAdxsB,QAAc,IAAdA,GAAA,UAAAA,EAAgBysB,mBAAhB,eAA6Br4B,QAAkB,MAAQ,KAC3F23B,EAAQpnB,OAAO+nB,qBAAoC,OAAd1sB,QAAc,IAAdA,GAAA,UAAAA,EAAgBysB,mBAAhB,eAA6BE,UAAW,GAC7EZ,EAAQpnB,OAAOioB,eAA8B,OAAd5sB,QAAc,IAAdA,OAAA,EAAAA,EAAgB4sB,gBAAiB,GAChEb,EAAQpnB,OAAOkoB,sBAAiE,KAA5B,OAAd7sB,QAAc,IAAdA,GAAA,UAAAA,EAAgB8sB,qBAAhB,eAA+B14B,QAAkB,MAAQ,KAC/F23B,EAAQpnB,OAAOooB,uBAAsC,OAAd/sB,QAAc,IAAdA,GAAA,UAAAA,EAAgB8sB,qBAAhB,eAA+BE,SAAU,GAChFjB,EAAQpnB,OAAOsoB,4BAA6E,KAAlC,OAAdjtB,QAAc,IAAdA,GAAA,UAAAA,EAAgBktB,2BAAhB,eAAqC94B,QAAkB,MAAQ,KAC3G23B,EAAQpnB,OAAOwoB,6BAA4C,OAAdntB,QAAc,IAAdA,GAAA,UAAAA,EAAgBktB,2BAAhB,eAAqCF,SAAU,GAC5FjB,EAAQpnB,OAAOyoB,oBAA6D,KAA1B,OAAdptB,QAAc,IAAdA,GAAA,UAAAA,EAAgBqtB,mBAAhB,eAA6Bj5B,QAAkB,MAAQ,KAC3F23B,EAAQpnB,OAAO2oB,qBAAoC,OAAdttB,QAAc,IAAdA,GAAA,UAAAA,EAAgBqtB,mBAAhB,eAA6BL,SAAU,GAC5EjB,EAAQpnB,OAAO4oB,yBAAuE,KAA/B,OAAdvtB,QAAc,IAAdA,GAAA,UAAAA,EAAgBwtB,wBAAhB,eAAkCp5B,QAAkB,MAAQ,KACrG23B,EAAQpnB,OAAO8oB,0BAAyC,OAAdztB,QAAc,IAAdA,GAAA,UAAAA,EAAgBwtB,wBAAhB,eAAkCR,SAAU,GACtFjB,EAAQpnB,OAAOsgB,gBAA+B,OAAdjlB,QAAc,IAAdA,OAAA,EAAAA,EAAgBilB,iBAAkB,GAClE8G,EAAQpnB,OAAO/D,cAA6B,OAAdZ,QAAc,IAAdA,OAAA,EAAAA,EAAgBgF,OAAQ,GACtD+mB,EAAQpnB,OAAO0mB,WAA0B,OAAdrrB,QAAc,IAAdA,OAAA,EAAAA,EAAgBqrB,YAAa,GACxDU,EAAQpnB,OAAO0L,SAAwB,OAAdrQ,QAAc,IAAdA,GAAA,UAAAA,EAAgBqQ,eAAhB,eAAyBrL,OAAQ,GAC1D+mB,EAAQpnB,OAAOwgB,SAAwB,OAAdnlB,QAAc,IAAdA,OAAA,EAAAA,EAAgBmlB,UAAW,GACpD4G,EAAQpnB,OAAO9Q,MAAqB,OAAdmM,QAAc,IAAdA,OAAA,EAAAA,EAAgBnM,OAAQ,GAC9Ck4B,EAAQpnB,OAAOopB,WAA0B,OAAd/tB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoC5lB,OAAQ,GACvE+mB,EAAQpnB,OAAOqpB,iBAAgC,OAAdhuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCY,aAAc,KACnFO,EAAQpnB,OAAOspB,cAA6B,OAAdjuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCzF,UAAW,GAC7E4G,EAAQpnB,OAAOupB,YAA2B,OAAdluB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCnb,QAAS,GACzEsc,EAAQpnB,OAAOwpB,cAA6B,OAAdnuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCnD,UAAW,GAC7EsE,EAAQpnB,OAAO+oB,sCAAqD,OAAd1tB,QAAc,IAAdA,GAAA,UAAAA,EAAgB2tB,qCAAhB,eAA+CC,SAAU,EAC/G7B,EAAQpnB,OAAOkpB,sCAAqD,OAAd7tB,QAAc,IAAdA,GAAA,UAAAA,EAAgB2tB,qCAAhB,eAA+CX,SAAU,GAC/GjB,EAAQpnB,OAAOypB,mBAAyE,KAAvC,OAAdpuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,eAAoCyD,cAAwB,MAAQ,KACvGtC,EAAQpnB,OAAO2pB,+BAA8C,OAAdtuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoC2D,yBAApC,eAAuDX,SAAU,EAChH7B,EAAQpnB,OAAO6pB,gCAA+C,OAAdxuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoC2D,yBAApC,eAAuDvB,SAAU,GACjHjB,EAAQpnB,OAAO8pB,8BAA6C,OAAdzuB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoCgC,qBAApC,eAAmD8B,YAAa,GAC9G3C,EAAQpnB,OAAOgqB,4BAA2C,OAAd3uB,QAAc,IAAdA,GAAA,UAAAA,EAAgBurB,KAAKX,UAArB,mBAAoCgC,qBAApC,eAAmDI,SAAU,GACzGjB,EAAQpnB,OAAOkqB,6BAA4C,OAAd7uB,QAAc,IAAdA,GAAA,UAAAA,EAAgB8uB,oBAAhB,eAA8BC,iBAAkB,KAGjGgB,EAAkB/E,EAAiB,EACpC,GAAE,CAACxe,EAAa3M,EAAaG,IAE9B,IAAMohB,EAASC,aAAU,CACvBC,cAAe,CACb6O,UAAW,GACXC,SAAU,GACV3gB,MAAO,GACPvK,eAAgB,GAChBC,iBAAkB,GAClB4H,SAAU,GACVqY,gBAAiB,GACjBiL,eAAgB,IAElB7O,iBAAkBA,GAClBC,SAAU,SAAC9c,EAAQ+c,GACdztB,cAAYC,QAAQC,IAAI,iBAAkBwQ,EAC9C,IAGGonB,EAAU1K,aAAU,CACxBC,cAAe,CACbiL,eAAgB,GAChBlc,QAAS,GACTzP,aAAc,GACdmtB,UAAW,GACXC,gBAAiB,GACjBC,aAAc,GACdE,aAAc,GACdtB,sBAAsB,EACtBE,sBAAuB,GACvBE,4BAA4B,EAC5BE,6BAA6B,EAC7BC,oBAAoB,EACpBE,oBAAqB,GACrBC,yBAAyB,EACzBE,yBAA0B,GAC1BW,mBAAmB,EACnBV,qCAAsC,EACtCG,qCAAsC,GACtCS,8BAA+B,EAC/BG,6BAA8B,GAC9BD,+BAAgC,GAChCG,2BAA4B,GAC5B96B,KAAM,GACN24B,oBAAoB,EACpBE,oBAAqB,GACrBzH,eAAgB,GAChB2H,cAAe,GACfzH,QAAS,GACTkG,UAAW,GACXuD,wBAAyB,GACzBC,4BAA6B,IAE/BrN,iBAAkBsO,GAClBrO,SAAU,SAAC9c,EAAQ+c,GAEdztB,cAAYC,QAAQC,IAAI,sBAAuBwQ,GAClD,IAAIsqB,EAAQ,CACV76B,OAAsC,QAA9BuQ,EAAO6nB,mBACfG,QAAShoB,EAAO+nB,qBAElB/nB,EAAM,YAAkBsqB,EACrBh7B,cAAYC,QAAQC,IAAI,UAAWwQ,EAAO6nB,oBAC1Cv4B,cAAYC,QAAQC,IAAI,QAASwQ,GAEpC,IAAIW,EAAS,CACXlR,OAAwC,QAAhCuQ,EAAOkoB,qBACfG,OAAQroB,EAAOooB,uBAEjBpoB,EAAM,cAAoBW,EACvBrR,cAAYC,QAAQC,IAAI,QAASmR,GAEpC,IAAIE,EAAa,CACfpR,OAA8C,QAAtCuQ,EAAOsoB,2BACfD,OAAQroB,EAAOwoB,6BAEjBxoB,EAAM,oBAA0Ba,EAC7BvR,cAAYC,QAAQC,IAAI,aAAcqR,GAEzC,IAAID,EAAO,CACTnR,OAAsC,QAA9BuQ,EAAOyoB,mBACfJ,OAAQroB,EAAO2oB,qBAEjB3oB,EAAM,YAAkBY,EACrBtR,cAAYC,QAAQC,IAAI,OAAQoR,GAEnC,IAAIE,EAAc,CAChBrR,OAA2C,QAAnCuQ,EAAO4oB,wBACfP,OAAQroB,EAAO8oB,0BAEjB9oB,EAAM,iBAAuBc,EAC1BxR,cAAYC,QAAQC,IAAI,cAAesR,GAE1C,IAAIqpB,EAAe,CACjBI,WAAYvqB,EAAOiqB,wBACnBG,eAAgBpqB,EAAOkqB,6BAEzBlqB,EAAM,aAAmBmqB,EACtB76B,cAAYC,QAAQC,IAAI,eAAgB26B,GAE3C,IAAIK,EAAY,CACd,CACEnqB,KAAML,EAAOopB,UACbvC,WAAY7mB,EAAOqpB,gBACnB7I,QAASxgB,EAAOspB,aAChBxe,MAAO9K,EAAOupB,WACdzG,QAAS9iB,EAAOwpB,aAChBE,aAA2C,QAA7B1pB,EAAOypB,kBACrBxB,cAAejoB,EAAO8pB,6BACtBF,kBAAmB5pB,EAAO2pB,gCAG9B3pB,EAAM,KAAWwqB,EACdl7B,cAAYC,QAAQC,IAAI,YAAag7B,GACxCx7B,EAASjB,GAAmBiS,GAAQ,EAAM9P,GAC3C,IAGH,OACE,uCACE,eAAC,GAAD,IAEA,eAACgB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,gBAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,UAEGkK,GACC,eAACgE,GAAA,EAAD,CAAKlO,UAAU,0BAA0BmO,GAAG,IAA5C,SACE,gBAAC/K,GAAA,EAAD,CAAMpD,UAAU,sBAAhB,UACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,eAACkO,GAAA,EAAD,CAAKlO,UAAU,aAAamd,GAAG,IAAIld,MAAO,CAAE6mB,YAAa,IAAzD,SACE,sBAAK9mB,UAAU,qBAAf,SACE,sBACEA,UAAU,iBACVC,MAAO,CACL8c,gBAAiB,QAAU7iB,EAAOC,eAAiBD,EAAOse,iBAAzC,OAA2DtO,QAA3D,IAA2DA,OAA3D,EAA2DA,EAAaqF,gBAAiB,KAC1Grd,gBAAiB,WAJrB,SAOc,OAAXgY,QAAW,IAAXA,KAAaqF,eAAiB,GAAKrF,GAAW,OAAIA,QAAJ,IAAIA,KAAaoO,YAAwB,OAAXpO,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,UAAU/f,QAAS,EAAzE,OAA6E2R,QAA7E,IAA6EA,OAA7E,EAA6EA,EAAaoO,UAAUG,OAAO,GAAGpD,cAAgB,WAK1K,eAAClS,GAAA,EAAD,CAAKlD,MAAO,CAAE6vB,WAAY,IAAKha,OAAQ,IAAvC,SACE,eAAC5H,GAAA,EAAD,CAAKlO,UAAU,yDAAyDC,MAAO,CAAElL,QAAS,GAA1F,SACE,6BAGJ,gBAACsqB,GAAA,EAAD,CAAUrf,UAAU,eAApB,UACE,sBAAKA,UAAU,cAAf,SACE,sCAEF,uBAAKA,UAAU,cAAf,UACE,8BAAKiV,IAAoB,OAAX/K,QAAW,IAAXA,OAAA,EAAAA,EAAaoO,WAAY,KAAzB,OAA+BpO,QAA/B,IAA+BA,OAA/B,EAA+BA,EAAawO,aAC1D,sBAAK1Y,UAAU,qBAAf,gBAAqC6W,QAArC,IAAqCA,GAArC,UAAqCA,EAAanM,YAAlD,aAAqC,EAAmBoP,QACxD,mCAQV,gBAAC5L,GAAA,EAAD,CAAKlO,UAAU,aAAamO,GAAG,IAAIlO,MAAO,CAAEhL,QAAyB,YAAhBm5B,EAA4B,QAAU,QAA3F,UACE,eAAChrB,GAAA,EAAD,UACE,eAACic,GAAA,EAAD,UACE,gBAAC6M,GAAA,EAAD,CAAM9yB,GAAIi8B,EAAgBlJ,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAArF,UACE,sBAAKtsB,UAAU,qBAAqBC,MAAOc,GAAUJ,MAArD,0BAIA,wBACA,uBAAKX,UAAU,UAAf,UACE,qBAAIA,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,8BAGA,eAACuC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACE8W,UAAQ,EACR5W,WAAS,EACT3qB,GAAG,QACHiW,KAAK,QACL2U,QAAQ,WACR1tB,MAAM,QACNkB,MAAOi0B,EAAOzc,OAAO8K,MACrBmK,SAAUwH,EAAOkB,aACjBG,MAAOrB,EAAOsB,QAAQjT,OAASkT,QAAQvB,EAAO3jB,OAAOgS,OACrDmT,WAAYxB,EAAOsB,QAAQjT,OAAS2R,EAAO3jB,OAAOgS,MAClD9Z,UAAU,iEACV4yB,WAAY,CAAEmB,UAAU,EAAMxG,UAAU,SAI9C,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAIld,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACujB,GAAA,EAAD,CACE8W,UAAQ,EACR5W,WAAS,EACT3qB,GAAG,YACHiW,KAAK,YACL2U,QAAQ,WACR1tB,MAAM,aACNkB,MAAOi0B,EAAOzc,OAAOsJ,UACrB2L,SAAUwH,EAAOkB,aACjBG,MAAOrB,EAAOsB,QAAQzU,WAAa0U,QAAQvB,EAAO3jB,OAAOwQ,WACzD2U,WAAYxB,EAAOsB,QAAQzU,WAAamT,EAAO3jB,OAAOwQ,UACtDtY,UAAWqtB,EAAS,6CAA+C,gDACnEuF,WAAY,CACVmB,UAAU,EACVxG,UAAU,OAKhB,eAACrf,GAAA,EAAD,CAAKiP,GAAG,IAAIld,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACujB,GAAA,EAAD,CACE8W,UAAQ,EACR5W,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR1tB,MAAM,YACNkB,MAAOi0B,EAAOzc,OAAO0J,SACrBuL,SAAUwH,EAAOkB,aACjBG,MAAOrB,EAAOsB,QAAQrU,UAAYsU,QAAQvB,EAAO3jB,OAAO4Q,UACxDuU,WAAYxB,EAAOsB,QAAQrU,UAAY+S,EAAO3jB,OAAO4Q,SACrD1Y,UAAWqtB,EAAS,6CAA+C,gDACnEuF,WAAY,CACVmB,UAAU,EACVxG,UAAU,UAKlB,wBAECF,GACC,eAAClqB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,iBACHiW,KAAK,iBACLnR,KAAK,OACL8lB,QAAQ,WACR1tB,MAAM,kBACNskC,UAAU,EACV3W,SAAU,SAAClrB,GAAQ,EACnB8hC,gBAAiB,CACf/G,QAAQ,GAEVhH,MAAOrB,EAAOsB,QAAQxd,gBAAkByd,QAAQvB,EAAO3jB,OAAOyH,gBAC9DvP,UAAU,6CACVitB,WAAYxB,EAAOsB,QAAQxd,gBAAkBkc,EAAO3jB,OAAOyH,eAC3DqjB,WAAY,CAAEmB,UAAU,EAAMxG,UAAU,SAKhD,wBAEA,eAACpqB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,gBAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR1tB,MAAM,WACNkB,MAAOi0B,EAAOzc,OAAOoI,SACrB6M,SAAUwH,EAAOkB,aACjBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQ3V,UAAY4V,QAAQvB,EAAO3jB,OAAOsP,UACxD6V,WAAYxB,EAAOsB,QAAQ3V,UAAYqU,EAAO3jB,OAAOsP,SACrDwb,WAAY,CAAEmB,UAAU,EAAMxG,UAAU,GAf1C,UAiBE,yBAAe/1B,MAAM,IAAT,IACX4f,EAAS/d,KAAI,SAACzB,EAAM/E,GAAP,OACZ,yBAAwB2E,MAAOI,EAAKqB,KAApC,SACGrB,EAAKyX,MADKzX,EAAKyX,KADN,WAQpB,wBAEA,eAAClM,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,kBACHiW,KAAK,kBACL2U,QAAQ,WACR1tB,MAAM,cACNkB,MAAOi0B,EAAOzc,OAAOygB,gBACrBxL,SAAUwH,EAAOkB,aACjBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQ0C,iBAAmBzC,QAAQvB,EAAO3jB,OAAO2nB,iBAC/DxC,WAAYxB,EAAOsB,QAAQ0C,iBAAmBhE,EAAO3jB,OAAO2nB,gBAC5DmD,WAAY,CAAEmB,UAAU,EAAMxG,UAAU,SAI9C,wBACA,eAAC3J,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,YAAvB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WAEPqc,OAAOjc,QAAQguB,MAChB,EANH,kCAkBd,wBAEA,eAAC9pB,GAAA,EAAD,CACEnD,MAAO,CACLhL,QAAsC,aAAlB,OAAX4hB,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,eAAmB+M,OAAsB,QAAU,QAFhE,SAKE,eAAC4H,GAAA,EAAD,UACE,gBAAC6M,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUsK,EAAQhK,aAAcC,QAAS+J,EAAQ9J,YAAnE,UACE,sBAAKtsB,UAAU,qBAAqBC,MAAOc,GAAUJ,MAArD,oCAGA,uBAAKX,UAAU,UAAf,UACE,qBAAIA,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,oCAGA,eAACuC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACR1tB,MAAM,WACNkB,MAAO4+B,EAAQpnB,OAAO0L,QACtBuJ,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQrS,SAAWsS,QAAQoJ,EAAQtuB,OAAO4S,SACzDuS,WAAYmJ,EAAQrJ,QAAQrS,SAAW0b,EAAQtuB,OAAO4S,QACtD6S,UAAU,QAIhB,wBAEA,eAACpqB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,eACHiW,KAAK,eACL2U,QAAQ,WACR1tB,MAAM,4BACNkB,MAAO4+B,EAAQpnB,OAAO/D,aACtBgZ,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ9hB,cAAgB+hB,QAAQoJ,EAAQtuB,OAAOmD,cAC9DgiB,WAAYmJ,EAAQrJ,QAAQ9hB,cAAgBmrB,EAAQtuB,OAAOmD,aAC3DsiB,UAAU,QAIhB,wBAEA,qBAAIvtB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,mCAGA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAM,wBACNkB,MAAO4+B,EAAQpnB,OAAO9Q,KACtB+lB,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ7uB,MAAQ8uB,QAAQoJ,EAAQtuB,OAAO5J,MACtD+uB,WAAYmJ,EAAQrJ,QAAQ7uB,MAAQk4B,EAAQtuB,OAAO5J,KACnDqvB,UAAWwH,EAfb,SAiBGtlB,GAAUpW,KAAI,SAACzB,GAAD,OACb,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADA,QAQnB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR1tB,MAAM,mCACNkB,MAAO4+B,EAAQpnB,OAAOsgB,eACtBrL,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQuC,gBAAkBtC,QAAQoJ,EAAQtuB,OAAOwnB,gBAChErC,WAAYmJ,EAAQrJ,QAAQuC,gBAAkB8G,EAAQtuB,OAAOwnB,eAC7D/B,UAAWwH,EAfb,SAiBG/kB,GAAU3W,KAAI,SAACzB,GAAD,OACb,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADA,WAQrB,wBAEA,gBAACuL,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SACE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,mEAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO6nB,mBACtB5S,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ8J,oBAAsB7J,QAAQoJ,EAAQtuB,OAAO+uB,oBACpE5J,WAAYmJ,EAAQrJ,QAAQ8J,oBAAsBT,EAAQtuB,OAAO+uB,mBACjEtJ,UAAWwH,EAfb,SAkBGrlB,GAAcrW,KAAI,SAACzB,GAAD,OACjB,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADI,QAQvB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,sBACHiW,KAAK,sBACL2U,QAAQ,WACR1tB,MAAM,UACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAO4+B,EAAQpnB,OAAO+nB,oBACtB9S,SAAUmS,EAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQgK,qBAAuB/J,QAAQoJ,EAAQtuB,OAAOivB,qBACrE9J,WAAYmJ,EAAQrJ,QAAQgK,qBAAuBX,EAAQtuB,OAAOivB,oBAClExJ,UAAWwH,SAIjB,wBAEA,gBAAC5xB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,sCAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,uCACHiW,KAAK,uCACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO+oB,qCACtB9T,SAAUmS,EAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQgL,sCAAwC/K,QAAQoJ,EAAQtuB,OAAOiwB,sCACtF9K,WAAYmJ,EAAQrJ,QAAQgL,sCAAwC3B,EAAQtuB,OAAOiwB,qCACnFxK,UAAWwH,MAIf,eAAC7mB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,uCACHiW,KAAK,uCACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOkpB,qCACtBjU,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQmL,sCAAwClL,QAAQoJ,EAAQtuB,OAAOowB,sCACtFjL,WAAYmJ,EAAQrJ,QAAQmL,sCAAwC9B,EAAQtuB,OAAOowB,qCACnF3K,UAAW4H,SAIjB,wBAEA,eAAChyB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,gBAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,UACE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,uCAGA,eAACnW,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,gBACHiW,KAAK,gBACL2U,QAAQ,WACRxsB,MAAO4+B,EAAQpnB,OAAOioB,cACtBhT,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQkK,eAAiBjK,QAAQoJ,EAAQtuB,OAAOmvB,eAC/DhK,WAAYmJ,EAAQrJ,QAAQkK,eAAiBb,EAAQtuB,OAAOmvB,cAC5D1J,UAAWwH,EAdb,SAgBG9kB,GAAS5W,KAAI,SAACzB,GAAD,OACZ,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADD,aAUtB,eAACuL,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,gBAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,UACE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,kCAGA,eAACnW,GAAA,EAAD,CACEzqB,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACRxsB,MAAO4+B,EAAQpnB,OAAOwgB,QACtBvL,SAAUmS,EAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQyC,SAAWxC,QAAQvB,EAAO3jB,OAAO0nB,SACvDvC,WAAYxB,EAAOsB,QAAQyC,SAAW/D,EAAO3jB,OAAO0nB,QACpDjC,UAAWwH,WAMnB,qBAAI/0B,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,4BAIA,eAACuC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,YACHiW,KAAK,YACL2U,QAAQ,WACR1tB,MAAM,YACNkB,MAAO4+B,EAAQpnB,OAAOopB,UACtBnU,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQqL,WAAapL,QAAQoJ,EAAQtuB,OAAOswB,WAC3DnL,WAAYmJ,EAAQrJ,QAAQqL,WAAahC,EAAQtuB,OAAOswB,UACxD7K,UAAU,QAKhB,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,4EAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,uBACHiW,KAAK,uBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOkoB,qBACtBjT,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQmK,sBAAwBlK,QAAQoJ,EAAQtuB,OAAOovB,sBACtEjK,WAAYmJ,EAAQrJ,QAAQmK,sBAAwBd,EAAQtuB,OAAOovB,qBACnE3J,UAAW4H,EAfb,SAiBGxlB,GAAOtW,KAAI,SAACzB,GAAD,OACV,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADH,QAQhB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,wBACHiW,KAAK,wBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOooB,sBACtBnT,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQqK,uBAAyBpK,QAAQoJ,EAAQtuB,OAAOsvB,uBACvEnK,WAAYmJ,EAAQrJ,QAAQqK,uBAAyBhB,EAAQtuB,OAAOsvB,sBACpE7J,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,oFAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,6BACHiW,KAAK,6BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOsoB,2BACtBrT,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQuK,4BAA8BtK,QAAQoJ,EAAQtuB,OAAOwvB,4BAC5ErK,WAAYmJ,EAAQrJ,QAAQuK,4BAA8BlB,EAAQtuB,OAAOwvB,2BACzE/J,UAAW4H,EAfb,SAiBGtlB,GAAWxW,KAAI,SAACzB,GAAD,OACd,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADC,QAQpB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,8BACHiW,KAAK,8BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOwoB,4BACtBvT,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQyK,6BAA+BxK,QAAQoJ,EAAQtuB,OAAO0vB,6BAC7EvK,WAAYmJ,EAAQrJ,QAAQyK,6BAA+BpB,EAAQtuB,OAAO0vB,4BAC1EjK,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,4LAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOyoB,mBACtBxT,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ0K,oBAAsBzK,QAAQoJ,EAAQtuB,OAAO2vB,oBACpExK,WAAYmJ,EAAQrJ,QAAQ0K,oBAAsBrB,EAAQtuB,OAAO2vB,mBACjElK,UAAW4H,EAfb,SAkBGvlB,GAAKvW,KAAI,SAACzB,GAAD,OACR,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADL,QAQd,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,sBACHiW,KAAK,sBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO2oB,oBACtB1T,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ4K,qBAAuB3K,QAAQoJ,EAAQtuB,OAAO6vB,qBACrE1K,WAAYmJ,EAAQrJ,QAAQ4K,qBAAuBvB,EAAQtuB,OAAO6vB,oBAClEpK,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,qHAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,0BACHiW,KAAK,0BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO4oB,wBACtB3T,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ6K,yBAA2B5K,QAAQoJ,EAAQtuB,OAAO8vB,yBACzE3K,WAAYmJ,EAAQrJ,QAAQ6K,yBAA2BxB,EAAQtuB,OAAO8vB,wBACtErK,UAAW4H,EAfb,SAiBGrlB,GAAYzW,KAAI,SAACzB,GAAD,OACf,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADE,QAQrB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,2BACHiW,KAAK,2BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO8oB,yBACtB7T,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ+K,0BAA4B9K,QAAQoJ,EAAQtuB,OAAOgwB,0BAC1E7K,WAAYmJ,EAAQrJ,QAAQ+K,0BAA4B1B,EAAQtuB,OAAOgwB,yBACvEvK,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SACE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,qCAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,gCACHiW,KAAK,gCACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO2pB,8BACtB1U,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ4L,+BAAiC3L,QAAQoJ,EAAQtuB,OAAO6wB,+BAC/E1L,WAAYmJ,EAAQrJ,QAAQ4L,+BAAiCvC,EAAQtuB,OAAO6wB,8BAC5EpL,UAAW4H,MAIf,eAACjnB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,iCACHiW,KAAK,iCACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO6pB,+BACtB5U,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ8L,gCAAkC7L,QAAQoJ,EAAQtuB,OAAO+wB,gCAChF5L,WAAYmJ,EAAQrJ,QAAQ8L,gCAAkCzC,EAAQtuB,OAAO+wB,+BAC7EtL,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SACE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,gCAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,+BACHiW,KAAK,+BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAO8pB,6BACtB7U,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ+L,8BAAgC9L,QAAQoJ,EAAQtuB,OAAOgxB,8BAC9E7L,WAAYmJ,EAAQrJ,QAAQ+L,8BAAgC1C,EAAQtuB,OAAOgxB,6BAC3EvL,UAAW4H,EAfb,SAiBGjlB,GAAc7W,KAAI,SAACzB,GAAD,OACjB,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADI,QAQvB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,6BACHiW,KAAK,6BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAO4+B,EAAQpnB,OAAOgqB,2BACtB/U,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQiM,4BAA8BhM,QAAQoJ,EAAQtuB,OAAOkxB,4BAC5E/L,WAAYmJ,EAAQrJ,QAAQiM,4BAA8B5C,EAAQtuB,OAAOkxB,2BACzEzL,UAAW4H,SAIjB,wBAEA,gBAAChyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,oBACHiW,KAAK,oBACL2U,QAAQ,WACR1tB,MAAM,gDACNkB,MAAO4+B,EAAQpnB,OAAOypB,kBACtBxU,SAAUmS,EAAQzJ,aAClBzI,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQ0L,mBAAqBzL,QAAQoJ,EAAQtuB,OAAO2wB,mBACnExL,WAAYmJ,EAAQrJ,QAAQ0L,mBAAqBrC,EAAQtuB,OAAO2wB,kBAChElL,UAAW4H,EAfb,SAiBGplB,GAAW1W,KAAI,SAACzB,GAAD,OACd,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADC,QAQpB,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACR1tB,MAAM,6BACNkB,MAAO4+B,EAAQpnB,OAAOspB,aACtBrU,SAAUmS,EAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQuL,cAAgBtL,QAAQoJ,EAAQtuB,OAAOwwB,cAC9DrL,WAAYmJ,EAAQrJ,QAAQuL,cAAgBlC,EAAQtuB,OAAOwwB,aAC3D/K,UAAW4H,SAIjB,wBAEA,eAAChyB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACR1tB,MAAM,iBACNkB,MAAO4+B,EAAQpnB,OAAOwpB,aACtB5L,WAAS,EACTC,KAAM,EACN5I,SAAUmS,EAAQzJ,aAClB3sB,UAAW,6CACX8sB,MAAOsJ,EAAQrJ,QAAQyL,cAAgBxL,QAAQoJ,EAAQtuB,OAAO0wB,cAC9DvL,WAAYmJ,EAAQrJ,QAAQyL,cAAgBpC,EAAQtuB,OAAO0wB,aAC3DjL,UAAW4H,QAKjB,wBACA,qBAAIn1B,UAAU,SACd,eAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,YAAvB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WAEPqc,OAAOjc,QAAQguB,MAChB,EANH,4CAsBzB,E,wCC7Pc4N,GAh6BE,WAEf,IAAM98B,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAsCuU,mBAAS,CAAC,CAAEpkB,MAAO,EAAGs+B,UAAW,MAAvE,oBAEA,GAFA,UAEgCla,oBAAS,IAAzC,oBAAOqa,EAAP,KAEA,GAFA,KAEwCra,mBAASxG,KAAjD,oBAAOyG,EAAP,KAAqBC,EAArB,KAEA,EAAoBhJ,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAGX,EAAwC6I,oBAAS,GAAjD,oBAAOwa,EAAP,KAAqBC,EAArB,KACMC,EAAqB,kBAAMD,GAAiBD,EAAvB,EAE3B,EAAkDxa,oBAAS,GAA3D,oBAAOikB,EAAP,KAA0BC,EAA1B,KACA,EAAkClkB,oBAAS,GAA3C,oBAAOmkB,EAAP,KAAkBC,EAAlB,KACA,EAAkCpkB,mBAAS,IAA3C,oBAAOqkB,EAAP,KAAkBC,EAAlB,KACA,EAAsCtkB,oBAAS,GAA/C,oBAAOukB,EAAP,KAAoBC,EAApB,KACA,EAAoCxkB,mBAAS,IAA7C,oBAAmBykB,GAAnB,WACA,EAA4CzkB,mBAAS,GAArD,oBAAOue,EAAP,KAAuB+E,EAAvB,KACA,EAA8BtjB,mBAAS,GAAvC,oBAEA,GAFA,UAEsDA,mBAAS,CAAC,IAAhE,oBAAOuC,GAAP,KAA4B6X,GAA5B,KACA,GAAkDpa,mBAAS,MAA3D,sBAAO0kB,GAAP,MAA0BC,GAA1B,MAEMC,GAASh5B,aAAY,SAACnD,GAAD,OAAWA,EAAM0L,aAAaH,0BAA9B,IACvBxM,cAAYC,QAAQC,IAAI,SAAUk9B,IAEtC,IAAMC,GAAaj5B,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWpB,UAA5B,IAC3BhM,cAAYC,QAAQC,IAAI,aAAcm9B,IAE1Ch5B,qBAAU,WACR3E,EAAS4Q,MACTwrB,EAAkB/E,EAAiB,EACpC,GAAE,IAGH,IAAMtM,GAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,eAAgBuqB,IAE5CpmB,qBAAU,WACR,GAAIomB,IAAYA,GAAS3R,UAAY2R,GAAS3R,SAAS7e,OAAS,EAAG,CACjE,IAAM8e,EAAO0R,GAAS3R,SAAS,GAEzBnI,EAAS,CAAE2B,aAAcyG,EAAKpe,MACpC+E,EAASV,GAAyB2R,EAAQ/P,IAE1C+O,EAAKiJ,eAAeG,EAAKpe,MAEzBwiC,GAAqB1rC,KAAOyC,QAAQmkB,GAAqBU,EAAKpe,OAAS,EAAIoe,EAAKpe,KAAOsX,IAEnF8G,GAAqB,QAAbA,EAAKC,IACfN,EAAgB3G,IAEhB2G,EAAgB1G,GAEnB,MAGCrC,EAAKiJ,eAAe3G,IACpBkrB,GAAqBlrB,IACrByG,EAAgB1G,GAGnB,GAAE,CAACyY,KAEJ,IAAMqI,GAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAClC7I,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,SACrCC,IAAlBD,IAAiD,OAAlBA,IAA0BrhC,KAAO4yB,QAAQyO,KAAkBA,GAAc74B,OAAS,EACnH24B,GAAuBE,GAAc,GAAGviB,gBAExCqiB,GAAuBvgB,GAE1B,GAAE,CAACygB,KAEJ,IAAMwK,GAA0B,SAAC7iC,EAAG8iC,GAC9Bv9B,cAAYC,QAAQC,IAAI,YAAazF,EAAEwV,OAAO/W,OAClD,IAAMkjB,EAAU3qB,KAAOizB,KAAK2Y,GAAY,CAAEl8B,IAAK1G,EAAEwV,OAAO/W,QACpD8G,cAAYC,QAAQC,IAAI,UAAWkc,GACnCA,IAA8B,IAAnBA,EAAQjc,QACrB1F,EAAE8J,iBACFlE,wBAAa,CACXe,MAAO9F,EAAE,wBACTgF,QAAShF,EAAE,6BACXiF,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,KAEd0b,IACT+Q,GAAOkB,aAAa5zB,GACpBiF,EL1HyC,SAAClD,EAAU6E,EAAQ/F,GAAnB,8CAAyB,WAAOoE,GAAP,qBAAAC,EAAA,sEAEpED,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAF4B,SAG7CC,EAAoCvD,GAHS,gBAI/C,aAAb,QADA3E,EAH4D,EAG5DA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,SACRT,EAAS,CAAEE,KAAMsI,GAA6BpI,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAE1C,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAE5BwI,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAV3F,kDAahE,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAE9CE,wBAAa,CAAEC,QAAShF,EAAE,yBAA0BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACzJW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IAEHX,cAAYC,QAAQC,IAAR,MApBoD,yBAsBpER,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtB4B,6EAAzB,sDK0HhCnB,CAAgC,CAAE4+B,UAAW9iC,EAAEwV,OAAO/W,OAAS0H,EAAStF,IAC7E0E,cAAYC,QAAQC,IAAI,iBACxBF,cAAYC,QAAQC,IAAI,kBAAmBk9B,IAElD,EAEKI,GAAkB,SAAC/iC,GACZ,mBACH4gC,KAAK5gC,EAAEmjB,MACbnjB,EAAE8J,gBAEL,EAkED,IAAMk5B,GAAa,WACjBp9B,wBAAa,CACXe,MAAO9F,EAAE,uBACTgF,QAAShF,EAAE,eACXiF,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAExB,EAEKysB,GAASC,aAAU,CACvBC,cAAe,CACbiL,eAAgB,GAChB4D,UAAW,GACXC,SAAU,GACV3gB,MAAO,GACP2X,SAAU,GACVC,gBAAiB,GACjBjC,gBAAiB,GACjBpgB,KAAM,GACN2sB,qBAAqB,EACrBC,WAAW,EACX7kB,SAAU2R,IAAYA,GAAS3R,UAAY2R,GAAS3R,SAAS7e,OAAS,EAAIwwB,GAAS3R,SAAS,GAAGne,KAAOsX,GACtG2hB,YAAa,GAEbxX,QAAS,GACTkb,KAAM,GACNzC,OAAQ,GACR+I,aAAa,EACbC,WAAW,EACXC,UAAW,IAEbvQ,iBAAkBR,KAAW,CAC3BvR,MAAOuR,KAAWzxB,EAAE,qCACjBkgB,MAAMlgB,EAAE,uCACR0xB,SAAS1xB,EAAE,wCACd63B,SAAUpG,KAAWzxB,EAAE,wCACpBnI,IAAI,EAAGmI,EAAE,6CACT0xB,SAAS1xB,EAAE,2CACd83B,gBAAiBrG,KAAWzxB,EAAE,wCAC3B+/B,KAAK,kBAAmB//B,EAAE,2CAA2C,SAAUpC,GAC9E,OAAO5G,KAAK+G,OAAO85B,WAAaj6B,CACjC,IACHgjC,UAAWnP,KAAWzxB,EAAE,yCACrB3B,IAAI,IAAK2B,EAAE,6CACX0xB,SAAS1xB,EAAE,4CACd6gC,SAAUpP,KAAWzxB,EAAE,wCACpB3B,IAAI,IAAK2B,EAAE,6CACX0xB,SAAS1xB,EAAE,2CACd8gB,QAAS2Q,KAAWzxB,EAAE,uCACnB0xB,SAAS1xB,EAAE,0CACdg9B,eAAgBvL,OAAagR,KAAK,sBAAuB,CACvDC,IAAI,EACJ5iC,KAAM2xB,OAAaC,SAAS1xB,EAAE,iDAEhCyV,KAAMgc,OAAagR,KAAK,YAAa,CACnCC,IAAI,EACJ5iC,KAAM2xB,OAAaC,SAAS1xB,EAAE,iDAEhCu5B,OAAQ9H,OAAagR,KAAK,cAAe,CACvCC,IAAI,EACJ5iC,KAAM2xB,OAAaC,SAAS1xB,EAAE,6CAEhCg8B,KAAMvK,OAAagR,KAAK,YAAa,CACnCC,IAAI,EACJ5iC,KAAM2xB,OAAaC,SAAS1xB,EAAE,+CAGlCkyB,SAAU,SAAC9c,EAAQ+c,GACjB,IAAMwQ,EAAW,eAAQvtB,GAEzB,GADI1Q,cAAYC,QAAQC,IAAI,cAAe+9B,GACvCpL,EAMF,GALAoL,EAAY9K,SAAWnc,GAAeinB,EAAY9K,UAE9CnzB,cAAYC,QAAQC,IAAI,oBAAqBu8B,GAC7Cz8B,cAAYC,QAAQC,IAAI,YAAay8B,IAEf,IAAtBF,IAA6C,IAAdE,GAAuBsB,EAAYpJ,SAAWpjC,KAAOiT,QAAQu5B,EAAYpJ,QAAS,CAE/G70B,cAAYC,QAAQC,IAAI,UAAW+9B,EAAYpJ,QACnD,IAAI/5B,EAAKmjC,EAAYpJ,OACjBqJ,EAAkBzsC,KAAOizB,KAAKmY,EAAW,CAC3C17B,IAAK88B,EAAYpJ,SAEnBqJ,EAAe,WAAiBpjC,EAC5BkF,cAAYC,QAAQC,IAAI,kBAAmBg+B,GAE/CD,EAAW,KAAWpB,EAClB78B,cAAYC,QAAQC,IAAI,aAAc28B,GAC1Cn9B,EAAShD,GAAOuhC,EAAar9B,EAASma,IAEvC,MAAM,IAA0B,IAAtB0hB,IAA6C,IAAdE,EAAoB,CACxD38B,cAAYC,QAAQC,IAAI,YAAa+9B,EAAY3G,MAErD,IAAI6G,EAAY1sC,KAAO2sC,UAAUvB,GAAW,SAAUwB,GACpD,OAAOA,EAAIttB,KAAKutB,sBAAwBL,EAAY3G,KAAKgH,mBAC1D,IAED,GADIt+B,cAAYC,QAAQC,IAAI,mBAAoBi+B,IAC7B,IAAfA,EAAkB,CACpB,IAAII,EAAK,uBAAO1B,GAAP,CAAkB,CAAE9rB,KAAMktB,EAAY3G,QAC/C2G,EAAW,KAAWM,EAElBv+B,cAAYC,QAAQC,IAAI,gBAAiB+9B,GAC7Cv+B,EAAShD,GAAOuhC,EAAar9B,EAASma,IACvC,MACK/a,cAAYC,QAAQC,IAAI,iBAAkBi+B,GAC9C99B,wBAAa,CACXe,MAAO9F,EAAE,wBACTgF,QAAShF,EAAE,8BACXiF,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WACPqc,OAAOa,SAASwI,QAAO,EACxB,IAGLzlB,eAAe,EACfC,qBAAqB,GAG1B,MAAM,IAA0B,IAAtB+7B,IAA4C,IAAdE,EAAoB,CACvD38B,cAAYC,QAAQC,IAAI,YAE5B,IAAIi+B,EAAY1sC,KAAO2sC,UAAUhB,IAAQ,SAAUiB,GACjD,OAAOA,EAAIttB,KAAKutB,sBAAwBL,EAAYltB,KAAKutB,mBAC1D,IAED,GADIt+B,cAAYC,QAAQC,IAAI,yBAA0Bi+B,IACnC,IAAfA,EAAkB,CACpB,IAAIjD,EAAY,CACd,CACEnqB,KAAMktB,EAAY3G,OAGtB2G,EAAW,KAAW/C,EACtBx7B,EAAShD,GAAOuhC,EAAar9B,EAASma,IACvC,MACK/a,cAAYC,QAAQC,IAAI,aAAci+B,GAC1C99B,wBAAa,CACXe,MAAO9F,EAAE,wBACTgF,QAAShF,EAAE,4BACXiF,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WACPqc,OAAOa,SAASwI,QAAO,EACxB,IAGLzlB,eAAe,EACfC,qBAAqB,GAG1B,MACKV,cAAYC,QAAQC,IAAI,iBAG9B+9B,EAAY9K,SAAWnc,GAAeinB,EAAY9K,UAClDzzB,EAASob,GAAOmjB,EAAar9B,EAASma,KAEpC/a,cAAYC,QAAQC,IAAI+9B,EAC7B,EACDlQ,QAAS,WAAS,IAGpB,OACE,uCACE,eAAC,GAAD,IAEA,eAACnsB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,8BAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAIgU,EAAW,IAAM,IAAKjB,GAAIiB,EAAW,IAAM,IAApD,SACE,eAAC/tB,GAAA,EAAD,UACE,gBAACic,GAAA,EAAD,CAAUrf,UAAU,kBAApB,UACG+W,IAAiB1G,GAChB,sBAAKrQ,UAAU,iCAAiCC,MAAO,CAAEnJ,MAAO,UAAW4J,WAAY,OAAQqY,UAAW,SAA1G,SACE,gCAAkBnf,EAAE,mCAGtB,sBAAKoG,UAAU,iCAAiCC,MAAOwB,GAAWd,MAAlE,SACE,gCAAkB/G,EAAE,mCAGxB,wBAEA,gBAACsyB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,GAAOW,aAAcC,QAASZ,GAAOa,YAAjE,UACE,gBAACC,GAAA,EAAD,CAAWvsB,UAAU,QAArB,UACG+W,IAAiB1G,GACd8gB,GACA,uCACE,qBAAInxB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAO,CAAEnJ,MAAO,UAAW+J,UAAW,OAAQP,aAAc,OAAQI,WAAY,gBAAiBqY,UAAW,SAA/I,SACGnf,EAAE,qCAIPu3B,GACA,uCACE,qBAAInxB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAO,CAAEnJ,MAAO,UAAW+J,UAAW,OAAQP,aAAc,OAAQI,WAAY,gBAAiBqY,UAAW,QAA/I,SACGnf,EAAE,qCAIX,gBAAC,KAAD,CAAM4yB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,YACHiW,KAAK,YACL/Y,MAAOsD,EAAE,mCAAqC,KAC9CoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAOwrB,UACrBvW,SAAUwH,GAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQyN,WAAaxN,QAAQvB,GAAO3jB,OAAO0yB,WACzDvN,WAAYxB,GAAOsB,QAAQyN,WAAa/O,GAAO3jB,OAAO0yB,iBAI5D,gBAAC,KAAD,CAAMhO,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,6BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,WACHiW,KAAK,WACL/Y,MAAOsD,EAAE,kCAAoC,KAC7CoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAOyrB,SACrBxW,SAAUwH,GAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ0N,UAAYzN,QAAQvB,GAAO3jB,OAAO2yB,UACxDxN,WAAYxB,GAAOsB,QAAQ0N,UAAYhP,GAAO3jB,OAAO2yB,mBAM7D,gBAAClO,GAAA,EAAD,CAAWvsB,UAAU,QAArB,UACG+W,IAAiB1G,GACd8gB,GACA,uCACE,qBAAInxB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAO,CAAEnJ,MAAO,UAAW+J,UAAW,OAAQP,aAAc,OAAQI,WAAY,gBAAiBqY,UAAW,SAA/I,SACGnf,EAAE,qCAIPu3B,GACA,uCACE,qBAAInxB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAO,CAAEnJ,MAAO,UAAW+J,UAAW,OAAQP,aAAc,OAAQI,WAAY,gBAAiBqY,UAAW,QAA/I,SACGnf,EAAE,qCAIX,gBAAC,KAAD,CAAM4yB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,QACHiW,KAAK,QACL/Y,MAAOsD,EAAE,+BAAiC,KAC1CoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAO8K,MACrBmK,SAAUwH,GAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQjT,OAASkT,QAAQvB,GAAO3jB,OAAOgS,OACrDmT,WAAYxB,GAAOsB,QAAQjT,OAAS2R,GAAO3jB,OAAOgS,aAIxD,gBAAC,KAAD,CAAM0S,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,6BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,WACHiW,KAAK,WACL/Y,MAAOsD,EAAE,kCAAoC,KAC7CoqB,QAAQ,WACR9lB,KAAMozB,EAAe,OAAS,WAC9B95B,MAAOi0B,GAAOzc,OAAOyiB,SACrBxN,SAAUwH,GAAOkB,aACjBp0B,OAAQ,GACRyH,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ0E,UAAYzE,QAAQvB,GAAO3jB,OAAO2pB,UACxDxE,WAAYxB,GAAOsB,QAAQ0E,UAAYhG,GAAO3jB,OAAO2pB,SACrDmB,WACmB,OAAjBtB,GAAyBva,IAAiB1G,GACtC,CACAwiB,eACE,eAACC,GAAA,EAAD,CAAgB59B,SAAS,QAAzB,SACE,eAAC69B,GAAA,EAAD,CAAYj0B,QAAS0yB,EAArB,SAA0CF,EAAe,eAAC,KAAD,IAAiB,eAAC,KAAD,SAI7D,OAAjBA,GAAyBva,IAAiBzG,GACxC,CACA0iB,aACE,eAACF,GAAA,EAAD,CAAgB59B,SAAS,MAAzB,SACE,eAAC69B,GAAA,EAAD,CAAYj0B,QAAS0yB,EAArB,SAA0CF,EAAe,eAAC,KAAD,IAAiB,eAAC,KAAD,SAI9E,YAKbH,GACC,uCACE,gBAAC,KAAD,CAAM3E,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,6BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,kBACHiW,KAAK,kBACL/Y,MAAOsD,EAAE,yCAA2C,KACpDoqB,QAAQ,WACR9lB,KAAMozB,EAAe,OAAS,WAC9B95B,MAAOi0B,GAAOzc,OAAO0iB,gBACrBzN,SAAUwH,GAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ2E,iBAAmB1E,QAAQvB,GAAO3jB,OAAO4pB,iBAC/DzE,WAAYxB,GAAOsB,QAAQ2E,iBAAmBjG,GAAO3jB,OAAO4pB,uBAIlE,gBAAC,KAAD,CAAMlF,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CAAM90B,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,aAAb,SAA2BpG,EAAE,+CAOtCu3B,GACC,uCACE,wBACA,qBAAInxB,UAAU,SACb+W,IAAiB1G,GAChB,qBAAIrQ,UAAU,qBAAqBC,MAAO,CAAEnJ,MAAO,UAAW+J,UAAW,OAAQP,aAAc,OAAQI,WAAY,gBAAiBqY,UAAW,SAA/I,SACGnf,EAAE,kCAGL,qBAAIoG,UAAU,qBAAqBC,MAAOwB,GAAWb,SAArD,SACGhH,EAAE,kCAGP,gBAAC2yB,GAAA,EAAD,CAAWvsB,UAAU,OAArB,UACE,uCACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAO,CAAC,EAAxD,UACE,eAAC,KAAD,CAAMrI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,uBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAIzsB,MAAO,CAAE8Y,UAAW,SAA/C,SACE,gBAAC,GAAD,CACE+K,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,UACHiW,KAAK,UACL/Y,MAAOsD,EAAE,iCAAmC,KAC5CoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAO0L,QACrB5b,QAAS,SAAC/F,GAAD,OAAQ0yB,GAAOzc,OAAO4nB,eAAiB,EAAvC,EACT3S,SAAU,SAAClrB,GACT6iC,GAAwB7iC,EAAG0yB,GAAOzc,OAAO0L,QAC1C,EACDwJ,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQrS,SAAWsS,QAAQvB,GAAO3jB,OAAO4S,SACvDuS,WAAYxB,GAAOsB,QAAQrS,SAAW+Q,GAAO3jB,OAAO4S,QACpDkY,WACE7b,IAAiB1G,GACb,CACAwiB,eACE,eAACC,GAAA,EAAD,CAAgB59B,SAAS,WAI3B,KA5BR,UA+BE,4BACCnF,KAAOyT,OAAOm4B,GAAY,CAAEl9B,QAAQ,IAAQpF,KAAI,SAAC6iB,GAAD,OAC/C,yBAAQjc,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAwB7Y,MAAO0kB,EAAIzc,IAA3G,SACGyc,EAAI7M,MADgF6M,EAAIzc,IAD5C,YAQvD,gBAAC,KAAD,CAAM+sB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CAAM90B,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,QAAb,SAAsBpG,EAAE,+CAM7B7J,KAAOiT,QAAQyoB,GAAOzc,OAAO0L,SAAW,KACvC,qCACE,uCACE,gBAAC,KAAD,CAAM8R,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAO,CAAC,EAAxD,UACE,eAAC,KAAD,CAAMrI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,oBAEf,eAAC,KAAD,CACEpI,MAAI,EACJmkB,GAAI,GACJ2Q,GAAI,GACJzsB,MAAO,CACLhL,QAAS8lC,EAAoB,OAAS,QACtChiB,UAAW,SANf,SASE,gBAAC,GAAD,CACE+K,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,iBACHiW,KAAK,iBACL/Y,MAAOsD,EAAE,sCAAwC,KACjDoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAO4nB,eACrB3S,SAAU,SAAClrB,GAAD,OAxe5C,SAAuBA,GACjBuF,cAAYC,QAAQC,IAAI,gBAAiBzF,EAAEwV,OAAO/W,OAEtDi0B,GAAOzc,OAAO4nB,eAAiB79B,EAAEwV,OAAO/W,MACxC,IAAMslC,EAAM/sC,KAAOizB,KAAK0Y,GAAQ,CAAEj8B,IAAK1G,EAAEwV,OAAO/W,QAC5C8G,cAAYC,QAAQC,IAAI,eAAgBs+B,GACxCA,IAAsB,IAAfA,EAAIr+B,QACbgtB,GAAOzc,OAAOgtB,qBAAsB,EACpCvQ,GAAOkB,aAAa5zB,GACpBqiC,EAAa0B,EAAIlH,MACbt3B,cAAYC,QAAQC,IAAI,WAAYs+B,EAAIlH,MACxCt3B,cAAYC,QAAQC,IAAI,YAAa28B,KAEzCpiC,EAAE8J,iBACF4oB,GAAOzc,OAAOgtB,qBAAsB,EACpCr9B,wBAAa,CACXe,MAAO9F,EAAE,wBACTgF,QAAShF,EAAE,kCACXiF,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,IAG1B,CA4ckD+9B,CAAchkC,EAArB,EACVmrB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ6J,gBAAkB5J,QAAQvB,GAAO3jB,OAAO8uB,gBAC9D3J,WAAYxB,GAAOsB,QAAQ6J,gBAAkBnL,GAAO3jB,OAAO8uB,eAC3DhE,WACE7b,IAAiB1G,GACb,CACAwiB,eACE,eAACC,GAAA,EAAD,CAAgB59B,SAAS,WAI3B,KAzBR,UA4BE,4BACCwmC,GAAOriC,KAAI,SAAC6iB,GAAD,OACV,yBAAQjc,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAwB7Y,MAAO0kB,EAAIzc,IAA3G,SACGyc,EAAI7M,MADgF6M,EAAIzc,IADjF,SAQhB,eAAC,KAAD,CACE7H,MAAI,EACJmkB,GAAI,GACJ2Q,GAAI,GACJzsB,MAAO,CACLhL,QAAS8lC,EAAoB,QAAU,QAL3C,SAQE,eAAC,GAAD,CACEhX,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,OACHiW,KAAK,OACL/Y,MAAOsD,EAAE,sCAAwC,KACjDoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAOK,KACrB4U,SAAUwH,GAAOkB,aACjBqQ,WAAY,SAACjkC,GAAD,OAAO+iC,GAAgB/iC,EAAvB,EACZiH,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ1d,MAAQ2d,QAAQvB,GAAO3jB,OAAOuH,MACpD4d,WAAYxB,GAAOsB,QAAQ1d,MAAQoc,GAAO3jB,OAAOuH,YAKvD,gBAAC,KAAD,CAAMmd,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAO,CAAC,EAAxD,UACE,eAAC,KAAD,CAAMrI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CAAM90B,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,QAAQC,MAAO,CAAEK,aAAc,GAA5C,SACG1G,EAAE,yCAIT,gBAAC,KAAD,CAAM4yB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CACE90B,MAAI,EACJmkB,GAAI,GACJ2Q,GAAI,GACJzsB,MAAO,CACLhL,QAAS8lC,EAAoB,OAAS,SAL1C,SAQE,gBAACkC,GAAA,EAAD,CAAYj9B,UAAU,uCAAuCk9B,cAAc,2BAA3E,UACE,eAACC,GAAA,EAAD,CAAgBl9B,MAAO,CAAEY,WAAY,GAArC,SACE,gBAACu8B,GAAA,EAAD,CACE9uB,KAAK,IACLxP,QAAS,SAAC/F,GACRA,EAAE8J,iBACFm4B,GAAqB,GACrBE,GAAa,GACbzP,GAAOzc,OAAOgtB,qBAAsB,EACpCvQ,GAAOzc,OAAO4nB,eAAiB,GAC/BnL,GAAOzc,OAAOitB,WAAY,EAC1BxQ,GAAOzc,OAAOmtB,WAAY,EAC1BJ,IACD,EAXH,UAaE,oBAAG/7B,UAAU,gBACb,uBAAMA,UAAU,UAAhB,sBAGJ,eAACm9B,GAAA,EAAD,CAAgBl9B,MAAO,CAAE6mB,WAAY,GAArC,SAA2CltB,EAAE,wDAUzD,uCACE,gBAAC,KAAD,CAAM4yB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAO,CAAC,EAAxD,UACE,eAAC,KAAD,CAAMrI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,iBAGf,eAAC,KAAD,CACEpI,MAAI,EACJmkB,GAAI,GACJ2Q,GAAI,GACJzsB,MAAO,CACLhL,QAASgmC,EAAY,OAAS,QAC9BliB,UAAW,SANf,SASE,gBAAC,GAAD,CACE+K,QAAM,EACN+M,KAAM9Z,IAAiB1G,GACvBpQ,MAAOc,GAAUP,MACjBujB,WAAS,EACT3qB,GAAG,SACHiW,KAAK,SACL/Y,MAAOsD,EAAE,kCAAoC,KAC7CoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAOmkB,OACrBlP,SAAU,SAAClrB,GAAD,OAloBrB,SAACA,EAAG69B,GACjBt4B,cAAYC,QAAQC,IAAI,SAAUzF,EAAEwV,OAAO/W,OAE/C,IAAMslC,EAAM/sC,KAAOizB,KAAK0Y,GAAQ,CAAEj8B,IAAKm3B,IAEjChB,EAAO7lC,KAAOizB,KAAK8Z,EAAIlH,KAAM,CAAEn2B,IAAK1G,EAAEwV,OAAO/W,QAE/C,OAACo+B,QAAD,IAACA,KAAMC,YAMT98B,EAAE8J,iBACF4oB,GAAOzc,OAAOktB,aAAc,EAC5Bv9B,wBAAa,CACXe,MAAO9F,EAAE,wBACTgF,QAAShF,EAAE,6BACXiF,QAAS,CACP,CACEvI,MAAOsD,EAAE,yBACTkF,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,MAjBnBV,cAAYC,QAAQC,IAAI,cAC5BitB,GAAOzc,OAAOktB,aAAc,EAC5BzQ,GAAOkB,aAAa5zB,GAkBvB,CAsmB8CskC,CAAWtkC,EAAG0yB,GAAOzc,OAAO4nB,eAAnC,EACV1S,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQoG,QAAUnG,QAAQvB,GAAO3jB,OAAOqrB,QACtDlG,WAAYxB,GAAOsB,QAAQoG,QAAU1H,GAAO3jB,OAAOqrB,OACnDP,WACE7b,IAAiB1G,GACb,CACAwiB,eACE,eAACC,GAAA,EAAD,CAAgB59B,SAAS,WAI3B,KAzBR,UA4BE,4BACCwmC,IACCjQ,GAAOzc,OAAO4nB,gBACd7mC,KAAOizB,KAAK0Y,GAAQ,CAAEj8B,IAAKgsB,GAAOzc,OAAO4nB,iBAAkBhB,KAAKv8B,KAAI,SAAC6iB,EAAKrpB,GAAN,OAClE,yBAAQoN,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAAwB7Y,MAAO0kB,EAAIzc,IAA3G,SACGyc,EAAI7M,MADgF6M,EAAIzc,IADzB,SAQ1E,eAAC,KAAD,CACE7H,MAAI,EACJmkB,GAAI,GACJ2Q,GAAI,GACJzsB,MAAO,CACLhL,QAASgmC,EAAY,QAAU,QALnC,SAQE,eAAC,GAAD,CACElX,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,OACHiW,KAAK,OACL/Y,MAAOsD,EAAE,kCAAoC,KAC7CoqB,QAAQ,WACRxsB,MAAOi0B,GAAOzc,OAAO4mB,KACrB3R,SAAUwH,GAAOkB,aACjBqQ,WAAY,SAACjkC,GAAD,OAAO+iC,GAAgB/iC,EAAvB,EACZiH,UAAW,6CACX8sB,MAAOrB,GAAOsB,QAAQ6I,MAAQ5I,QAAQvB,GAAO3jB,OAAO8tB,MACpD3I,WAAYxB,GAAOsB,QAAQ6I,MAAQnK,GAAO3jB,OAAO8tB,YAIvD,gBAAC,KAAD,CAAMpJ,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAO,CAAC,EAAxD,UACE,eAAC,KAAD,CAAMrI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CAAM90B,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,QAAQC,MAAO,CAAEK,aAAc,GAA5C,SACG1G,EAAE,yCAIT,gBAAC,KAAD,CAAM4yB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CACE90B,MAAI,EACJmkB,GAAI,GACJ2Q,GAAI,GACJzsB,MAAO,CACLhL,QAASgmC,EAAY,OAAS,SALlC,SAQE,gBAACgC,GAAA,EAAD,CAAYj9B,UAAU,uCAAuCk9B,cAAc,2BAA3E,UACE,eAACC,GAAA,EAAD,CAAgBl9B,MAAO,CAAEY,WAAY,GAArC,SACE,gBAACu8B,GAAA,EAAD,CACE9uB,KAAK,IACLxP,QAAS,SAAC/F,GACRA,EAAE8J,iBACFq4B,GAAa,GACbzP,GAAOzc,OAAOktB,aAAc,EAC5BzQ,GAAOzc,OAAOmkB,OAAS,GACvB1H,GAAOzc,OAAOmtB,WAAY,EAC1BJ,IACD,EATH,UAWE,oBAAG/7B,UAAU,gBACb,uBAAMA,UAAU,UAAhB,sBAGJ,eAACm9B,GAAA,EAAD,CAAgBl9B,MAAO,CAAE6mB,WAAY,GAArC,SAA2CltB,EAAE,wDAS3D,wBACA,qBAAIoG,UAAU,SACd,oBAAGA,UAAU,oBAAoBC,MAAO,CAAEK,aAAc,GAAIxJ,MAAO,WAAnE,SACG8C,EAAE,gCAGL,sBAAKoG,UAAU,cAAcC,MAAO,CAAEhL,QAAS,OAAQw3B,WAAY,SAAU6Q,eAAgB,UAA7F,SACG9B,IACI,eAAC,KAAD,CACD+B,QAASC,gBAAcC,SACvBxZ,SAAU,SAAClrB,GAETuiC,GAAe,GACfC,EAAcxiC,GACd0yB,GAAOzc,OAAOotB,UAAYrjC,CAC3B,EACD2kC,GAAIlC,GACJmC,OAAO,WACPC,UAzvBD,WACnBtC,GAAe,EAChB,MA2vBe,gBAAC1X,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAW+W,IAAiB1G,GAAiB,aAAe,YAAzE,SACGob,GAAOoS,YAAc,EAAI,GAAKpS,GAAOqS,QACpC,sBAEE79B,MAAO,CACLS,WAAY,OACZG,UAAW,GACXP,cAAe,GACfxJ,MAAO,WANX,eAUK8C,EAAE,4CAEL,SAGR,wBACA,eAACuJ,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNktB,QAAQ,YACR9lB,KAAK,QACLY,QAAS,WACPqc,OAAOa,SAASwI,QAAO,EACxB,EAPH,SASG5qB,EAAE,iCAGL,eAAC0pB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUktB,QAAQ,YAAY9lB,KAAK,SAAS9E,GAAG,MAAMm0B,UAAW8N,EAA9G,SACGzhC,EAAE,4DAc5B,ECr8BKmkC,GAAoB1S,KAAW,CACnCvR,MAAOuR,KAAW,oBAAoBvR,MAAM,uBAAuBwR,SAAS,qBAC5EmG,SAAUpG,KAAW,uBAAuB55B,IAAI,EAAG,wBAAwB65B,SAAS,wBACpFoG,gBAAiBrG,KAAW,wBAAwBsO,KAAK,kBAAmB,iDAA4C,SAAUniC,GAChI,OAAO5G,KAAK+G,OAAO85B,WAAaj6B,CACjC,MAyRYsjC,GAtRE,WAEf,IAAM98B,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAsCuU,mBAAS,CAAC,CAAEpkB,MAAO,EAAGs+B,UAAW,MAAvE,oBAAoBC,GAApB,WAEA,EAAgCna,oBAAS,GAAzC,oBAAOqa,EAAP,KACA,GADA,KACsCra,oBAAS,IAA/C,oBAAOukB,EAAP,KAAoBC,EAApB,KACA,EAAoCxkB,mBAAS,IAA7C,oBAAmBykB,GAAnB,WAQA,EAAwCzkB,oBAAS,GAAjD,oBAAOwa,EAAP,KAAqBC,EAArB,KAGMmK,EAASh5B,aAAY,SAACnD,GAAD,OAAWA,EAAM0L,aAAaN,eAA9B,IACvBrM,cAAYC,QAAQC,IAAI,SAAUk9B,GAEtC,IAAMC,EAAaj5B,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKJ,UAAtB,IAC3BhM,cAAYC,QAAQC,IAAI,aAAcm9B,GAE1C,IAAMlQ,EAASC,aAAU,CACvBC,cAAe,CACb6O,UAAW,GACXC,SAAU,GACV3gB,MAAO,GACP2X,SAAU,GACVC,gBAAiB,GACjBja,MAAO,QACPgY,gBAAiB,GACjBuC,cAAe,GACf5a,SAAU,GACVglB,UAAW,IAEbvQ,iBAAkBkS,GAClBjS,SAAU,SAAC9c,EAAQ+c,G1B6EI,IAACjxB,EAAU6E,E0B5E5BrB,cAAYC,QAAQC,IAAI,SAAUwQ,GAEtCA,EAAOyiB,SAAWnc,GAAetG,EAAOyiB,UACxCziB,EAAM,MAAY,QAElBhR,G1BuEsBlD,E0BvEDkU,E1BuEWrP,E0BvEHT,E1BuER,uCAAsB,WAAOlB,GAAP,6CAAAC,EAAA,sEAE7CD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFK,SAItBC,EAAgBvD,GAJM,gBAOxB,aAAb,QAHA3E,EAJqC,EAIrCA,YAGA,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,6BAA8BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACnKW,EAAON,KAAK,qBACc,WAAb,OAAJlJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAI,UAAWrI,GACvCwI,wBAAa,CAAEC,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAZvF,gDAezCV,cAAYC,QAAQC,IAAI,cAAe,KAAMW,UAC7C,2CAAOA,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,kBAIRuwB,EAAa,2CAAOzwB,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuByI,QAAU,KAC5E0Q,EAAc,2CAAOnQ,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuBA,KAArD,sCAA4D,KAAOgJ,gBAAnE,iBAA4D,EAAiBhJ,YAA7E,aAA4D,EAAuByI,QACrG0Q,EAAcvf,KAAOiT,QAAQsM,GAAe,6BAA+BA,EAC3E3Q,wBAAa,CAAEe,MAAOkwB,EAAYhxB,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACnJW,EAAON,KAAK,qBA1B+B,yBA8B7CrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA9BK,4EAAtB,wD0BtEjBE,cAAYC,QAAQC,IAAI,aAE5ButB,EAAcE,WACf,EACDI,QAAS,WACP4E,EAAe,CAAC,CAAEv+B,MAAO,EAAGs+B,UAAW,KACxC,IAOH,OACE,uCACE,eAAC,GAAD,IAEA,eAAC9wB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,gBAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAOg+B,MAAM,SAA5B,UACE,eAAC9vB,GAAA,EAAD,CAAKiP,GAAG,MACR,gBAACjP,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,eAAC/Z,GAAA,EAAD,CAAMpD,UAAU,+BAAhB,SACE,gBAACqf,GAAA,EAAD,CAAUrf,UAAU,kBAApB,UACE,sBAAKA,UAAU,iCAAiCC,MAAOwB,GAAWd,MAAlE,SACE,gCAAO,qBAET,wBAEA,gBAACurB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,gBAACC,GAAA,EAAD,CAAWvsB,UAAU,QAArB,UACE,uCACE,qBAAIA,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOwB,GAAWb,SAArD,iCAKF,eAAC,KAAD,CAAM4rB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,SACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,YACHiW,KAAK,YACL/Y,MAAM,aACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOwrB,UACrBvW,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQyN,WAAaxN,QAAQvB,EAAO3jB,OAAO0yB,WACzDvN,WAAYxB,EAAOsB,QAAQyN,WAAa/O,EAAO3jB,OAAO0yB,gBAI5D,eAAC,KAAD,CAAMhO,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,SACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL/Y,MAAM,YACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOyrB,SACrBxW,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQ0N,UAAYzN,QAAQvB,EAAO3jB,OAAO2yB,UACxDxN,WAAYxB,EAAOsB,QAAQ0N,UAAYhP,EAAO3jB,OAAO2yB,kBAM7D,gBAAClO,GAAA,EAAD,CAAWvsB,UAAU,QAArB,UACGmxB,GACC,uCACE,qBAAInxB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOwB,GAAWb,SAArD,uCAKJ,gBAAC,KAAD,CAAM4rB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,QACHiW,KAAK,QACL/Y,MAAM,iBACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO8K,MACrBmK,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQjT,OAASkT,QAAQvB,EAAO3jB,OAAOgS,OACrDmT,WAAYxB,EAAOsB,QAAQjT,OAAS2R,EAAO3jB,OAAOgS,aAIxD,gBAAC,KAAD,CAAM0S,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,6BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL/Y,MAAM,YACN0tB,QAAQ,WACR9lB,KAAMozB,EAAe,OAAS,WAC9B95B,MAAOi0B,EAAOzc,OAAOyiB,SACrBxN,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQ0E,UAAYzE,QAAQvB,EAAO3jB,OAAO2pB,UACxDxE,WAAYxB,EAAOsB,QAAQ0E,UAAYhG,EAAO3jB,OAAO2pB,SACrDmB,WACmB,OAAjBtB,EACI,CACA0B,aACE,eAACF,GAAA,EAAD,CAAgB59B,SAAS,MAAzB,SACE,eAAC69B,GAAA,EAAD,CAAYj0B,QAtJnB,kBAAMyyB,GAAiBD,EAAvB,EAsJO,SAA0CA,EAAe,eAAC,KAAD,IAAiB,eAAC,KAAD,SAI9E,YAMZ,uCACE,gBAAC,KAAD,CAAM9E,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,6BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,kBACHiW,KAAK,kBACL/Y,MAAM,oBACN0tB,QAAQ,WACR9lB,KAAMozB,EAAe,OAAS,WAC9B95B,MAAOi0B,EAAOzc,OAAO0iB,gBACrBzN,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQ2E,iBAAmB1E,QAAQvB,EAAO3jB,OAAO4pB,iBAC/DzE,WAAYxB,EAAOsB,QAAQ2E,iBAAmBjG,EAAO3jB,OAAO4pB,uBAKlE,gBAAC,KAAD,CAAMlF,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOwB,GAAWpB,KAAlE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,IACtB,eAAC,KAAD,CAAM90B,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,aAAb,gJAMR,wBACA,qBAAIA,UAAU,SACd,oBAAGA,UAAU,oBAAoBC,MAAO,CAAEK,aAAc,GAAIxJ,MAAO,WAAnE,wFAIA,sBAAKkJ,UAAU,cAAcC,MAAO,CAAEhL,QAAS,OAAQw3B,WAAY,SAAU6Q,eAAgB,UAA7F,SACE,eAAC,KAAD,CACEC,QAASC,gBAAcC,SACvBxZ,SAAU,SAAClrB,GAETuiC,GAAe,GACfC,EAAcxiC,GACd0yB,EAAOzc,OAAOotB,UAAYrjC,CAC3B,EACD6kC,UAxKC,WACnBtC,GAAe,EAChB,MA0Ke,wBACA,gBAACn4B,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,MACR,eAACjP,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,oBAUF,gBAAChf,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACGmxB,GACC,eAAC7N,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,QAAjD,mBAIF,eAAColB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAASqvB,UAAW8N,EAArE,yBAIF,eAACntB,GAAA,EAAD,CAAKiP,GAAG,iBAKhB,gBAACha,GAAA,EAAD,CAAKnD,UAAU,OAAf,UACE,eAACkO,GAAA,EAAD,CAAK6N,GAAG,IAAR,UACIoV,GACA,oBAAGnxB,UAAU,aAAasO,KAAK,OAAOxP,QAAS,SAAC/F,GAAD,OAAOA,EAAE8J,gBAAT,EAA/C,SACE,0DAIN,eAACqL,GAAA,EAAD,CAAKlO,UAAU,aAAa+b,GAAG,IAA/B,SACE,oBAAG/b,UAAU,aAAasO,KAAK,QAA/B,SACE,iCAAQ6iB,EAAW,iCAAmC,wCASvE,E,mBCvKc8M,GAjIC,SAACjmC,GACf,IAAMkmC,EAAcxK,IAAMC,OAAO,MACjC,EAAoB3lB,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KACLkwB,EAAS,UAAMhkC,iBAAN,gCAA4C8T,EAAKmJ,SAAjD,aACTgnB,EAAWtuC,EAAQ,KAA6CwD,QAEtE,EAAwCwjB,oBAAS,GAAjD,oBAAOunB,EAAP,KAAqBC,EAArB,KAWA,OARA37B,qBAAU,WAET,GAAE,IAEHA,qBAAU,WACR27B,GAAgB,EACjB,GAAE,CAACrwB,EAAKmJ,WAGP,qCACE,uBAAKpX,UAAU,eAAek0B,IAAKgK,EAAnC,UACE,+BACE,eAACh+B,GAAA,EAAD,UACE,gBAACiD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,WACE,wBACA,wBACA,qBAAIlO,UAAU,cAAcC,MAAO,CAAEnJ,MAAO,WAA5C,SACG8C,EAAE,gCAEL,wBACA,oBAAGoG,UAAU,eAAeC,MAAO,CAAEnJ,MAAO,WAA5C,SACE,6BACE,eAACynC,GAAA,EAAD,CAAOC,YAAU,EAAjB,iDAIJ,oBAAGx+B,UAAU,eAAeC,MAAO,CAAEnJ,MAAO,WAA5C,SACE,6BACE,eAACynC,GAAA,EAAD,CAAOC,WAAY,CAAEC,KAAM,uBAAOC,OAAQ,wBAA1C,iDAGJ,2BAEF,eAACxwB,GAAA,EAAD,CAAKgiB,GAAG,cAId,sBAAKlwB,UAAU,WAEf,sBAAKC,MAAO,CAAE/N,gBAAiB,UAAW4E,MAAO,QAAS+J,UAAW,QAArE,SACE,eAACX,GAAA,EAAD,UACE,gBAACiD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,UACE,wBACA,qBAAIlwB,UAAU,cAAcC,MAAO,CAAEnJ,MAAO,QAA5C,SACG8C,EAAE,gCAEL,wBACA,oBAAGoG,UAAU,eAAb,SACE,6BACE,eAACu+B,GAAA,EAAD,CAAOC,YAAU,EAAjB,oDAIN,gBAACtwB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,UACE,wBACCmO,EACG,sBACAhmB,IAAI,cACJE,IAAK4lB,EACLl+B,MAAO,CAAE3O,MAAO,OAAQD,OAAQ,QAChCstC,QAAS,SAAC5lC,GACRulC,GAAgB,EACjB,IAED,sBACAjmB,IAAI,cACJE,IAAK6lB,EACLn+B,MAAO,CAAE3O,MAAO,OAAQD,OAAQ,UAGpC,wBACA,kCAKR,sBAAK2O,UAAU,YACf,sBAAKC,MAAO,CAAE/N,gBAAiB,UAAW2O,UAAW,QAArD,SACE,gBAACX,GAAA,EAAD,WACE,eAACiD,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,WACE,wBACA,qBAAIlO,UAAU,cAAd,SACGpG,EAAE,gCAEL,wBACA,oBAAGoG,UAAU,eAAb,SACE,6BACE,eAACu+B,GAAA,EAAD,CAAOC,YAAU,EAAjB,sDAKR,gBAACr7B,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,MACR,eAAChiB,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,sBAAK7X,IAAI,gBAAgBE,IAAKzoB,EAAQ,KAAsCwD,QAAS2M,MAAO,CAAE3O,MAAO,OAAQD,OAAQ,eAGzH,gBAAC8R,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAE2+B,aAAc,SAAU7lB,UAAW,SAAUzY,aAAc,GAAIu+B,cAAe,UAAnG,SACE,sBAAKxmB,IAAI,MAAME,IAAKzoB,EAAQ,KAA0CwD,QAAS2M,MAAO,CAAE6+B,UAAW,GAAIC,SAAU,YAEnH,eAAC7wB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAE2+B,aAAc,SAAU7lB,UAAW,SAAUzY,aAAc,GAAIu+B,cAAe,UAAnG,SACE,sBAAKxmB,IAAI,MAAME,IAAKzoB,EAAQ,KAA2CwD,QAAS2M,MAAO,CAAE6+B,UAAW,GAAIC,SAAU,YAGpH,eAAC7wB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAE2+B,aAAc,SAAU7lB,UAAW,SAAUzY,aAAc,GAAIu+B,cAAe,UAAnG,SACE,sBAAKxmB,IAAI,OAAOE,IAAKzoB,EAAQ,KAA2CwD,QAAS2M,MAAO,CAAE6+B,UAAW,GAAIC,SAAU,wBAQlI,ECoCc9Z,GAxJD,WACZ,IAAMjnB,EAAWsE,cACjB,EAAwCwU,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KACA,EAAwCF,mBAAS,MAAjD,oBAAOkoB,EAAP,KAAqBC,EAArB,KAEA,EAAoBjxB,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEL8a,EAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,eAAgBuqB,GAC5CpmB,qBAAU,WAAO,IAAD,IACdsL,EAAKiJ,eAAL,OAAoBC,QAApB,IAAoBA,GAApB,UAAoBA,EAAOzM,YAA3B,aAAoB,EAAa0M,UAEjCpZ,EAASwb,MAET,IAAIvK,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRomB,GACEA,EAAS3R,UACTvd,OAAOmV,OAAO+Z,EAAS3R,UAAU/d,KAAI,SAACge,EAAMxkB,GACtCwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAAC+R,IAEJ,IAAMmW,EAAwBx8B,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IACtC/L,cAAYC,QAAQC,IAAI,YAAa0gC,GAEzCv8B,qBAAU,WAAO,IAAD,QACVw8B,EAAU,UAAGD,EAAsBvkB,eAAzB,iBAAG,EAA+BC,kBAAlC,iBAAG,EAA2C3P,oBAA9C,iBAAG,EAAyDyP,eAA5D,aAAG,EAAkEvK,YACnF8uB,EAAgBE,EACjB,GAAE,CAACD,IAEJ,IAAI3nB,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GAEvB,OACE,uCACE,eAAC6Q,GAAD,CAAc3B,MAAM,cAGpB,eAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACoB,QAAjB6+B,EAEC,gBAAC57B,GAAA,EAAD,CAAMpD,UAAU,OAAhB,UACE,eAACqD,GAAA,EAAD,CAAYpD,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAA5E,SACE,qBAAIpQ,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,uCAG3Dmd,IAAiB1G,GAChB,eAACgP,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,SAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,yCAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,qCAC1D,6BAAIA,EAAE,yCAEN,6BAAIA,EAAE,qCACN,gCACGA,EAAE,sCACH,wBACCA,EAAE,gDAMX,eAACylB,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,WAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,yCAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,qCAC1D,6BAAIA,EAAE,yCAEN,6BAAIA,EAAE,qCACN,gCACGA,EAAE,sCACH,wBACCA,EAAE,mDAQf,gBAACwJ,GAAA,EAAD,WACE,eAACC,GAAA,EAAD,CAAYpD,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAA5E,SACE,qBAAIpQ,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,0CAG3Dmd,IAAiB1G,GAChB,eAACgP,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,SAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,4CAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,wCAC1D,6BAAIA,EAAE,mDAYZ,eAACylB,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,WAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,4CAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,wCAC1D,6BAAIA,EAAE,0DAiBzB,ECCcqrB,GArJD,WACZ,IAAMjnB,EAAWsE,cACXpD,EAAUqD,cACV27B,EAAcxK,IAAMC,OAAO,MACjC,EAAwC7c,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KAEA,EAAoBhJ,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEL8a,EAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IA+B7B,OA9BI7M,cAAYC,QAAQC,IAAI,iBAAkBuqB,GAE9CpmB,qBAAU,WAER,GAAIomB,GAAYA,EAAS3R,UAAY2R,EAAS3R,SAAS7e,OAAS,EAAG,CACjE,IAAM8e,EAAO0R,EAAS3R,SAAS,GAEzBnI,EAAS,CAAE2B,aAAcyG,EAAKpe,MACpC+E,EAASV,GAAyB2R,EAAQ/P,IAE1C+O,EAAKiJ,eAAeG,EAAKpe,MAErBoe,GAAqB,QAAbA,EAAKC,IACfN,EAAgB3G,IAGhB2G,EAAgB1G,GAEnB,KACI,CAGHtS,EAASV,GADM,CAAEsT,aAAcL,IACWrR,IAC1C+O,EAAKiJ,eAAe3G,IACpByG,EAAgB1G,GACjB,CAEF,GAAE,CAACyY,IAIF,uCACE,eAAC,GAAD,IAGA,sBAAK/oB,UAAU,eAAek0B,IAAKgK,EAAnC,SACE,+BACE,gBAACh+B,GAAA,EAAD,CAAWF,UAAU,QAArB,UACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,OAAhB,UACE,eAACqD,GAAA,EAAD,CAAYpD,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAA5E,SACE,qBAAIpQ,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,uCAG3Dmd,IAAiB1G,GAChB,eAACgP,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,SAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,yCAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,qCAC1D,6BAAIA,EAAE,yCAEN,6BAAIA,EAAE,qCACN,gCACGA,EAAE,uCAAyC,MAC5C,wBACCA,EAAE,uCAAyC,gBAMpD,eAACylB,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,WAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,yCAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,qCAC1D,6BAAIA,EAAE,yCAEN,6BAAIA,EAAE,qCACN,gCACG,MAAQA,EAAE,uCACX,wBACC,MAAQA,EAAE,oDAQvB,gBAACwJ,GAAA,EAAD,CAAMpD,UAAU,OAAhB,UACE,eAACqD,GAAA,EAAD,CAAYpD,MAAO,CAAE8Y,UAAWhC,IAAiB1G,GAAiB,QAAU,QAA5E,SACE,qBAAIpQ,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,0CAG3Dmd,IAAiB1G,GAChB,eAACgP,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,SAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,4CAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,wCAC1D,6BAAIA,EAAE,4CAEN,6BAAIA,EAAE,wCACN,gCACGA,EAAE,0CAA4C,MAC/C,wBACCA,EAAE,0CAA4C,gBAMvD,eAACylB,GAAA,EAAD,CAAUpf,MAAO,CAAE8Y,UAAW,WAA9B,SAEE,eAAC5V,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,GAAtB,SACE,gBAAC5H,GAAA,EAAD,WACE,oCACA,6BAAItU,EAAE,4CAEN,qBAAIqG,MAAO,CAAEnJ,MAAO4K,IAApB,SAAwD9H,EAAE,wCAC1D,6BAAIA,EAAE,4CAEN,6BAAIA,EAAE,wCACN,gCACG,MAAQA,EAAE,0CACX,wBACC,MAAQA,EAAE,gEAYlC,ECqCcm3B,GA/KD,WAEZ,IAAM/yB,EAAWsE,cACXpD,EAAUqD,cAEV68B,GADW38B,cACIkxB,oBAErB,EAAsC7c,oBAAS,GAA/C,oBAAoBwkB,GAApB,WACA,EAAoCxkB,mBAAS,IAA7C,oBAAmBykB,GAAnB,WACA,EAAwCzkB,mBAASxG,IAAjD,oBAAOyG,EAAP,KAAqBC,EAArB,KACA,EAAkDF,mBAAS,MAA3D,oBAAO0kB,EAAP,KAA0BC,EAA1B,KAEA,EAAoBztB,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEL8a,EAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,sCAAuCuqB,GAEnE,IAAMsW,EAAoB9kC,aAAaC,QAAQkN,IAC3CpJ,cAAYC,QAAQC,IAAI,2CAA4C6gC,GAExE18B,qBAAU,WAER,GAAIomB,GAAYA,EAAS3R,UAAY2R,EAAS3R,SAAS7e,OAAS,EAAG,CACjE,IAAM8e,EAAO0R,EAAS3R,SAAS,GAG/BnJ,EAAKiJ,eAAeG,EAAKpe,MAEzBwiC,EAAqB1rC,KAAOyC,QAAQmkB,GAAqBU,EAAKpe,OAAS,EAAIoe,EAAKpe,KAAOsX,IAEnF8G,GAAqB,QAAbA,EAAKC,IACfN,EAAgB3G,IAGhB2G,EAAgB1G,GAEnB,MAGCrC,EAAKiJ,eAAe3G,IACpBkrB,EAAqBlrB,IACrByG,EAAgB1G,GAEnB,GAAE,CAACrC,EAAM8a,IAEV,IAAM0C,EAASC,aAAU,CACvBC,cAAe,CACb7R,MAAO,GACPsiB,UAAW,IAGbvQ,iBAAkBR,KAAW,CAC3BvR,MAAOuR,KAAWzxB,EAAE,qCACjBkgB,MAAMlgB,EAAE,uCACR0xB,SAAS1xB,EAAE,0CAEhBkyB,SAAU,SAAC9c,EAAQ+c,GACbztB,cAAYC,QAAQC,IAAI,eAAgBwQ,GAC5ChR,E9B8UuB,SAAClD,EAAU6E,EAAQ/F,GAAnB,8CAAyB,WAAOoE,GAAP,qBAAAC,EAAA,6DAChDK,cAAYC,QAAQC,IAAI,mBAAoB1D,GADI,SAGlDkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHU,SAI3BC,EAAkBvD,GAJS,UAI5CqE,EAJ4C,OAK1ChJ,EAASgJ,EAAThJ,KACJmI,cAAYC,QAAQC,IAAI,kBAAmBrI,GAC1B,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QAPwC,iBAQhDE,wBAAa,CACXe,MAAO9F,EAAE,wCACTgF,QAAShF,EAAE,0CACXiF,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAC3CC,eAAe,EACfC,qBAAqB,IAEvBW,EAAON,KAAK,gBAfoC,+BAmBhDV,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAnBnG,6EAuB9CV,cAAYC,QAAQC,IAAI,cAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,QAC9CE,wBAAa,CAAEC,QAAShF,EAAE,yBAA0BiF,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAG/IL,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAErJW,EAAON,KAAK,UA9BsC,yBAgClDrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAhCU,6EAAzB,sD8B9Ud/C,CAAc2T,EAAQ9P,EAAStF,GACzC,EACDyyB,QAAS,WAAS,IAGpB,OACE,qCAGE,uBAAKrsB,UAAU,eAAeC,MAAO,CAAE/N,gBAAiB,WAAxD,UAGE,uBACE8N,UAAU,sBACVC,MAAO,CACL8c,gBAAiB,OAASjtB,EAAQ,KAAwCwD,QAAU,IACpF0pB,eAAgB,QAChBC,mBAAoB,cALxB,UAUE,uBAAMjd,UAAU,mBAChB,eAACE,GAAA,EAAD,UACE,sBAAKF,UAAU,+BAAf,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,wBACA,iCAKR,sBAAKlwB,UAAU,uDAAuDC,MAAO,CAAEK,aAAc,QAA7F,SACE,sBAAKkyB,MAAM,6BAA6BC,oBAAoB,OAAO3wB,QAAQ,MAAM4wB,QAAQ,eAAevhC,EAAE,IAAIC,EAAE,IAAhH,SACE,0BAAS4O,UAAU,eAAe2yB,OAAO,iCAK/C,eAACzyB,GAAA,EAAD,CAAWF,UAAU,aAArB,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,eAAC9sB,GAAA,EAAD,CAAMpD,UAAU,+BAAhB,SACE,gBAACqf,GAAA,EAAD,CAAUrf,UAAU,kBAApB,UAEE,sBAAKA,UAAU,iCAAiCC,MAAOwB,GAAWd,MAAlE,SACE,gCAAO/G,EAAE,gCAGX,gBAACsyB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,eAACC,GAAA,EAAD,CAAWvsB,UAAU,QAArB,SACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG9V,MAAOwB,GAAWpB,KAA9C,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAtB,SACE,oBAAG1sB,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC,GAAD,CACE3I,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvBjX,GAAG,QACHiW,KAAK,QACL/Y,MAAOsD,EAAE,4BACToqB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO8K,MACrBmK,SAAUwH,EAAOkB,aACjB3sB,UAAW,6CACX8sB,MAAOrB,EAAOsB,QAAQjT,OAASkT,QAAQvB,EAAO3jB,OAAOgS,OACrDmT,WAAYxB,EAAOsB,QAAQjT,OAAS2R,EAAO3jB,OAAOgS,eAM1D,sBAAK9Z,UAAU,cAAcC,MAAO,CAAEhL,QAAS,OAAQw3B,WAAY,SAAU6Q,eAAgB,UAA7F,SACG9B,GACI,eAAC,KAAD,CACDx7B,UAAU,cACVk0B,IAAKkL,EACL7B,QAASC,gBAAcC,SACvBC,GAAIlC,EACJvX,SAAU,SAAClrB,GAETuiC,GAAe,GACfC,EAAcxiC,GACd0yB,EAAOzc,OAAOotB,UAAYrjC,CAC3B,MAIP,uBAAKiH,UAAU,cAAf,UACE,wBACA,eAACsjB,GAAA,EAAD,CAAQU,QAAQ,YAAYltB,MAAM,UAAUoH,KAAK,SAAjD,SACGtE,EAAE,yCAOb,eAACuJ,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,wBACA,wCAYjB,ECrLKvuB,GAAY,SAAC,GAAD,IAAGnC,EAAH,EAAGA,OAAQiE,EAAX,EAAWA,UAAWC,EAAtB,EAAsBA,YAAa9B,EAAnC,EAAmCA,kBAAmB09B,EAAtD,EAAsDA,YAAtD,OAEhB,eADA,CACA,gBACE,qBAAIr/B,MAAO,CAAE4B,WAAY,gBAAzB,SAA4C09B,WAAW//B,EAAOsC,SAAS09B,QAAQ,KAC/E,qBAAIv/B,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoFlC,EAAOE,QAC3F,qBAAIO,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOuC,cACnD,qBAAI9B,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOf,SACnD,8BACGe,EAAOwC,UACN,gBAACC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,SAKA,gBAACiC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,iBAA1B,UACE,oBAAGA,UAAU,eADf,UAMJ,qBAAIA,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGyG,EACd,EALH,SAOE,oBAAGQ,UAAU,cAAcC,MAAO,CAAEw/B,QAASjgC,EAAOwC,UAAY,GAAM,EAAGlL,MAAO4K,UAGpF,eAACQ,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAGyG,EAChB,EALH,SAOGA,EAAOwC,UAAY,eAAC,KAAD,CAAoB/B,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,UAG9I,eAACQ,GAAA,EAAD,CAASxC,MAAM,2CAA2CyC,OAAK,EAA/D,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRumC,EAAYvmC,EAAGyG,EAAQA,EAAOtB,KAC/B,EALH,SAOE,oBAAG8B,UAAU,qBAAqBC,MAAO,CAAEnJ,MAAO4K,UAItD,eAACQ,GAAA,EAAD,CAASxC,MAAM,gBAAgByC,OAAK,EAApC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR6I,EAAkB7I,EAAGyG,EACtB,EALH,SAOE,eAAC,KAAD,CAAuBS,MAAO,CAAEnJ,MAAO4K,iBAhEjC,EAqPHg+B,GA5KA,WAEb,IAAM1hC,EAAWsE,cACXpD,EAAUqD,cAIVC,GAHWC,cAGSC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOgD,iBAAxB,KAEtCG,qBAAU,WAER3E,EAASD,KACV,GAAE,IAEH,IAAM6E,EAAoB,SAAC7J,EAAGyG,GAC5BzG,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,gBAAiBgB,GACzCA,EAAOmgC,WAAa5vC,KAAOiT,QAAQxD,EAAOmgC,WAC5C3hC,EAAS7B,GAAgC,CAAEiD,SAAUI,EAAOC,KAAOP,GAEtE,EAGK4D,EAA0B,SAAC/J,EAAGyG,GAClCzG,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,sCAAuCC,MAAO,CAAEC,OAAQA,IAClF,EAGKuD,EAAkB,SAAChK,EAAGyG,EAAQtB,GAClCnF,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8CgB,GACtElB,cAAYC,QAAQC,IAAI,6CAA8CN,GAC1EF,EAAS,CAAEE,KAAMyH,GAAuBvH,QAASoB,IACjDb,wBAAa,CACXe,MAAO,UACPd,QAAS,kFACTC,QAAS,CACP,CACEvI,MAAO,MACPwI,QAAS,WACPvE,aAAa+e,QAAQ3T,GAAuBjL,KAAK6e,UAAU/Z,IAE3DN,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAEC,OAAQA,EAAQtB,KAAMA,IAC1F,GAEH,CAAE5H,MAAO,KAAMwI,QAAS,WAAQ,IAElCC,eAAe,EAAOC,qBAAqB,GAE9C,EAGK4gC,EAAoB,SAAC7mC,EAAGyG,EAAQtB,GACpCnF,EAAE8J,iBACFrD,EAAM,IAAU,KACZlB,cAAYC,QAAQC,IAAI,6CAA8CgB,GACtElB,cAAYC,QAAQC,IAAI,6CAA8CN,GAC1EF,EAAS,CAAEE,KAAMyH,GAAuBvH,QAASoB,IACjDb,wBAAa,CACXe,MAAO,UACPd,QAAS,kFACTC,QAAS,CACP,CACEvI,MAAO,MACPwI,QAAS,WACPvE,aAAa+e,QAAQ3T,GAAuBjL,KAAK6e,UAAU/Z,IAC3DN,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAEC,OAAQA,EAAQtB,KAAMA,IAC1F,GAEH,CAAE5H,MAAO,KAAMwI,QAAS,WAAQ,IAElCC,eAAe,EAAOC,qBAAqB,GAE9C,EAmCD,OACE,uCACE,eAAC,GAAD,IAGA,eAACkB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACIpQ,KAAOiT,QAAQR,IACftI,EAAO+I,MAAM5J,KAAI,SAAC6J,EAAMrQ,GACtB,OACE,eAACsQ,GAAA,EAAD,CAAanD,UAAU,OAAvB,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBkD,EAAKxD,QAC3B,qBAAIM,UAAU,OAAd,SAAsBkD,EAAKnB,iBAE7B,sBAAK/B,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,iCAAiCyC,OAAK,EAArD,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IAvDT,SAACA,EAAGmF,GAC/BnF,EAAE8J,iBACF,IAAMrD,EAAS,CACbC,IAAK,KACLqC,QAAS,EACTpC,MAAOxB,EACP6D,YAAa,GACb7D,KAAMA,EACNO,QAAQ,EACRkhC,SAAU,IAERrhC,cAAYC,QAAQC,IAAI,6CAA8CgB,GACtElB,cAAYC,QAAQC,IAAI,6CAA8CN,GAC1EF,EAAS,CAAEE,KAAMyH,GAAuBvH,QAASoB,IAEjDb,wBAAa,CACXe,MAAO,UACPd,QAAS,kFACTC,QAAS,CACP,CACEvI,MAAO,MACPwI,QAAS,WACPvE,aAAa+e,QAAQ3T,GAAuBjL,KAAK6e,UAAU/Z,IAC3DN,EAAQG,KAAK,CAAEC,SAAU,gCAAiCC,MAAO,CAAEC,OAAQA,EAAQtB,KAAMA,IAC1F,GAEH,CAAE5H,MAAO,KAAMwI,QAAS,WAAQ,IAElCC,eAAe,EAAOC,qBAAqB,GAE9C,CA0B6B6gC,CAAqB9mC,EAAGmK,EAAKhF,KAC9B,EALH,SAOE,oBAAG8B,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,qBACA,qBAAIA,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,oBACA,qBAAIA,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCxT,KAAOyT,OAAOhB,EAAmB,CAAEtE,KAAMgF,EAAKhF,OAAQ7E,KAAI,SAACmG,EAAQ3M,GAGlE,OAFIyL,cAAYC,QAAQC,IAAI,SAAUgB,GAE/B,eAAC,GAAD,CAAmBA,OAAQA,EAAQiE,UAAWV,EAAiBW,YAAad,EAAmBhB,kBAAmBkB,EAAyBw8B,YAAaM,GAAxI/sC,EACxB,gBAzCDA,EAgDb,QAIV,E,SCpPKitC,GAAeC,KAAW,CAC9BC,MAAOD,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,KAC1CgoC,KAAMF,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,MAGrCioC,GAAqBH,KAAW,CACpCC,MAAOD,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,KAC1CkoC,QAASJ,OAAazU,aAgoBT8U,GA7nBc,SAACpoC,GAE5B,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAWV89B,EAAkB,CACtB3gC,MAAO,GACPqC,YAAa,GACbu+B,YAAa,GACbC,aAAc,EACdC,UAAW,IAGb,EAA0C1pB,oBAAS,GAAnD,oBAAO2pB,EAAP,KAAsBC,EAAtB,KACA,EAAkC5pB,mBAlBf,CACjBhV,QAAS,GACTpC,MAAO,GACPqC,YAAa,GACb7D,KAAM,GACNO,QAAQ,EACRkhC,SAAU,KAYZ,oBAAOgB,EAAP,KAAkBC,EAAlB,KACA,EAAsC9pB,mBAAS,IAA/C,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAAwChqB,mBAAS,GAAjD,oBAAOiqB,EAAP,KAAqBC,EAArB,KACA,EAA4ClqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAkDpqB,mBAAS,GAA3D,oBAAOqqB,EAAP,KAA0BC,EAA1B,KACA,EAA4CtqB,oBAAS,GAArD,oBAAOuqB,EAAP,KAAuBC,EAAvB,KAGMC,EAAU5N,mBACV6N,EAAgB7N,mBAEtBhxB,qBAAU,WAER,GAAIpI,aAAaC,QAAQmL,IAAwB,CAC/C,IAAI87B,EAAc/mC,KAAKC,MAAMJ,aAAaC,QAAQmL,KAC9CrH,cAAYC,QAAQC,IAAI,kDAAmDijC,QAC3DpQ,IAAhBoQ,GAA6C,OAAhBA,GAAyB1xC,KAAOiT,QAAQy+B,IACvEC,EAAcD,EAEjB,CACF,GAAE,IAEH,IAAMA,EAAc/+B,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOgK,mBAAxB,IAChC7G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,kEACxBF,cAAYC,QAAQC,IAAI,yBAA0BijC,QAElCpQ,IAAhBoQ,GAA6C,OAAhBA,GAAyB1xC,KAAOiT,QAAQy+B,IACvEC,EAAcD,EAEjB,GAAE,CAACA,IAEJ,IAAMC,EAAgB,SAACD,GACjBnjC,cAAYC,QAAQC,IAAI,gBAAiBijC,GAExC1xC,KAAOiT,QAAQy+B,KAAgBA,EAAY9B,UAAa5vC,KAAOiT,QAAQy+B,EAAY9B,UAM5E5vC,KAAOiT,QAAQy+B,KACzBb,EAAaa,GACbf,GAAiB,KAPbpiC,cAAYC,QAAQC,IAAI,yBAC5BoiC,EAAaa,GACbX,EAAeW,EAAY9B,UAC3BqB,EAAgBS,EAAY9B,SAASpnC,QACrCmoC,GAAiB,GAKpB,EAED/9B,qBAAU,WAK8C,IAAD,EAOI,GAXrDrE,cAAYC,QAAQC,IAAI,2DACxBF,cAAYC,QAAQC,IAAI,cAAemiC,GACvCriC,cAAYC,QAAQC,IAAI,gBAAiBqiC,GAEzCU,EAAQ7Y,UAAY34B,KAAOiT,QAAQ69B,MACrC,UAAAU,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,QAASd,EAAYI,GAAgBvhC,OAAO,GAC1E6hC,EAAQ7Y,QAAQiZ,cAAc,cAAed,EAAYI,GAAgBl/B,aAAa,GACtFw/B,EAAQ7Y,QAAQiZ,cAAc,OAAQd,EAAYI,GAAgBX,aAAa,IAG7EkB,EAAc9Y,UAAY34B,KAAOiT,QAAQ29B,KAC3C,UAAAa,EAAc9Y,eAAd,SAAuBuD,YACvBuV,EAAc9Y,QAAQiZ,cAAc,UAAWhB,EAAU7+B,SAAS,GAClE0/B,EAAc9Y,QAAQiZ,cAAc,QAAShB,EAAUjhC,OAAO,GAC9D8hC,EAAc9Y,QAAQiZ,cAAc,cAAehB,EAAU5+B,aAAa,GAC1Ey/B,EAAc9Y,QAAQiZ,cAAc,OAAQhB,EAAUziC,MAAM,GAE/D,GAAE,CAAC+iC,EAAgBJ,EAAaF,EAAWI,IAG5C,IAAMa,EAAqB,uCAAG,WAAO7oC,GAAP,iBAAAkF,EAAA,6DAExBsjC,EAAQ7Y,SAAkC,IAAvBmY,EAAYtoC,SACjC,UAAAgpC,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,QAAS,IAAI,GAC3CJ,EAAQ7Y,QAAQiZ,cAAc,cAAe,IAAI,GACjDJ,EAAQ7Y,QAAQiZ,cAAc,OAAQ,IAAI,IANhB,SAQAtrB,GAAawqB,EAAa,MAAOI,EAAiB,EAAGZ,GARrD,OAQxBwB,EARwB,OAS5Bb,EAAgBa,EAAgBtpC,QAChCuoC,EAAee,GACfC,EAAkBD,GACdvjC,cAAYC,QAAQC,IAAI,oBAAqBqjC,GAZrB,2CAAH,sDAerBE,EAAwB,uCAAG,WAAOhpC,GAAP,eAAAkF,EAAA,sEACHoY,GAAawqB,EAAa,SAAUI,EAAgB,MADjD,OAC3BY,EAD2B,OAE/BX,EAAkBD,GAAkB,EAAI,EAAIA,EAAiB,GAC7DD,EAAgBa,EAAgBtpC,QAChCuoC,EAAee,GACfT,EAAqBD,GAAqB,EAAI,EAAIA,EAAoB,GACtEW,EAAkBD,GACdvjC,cAAYC,QAAQC,IAAI,oBAAqBqjC,GAC7CvjC,cAAYC,QAAQC,IAAI,sBAAuB2iC,GARpB,4CAAH,sDAWxBa,EAAwB,uCAAG,WAAOjpC,GAAP,eAAAkF,EAAA,sEACHoY,GAAawqB,EAAa,SAAUI,EAAgB,MADjD,OAC3BY,EAD2B,OAE1B9xC,KAAOiT,QAAQ6+B,KAClBX,EAAkBD,EAAiB,GACnCH,EAAee,GACfC,EAAkBD,IAEhBvjC,cAAYC,QAAQC,IAAI,oBAAqBqjC,GAPlB,2CAAH,sDAUxBI,EAA0B,uCAAG,WAAOlpC,GAAP,eAAAkF,EAAA,sEACLoY,GAAawqB,EAAa,WAAYI,EAAgB,MADjD,OAC7BY,EAD6B,OAE5B9xC,KAAOiT,QAAQ6+B,KAClBX,EAAkBD,EAAiB,GACnCH,EAAee,GACfC,EAAkBD,IAEhBvjC,cAAYC,QAAQC,IAAI,oBAAqBqjC,GAPhB,2CAAH,sDAU1BK,EAAa,uCAAG,WAAOlzB,GAAP,iBAAA/Q,EAAA,6DAChBkkC,EAAiBtB,EAAYI,IACnB,MAAYjyB,EAAOgxB,MACjCmC,EAAc,YAAkBnzB,EAAOozB,YACvCD,EAAc,YAAkBnzB,EAAOixB,KACvCkC,EAAc,aAAmBlB,EALb,SAOQ5qB,GAAawqB,EAAa,WAAYI,EAAgBkB,GAP9D,OAOhBN,EAPgB,OAQpBf,EAAee,GACfC,EAAkBD,GATE,4CAAH,sDAabQ,EAAmB,uCAAG,WAAOrzB,GAAP,eAAA/Q,EAAA,uDACtBuB,EAASmhC,GACP,QAAc3xB,EAAOmxB,QAC3B3gC,EAAM,MAAYwP,EAAOgxB,MACzBxgC,EAAM,YAAkBwP,EAAOozB,YAE/BxB,EAAaphC,GACbxB,EAAS,CAAEE,KAAMyH,GAAuBvH,QAASoB,IACjDjF,aAAa+e,QAAQ3T,GAAuBjL,KAAK6e,UAAU/Z,IARjC,2CAAH,sDAYnBsiC,EAAoB,SAACD,GAEzB,IAAIriC,EAASmhC,EACbnhC,EAAM,SAAeqiC,EACrBjB,EAAaphC,GACbxB,EAAS,CAAEE,KAAMyH,GAAuBvH,QAASoB,IACjDjF,aAAa+e,QAAQ3T,GAAuBjL,KAAK6e,UAAU/Z,GAC5D,EAGK8iC,EAAuB,SAACvpC,GAC5BmG,EAAQG,KAAK,CAAEC,SAAU,0CAA2CC,MAAO,CAAE0hC,eAAgBA,EAAgBJ,YAAaA,IAC3H,EAGK0B,EAAmB,SAACC,GACxB,IAAIf,EAAc,KAQlB,GANIlnC,aAAaC,QAAQmL,MACvB87B,EAAc/mC,KAAKC,MAAMJ,aAAaC,QAAQmL,KAC1CrH,cAAYC,QAAQC,IAAI,4BAA6BijC,SAIvCpQ,IAAhBoQ,GAA6C,OAAhBA,GAAyB1xC,KAAOiT,QAAQy+B,GA4CvE9iC,wBAAa,CAAEC,QAAS,2DAA4DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,SAzC7K,GAAMyiC,EAAY9B,UAAY8B,EAAY9B,SAASpnC,OAAS,EAErD,CACLkpC,EAAW,OAAae,EAAa9xB,GAAyBA,GAO9D,GAAI+wB,EAAY3/B,SAAW/R,KAAO0yC,SAAShB,EAAY3/B,UAAY2/B,EAAYvjC,MAAQujC,EAAYvjC,KAAK3F,OAAS,GAAKkpC,EAAY/hC,OAAS+hC,EAAY/hC,MAAMnH,OAAS,EAAG,CAAC,IAAD,iBACjJkpC,EAAY9B,UADqI,IACvK,2BAA4C,CAAC,IAAlC9qB,EAAiC,QAC1C,IAAIA,EAAQnV,OAAU3P,KAAOiT,QAAQ6R,EAAQnV,OAW3C,OAFAf,wBAAa,CAAEe,MAAO,QAASd,QAAS,4BAA6BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,SAC9I,EAVoC,IAAD,iBAC5B6V,EAAQ2rB,WADoB,IACnD,2BAA0C,CAAC,IAAhC5Z,EAA+B,QACxC,IAAMA,EAASA,UAAa72B,KAAOiT,QAAQ4jB,EAASA,UAGlD,OAFAjoB,wBAAa,CAAEe,MAAO,QAASd,QAAS,+BAAiCiW,EAAQnV,MAAOb,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,SACjK,CAGnB,CAPkD,+BAatD,CAfsK,+BAgBxK,MACiB,EAGM,OAApByiC,EAAYhiC,KACVnB,cAAYC,QAAQC,IAAI,2BAA4BijC,GACxDA,EAAW,WAAgB,EAC3BzjC,EpDpL0B,SAAClD,EAAUoE,GAAX,8CAAuB,WAAOlB,GAAP,qBAAAC,EAAA,sEAEvDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFe,SAGhCC,EAAyBvD,GAHO,gBAIlC,aAAb,QADA3E,EAH+C,EAG/CA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACRE,wBAAa,CAAEe,MAAO,UAAWd,QAAS,sBAAuBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC5JE,EAAQG,KAAK,CAAEC,SAAU,4BAEN,WAAb,OAAJnJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,kBAAmBrI,GAC/CwI,wBAAa,CAAEe,MAAO,QAASd,QAAS,gDAAiDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAV/H,kDAavDC,MAAM,EAAD,IACDX,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAjBwC,yBAoBvDrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IApBe,6EAAvB,sDoDoLjBnC,CAAqBwlC,EAAaviC,MAEvCZ,cAAYC,QAAQC,IAAI,2BAA4BijC,GACxDzjC,EpD+D8B,SAAClD,EAAUoE,GAAX,8CAAuB,WAAOlB,GAAP,qBAAAC,EAAA,sEAE3DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IACxCtD,EAAQ,SAAeA,EAAQ,IAH4B,SAIpCuD,EAA6BvD,GAJO,gBAInD3E,EAJmD,EAInDA,KACJmI,cAAYC,QAAQC,IAAI,yBAA0BrI,GACjC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CAAEC,QAAS,UAAWC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAC9HE,EAAQG,KAAK,CAAEC,SAAU,4BACC,WAAb,OAAJnJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAI,UAAWrI,GACvCwI,wBAAa,CAAEC,QAAS,iBAAkBC,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAX7E,kDAcvDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEC,QAAS,iBAAkBC,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAS,MAnB7B,yBAsB3Dd,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtBmB,6EAAvB,sDoD/DrBlC,CAAyBulC,EAAaviC,IAGlD,MAtCCP,wBAAa,CAAEC,QAAS,0DAA2DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,GA0CjL,EAED,OACE,uCACE,eAAC,GAAD,IAGA,gBAACkB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UAIE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC/Z,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,UACE,eAACqf,GAAA,EAAD,UACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,wBAAMA,UAAU,2BAAhB,UAA4C2gC,EAAU7+B,QAAtD,qCAEF,eAACoM,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,6DAAf,SACE,oBAAGA,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,eAKjE,eAACie,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACbqU,MAAO,GACPoC,YAAa,GACbjC,QAAS,EACTuC,KAAM,IAER7W,iBAAkBqU,GAClBpU,SAAU,SAAC9c,EAAQ2zB,GACjBN,EAAoBrzB,EACrB,EACD4zB,SAAUpB,EAXZ,SAaG,SAACxpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOlsB,MAAO,CAAEY,WAAY,IAAMirB,SAAU9zB,EAAMo0B,aAA7D,UACE,eAACjpB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOmxB,QACpBlc,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQoT,SAAWnT,QAAQh1B,EAAM8P,OAAOq4B,SACrDlT,WAAYj1B,EAAM+0B,QAAQoT,SAAWnoC,EAAM8P,OAAOq4B,cAMxD,eAACh9B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,oBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgxB,MACpB/b,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQiT,OAAShT,QAAQh1B,EAAM8P,OAAOk4B,OACnD/S,WAAYj1B,EAAM+0B,QAAQiT,OAAShoC,EAAM8P,OAAOk4B,YAKtD,eAAC78B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,yBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOozB,YACpBne,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqV,aAAepV,QAAQh1B,EAAM8P,OAAOs6B,aACzDnV,WAAYj1B,EAAM+0B,QAAQqV,aAAepqC,EAAM8P,OAAOs6B,oBAjD/D,aA6DX,wBAGA,eAACj/B,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASwrC,EAAgB,OAAS,SAAhD,SACE,sBAAKzgC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,gBAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,UACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,+DACA,qBAAIA,UAAU,OAAd,yIACA,qBAAIA,UAAU,OAAd,oBAGJ,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUO,aACjBxK,MAAM,UACNgI,QAAS,WACP4hC,GAAiB,EAClB,EALH,uBAYN,eAAC9c,GAAA,EAAD,CAAY5jB,UAAU,gBAM5B,eAACmD,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASwrC,EAAgB,QAAU,QAAjD,SACE,sBAAKzgC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,iCAAQwjB,EAAUjhC,QAElB,qBAAIM,UAAU,OAAd,kCAGF,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,oBACEA,UAAU,sBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,WACvFtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACFk/B,EAAyBhpC,EAC1B,IAEH,uBAAMiH,UAAU,UAAhB,oBAEA,oBACEA,UAAU,2BACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,WACvFtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACFm/B,EAAyBjpC,EAC1B,IAEH,uBAAMiH,UAAU,UAAhB,qBAEA,oBACEA,UAAU,6BACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,WACvFtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACFo/B,EAA2BlpC,EAC5B,IAEH,uBAAMiH,UAAU,UAAhB,uBAEA,oBACEA,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,WACvFtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACF++B,EAAsB7oC,EACvB,IAEH,uBAAMiH,UAAU,UAAhB,yBAMN,gBAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAAS4rC,EAAYtoC,OAAS,EAAI,QAAU,QAA/D,UACE,eAAC,KAAD,CACEozB,cAAe,CACbqU,MAAO,GACPoC,YAAa,GACbnC,KAAM,IAERpU,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACjBT,EAAclzB,EACf,EACD4zB,SAAUrB,EAVZ,SAYG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAcC,QAASr0B,EAAMs0B,YAA/D,UACE,eAACnpB,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOixB,KACpBhc,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQkT,MAAQjT,QAAQh1B,EAAM8P,OAAOm4B,MAClDhT,WAAYj1B,EAAM+0B,QAAQkT,MAAQjoC,EAAM8P,OAAOm4B,OAEjD,sBAAKhgC,MAAOc,GAAUM,UAAtB,0FAIJ,eAAC8B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgxB,MACpB/b,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQiT,OAAShT,QAAQh1B,EAAM8P,OAAOk4B,OACnD/S,WAAYj1B,EAAM+0B,QAAQiT,OAAShoC,EAAM8P,OAAOk4B,YAKtD,eAAC78B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOozB,YACpBne,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqV,aAAepV,QAAQh1B,EAAM8P,OAAOs6B,aACzDnV,WAAYj1B,EAAM+0B,QAAQqV,aAAepqC,EAAM8P,OAAOs6B,kBAK5D,gBAACj/B,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,cACtB,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,oBAxD3B,IA8DH,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAO,CAAEY,UAAW,IAAjC,SACGggC,IAAgB9wC,KAAOiT,QAAQ69B,KAAiB9wC,KAAOiT,QAAQ69B,EAAYI,GAAgBT,YAAcK,EAAYI,GAAgBT,UAAUjoC,OAAS,EACvJ,gBAAC4K,GAAA,EAAD,WACE,oBAAGlD,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,IAAzC,SAAgD6nB,EAAYI,GAAgBT,UAAUjoC,OAAS,gBAE/F,oBACEyH,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,GAAInY,WAAY,EAAGuB,OAAQ,WACvGtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACFy/B,GACD,IAEH,uBAAMtiC,UAAU,UAAhB,iBAEA,oBAAGC,MAAO,CAAE6mB,WAAY,GAAxB,6DAGF,gBAAC3jB,GAAA,EAAD,WACE,oBAAGlD,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,IAAzC,+BAEA,oBACEhZ,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,GAAInY,WAAY,EAAGuB,OAAQ,WACvGtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACFy/B,GACD,IAEH,uBAAMtiC,UAAU,UAAhB,iBAEA,oBAAGC,MAAO,CAAE6mB,WAAY,GAAxB,4DAMV,eAACzH,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAAS4rC,EAAYtoC,OAAS,EAAI,OAAS,SAA9D,SACE,eAAC4K,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,gBAACha,GAAA,EAAD,WACE,oBACEnD,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiColB,WAAY,GAAI9N,YAAa,GAAInY,WAAY,EAAGuB,OAAQ,WACvHtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACF++B,EAAsB7oC,EACvB,IAEH,uBAAMiH,UAAU,UAAhB,iBAEA,oBAAGC,MAAO,CAAE6mB,WAAY,GAAxB,8DAOR,gBAAClD,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACE,sBAAK,aAAW,MAAMC,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACGzB,GAAkBN,GAAgBA,EAAe,EAChD,eAAC,KAAD,CACErY,QAASuY,EAAiB,EAC1BtY,MAAOoY,EACPnY,aAAc,SAACF,GACb4Y,GAAkB,GAClBJ,EAAkBxY,EAAU,GAE5B4Y,GAAkB,EACnB,IAED,WAIV,gBAACn+B,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,oBAUF,gBAAChf,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPyjC,GAAiB,EAClB,EALH,yBAUCtB,EAAiB,GAAKF,EACrB,eAACzd,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPyjC,GAAiB,EAClB,EALH,+BAUA,eAACjf,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPoiC,EAAkBD,EAAiB,EACpC,EALH,uCAmBrB,ECvoBKnB,GAAeC,KAAW,CAC9B/+B,SAAU++B,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,KAC7C8qC,KAAMhD,OAAatuC,IAAI,GAAGwG,IAAI,KAC9BgoC,KAAMF,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,MA4b5BmoC,GAzbc,SAACpoC,GAE5B,IAAMgG,EAAWsE,cAGX0gC,GAFUzgC,cAES,CACvBqkB,SAAU,GACVqc,aAAc,GACdC,aAAc,GACdC,cAAe,EACfC,iBAAkB,GAClBC,qBAAsB,CACpB,CACEC,MAAO,KACPC,eAAgB,OAWtB,EAAkCzsB,mBAAS,CAAC,GAA5C,oBAAO6pB,EAAP,KAAkBC,EAAlB,KACA,EAAwC9pB,mBAAS,IAAjD,oBAAO0sB,EAAP,KAAqBC,EAArB,KACA,EAA0C3sB,mBAAS,GAAnD,oBAAO4sB,EAAP,KAAsBC,EAAtB,KACA,EAA8C7sB,mBAAS,GAAvD,oBAAO8sB,EAAP,KAAwBC,EAAxB,KACA,EAAkD/sB,mBAAS,GAA3D,oBAAOqqB,EAAP,KAA0BC,EAA1B,KACA,EAAoCtqB,mBAXb,CACrB5Y,KAAM,GACNwB,MAAO,GACPmV,QAAS,KAQX,oBAAOivB,EAAP,KAAmBC,EAAnB,KACA,EAAsCjtB,mBAAS,IAA/C,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAA4ChqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAwCpqB,mBAAS,CAAC,KAAlD,oBAAqBktB,GAArB,WACA,EAAoDltB,mBAAS,CAAC,CAAEwsB,MAAO,KAAMC,eAAgB,MAA7F,oBAA2BU,GAA3B,WACA,EAAwCntB,mBAAS,GAAjD,oBAAOotB,EAAP,KAAqBC,EAArB,KACA,EAA4CrtB,oBAAS,GAArD,oBAAOuqB,EAAP,KAAuBC,GAAvB,KAGMC,GAAU5N,mBAGhBhxB,qBAAU,WAIR,GAHIrE,cAAYC,QAAQC,IAAI,sCAGxBjE,aAAaC,QAAQmL,IAAwB,CAC/C,IAAI87B,EAAc/mC,KAAKC,MAAMJ,aAAaC,QAAQmL,KAC9CrH,cAAYC,QAAQC,IAAI,2BAA4BijC,QACpCpQ,IAAhBoQ,GAA6C,OAAhBA,GAC/BC,GAAcD,EAEjB,CACF,GAAE,IAEH,IAAMA,GAAc/+B,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOgK,mBAAxB,IAChC7G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,sCACxBF,cAAYC,QAAQC,IAAI,yBAA0BijC,SAElCpQ,IAAhBoQ,IAA6C,OAAhBA,IAC/BC,GAAcD,GAEjB,GAAE,CAACA,KAEJ,IAAMC,GAAgB,SAACD,GAGrB,GAFInjC,cAAYC,QAAQC,IAAI,2BAA4BijC,IAEnD1xC,KAAOiT,QAAQy+B,IAAgBA,EAAY9B,WAAa5vC,KAAOiT,QAAQy+B,EAAY9B,UAAW,CAAC,IAAD,IAC7FrhC,cAAYC,QAAQC,IAAI,yBAC5BoiC,EAAaa,GACbX,EAAeW,EAAY9B,UAI3B,IAAIsB,EAAc,UAAGjpC,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsB0hC,eACvCJ,EAAW,UAAG7oC,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBshC,iBAEjBxP,IAAnB4P,QAAgD5P,IAAhBwP,GAA8B9wC,KAAOiT,QAAQ69B,KAC3EviC,cAAYC,QAAQC,IAAI,kBAC5B0iC,EAAkBD,GAClBwC,EAAgB5C,EAAYI,GAAgBT,WAC5CmD,EAAiB9C,EAAYI,GAAgBT,UAAUjoC,QACvDwrC,EAAc,CAAE7lC,KAAMujC,EAAYvjC,KAAMwB,MAAO+hC,EAAY/hC,MAAOmV,QAASgsB,EAAYI,GAAgBvhC,QAE1G,CACF,EAGDiD,qBAAU,WAI+C,IAAD,GAHlDrE,cAAYC,QAAQC,IAAI,sCACxBF,cAAYC,QAAQC,IAAI,oBAExB+iC,GAAQ7Y,UAAY34B,KAAOiT,QAAQwgC,MACrC,UAAAjC,GAAQ7Y,eAAR,SAAiBuD,YACjBsV,GAAQ7Y,QAAQiZ,cAAc,WAAY6B,EAAaI,GAAiBhd,UAAU,GAClF2a,GAAQ7Y,QAAQiZ,cAAc,OAAQ6B,EAAaI,GAAiBX,cAAc,GAClF1B,GAAQ7Y,QAAQiZ,cAAc,OAAQ6B,EAAaI,GAAiBV,cAAc,GAGlFc,EAAgBR,EAAaI,GAAiBR,kBAC9Ca,EAAsBT,EAAaI,GAAiBP,sBACpD9B,GAAQ7Y,QAAQiZ,cAAc,WAAY6B,EAAaI,GAAiBR,kBAAkB,GAC1F7B,GAAQ7Y,QAAQiZ,cAAc,kBAAmB6B,EAAaI,GAAiBP,sBAAsB,GAExG,GAAE,CAACO,EAAiBJ,EAAcE,IAGnC,IAAMU,GAAsB,uCAAG,WAAOrrC,GAAP,iBAAAkF,EAAA,6DAEzBsjC,GAAQ7Y,SAAmC,IAAxB8a,EAAajrC,SAClC,UAAAgpC,GAAQ7Y,eAAR,SAAiBuD,YACjBsV,GAAQ7Y,QAAQiZ,cAAc,WAAY,IAAI,GAC9CJ,GAAQ7Y,QAAQiZ,cAAc,OAAQ,IAAI,GAC1CJ,GAAQ7Y,QAAQiZ,cAAc,OAAQ,IAAI,IANf,SAQAtrB,GAAamtB,EAAc,MAAOI,EAAkB,EAAGZ,GARvD,OAQzBqB,EARyB,OAS7BV,EAAiBU,EAAiB9rC,QAClCkrC,EAAgBY,GACZ/lC,cAAYC,QAAQC,IAAI,qBAAsB6lC,GAClDF,EAAgBD,EAAe,GAZF,2CAAH,sDAetBI,GAAyB,uCAAG,WAAOvrC,GAAP,eAAAkF,EAAA,sEACHoY,GAAamtB,EAAc,SAAUI,EAAiB,MADnD,OAC5BS,EAD4B,OAEhCR,EAAmBD,GAAmB,EAAI,EAAIA,EAAkB,GAChED,EAAiBU,EAAiB9rC,QAClCkrC,EAAgBY,GAChBjD,EAAqBD,GAAqB,EAAI,EAAIA,EAAoB,GAClE7iC,cAAYC,QAAQC,IAAI,qBAAsB6lC,GAC9C/lC,cAAYC,QAAQC,IAAI,sBAAuB2iC,GAPnB,2CAAH,sDAUzBoD,GAAyB,uCAAG,WAAOxrC,GAAP,eAAAkF,EAAA,sEACHoY,GAAamtB,EAAc,SAAUI,EAAiB,MADnD,OAC5BS,EAD4B,OAE3Bt0C,KAAOiT,QAAQqhC,KAClBR,EAAmBD,EAAkB,GACrCH,EAAgBY,IAEd/lC,cAAYC,QAAQC,IAAI,qBAAsB6lC,GANlB,2CAAH,sDASzBG,GAA2B,uCAAG,WAAOzrC,GAAP,eAAAkF,EAAA,sEACLoY,GAAamtB,EAAc,WAAYI,EAAiB,MADnD,OAC9BS,EAD8B,OAE7Bt0C,KAAOiT,QAAQqhC,KAClBR,EAAmBD,EAAkB,GACrCH,EAAgBY,IAEd/lC,cAAYC,QAAQC,IAAI,qBAAsB6lC,GANhB,2CAAH,sDAS3BI,GAAc,uCAAG,WAAOz1B,GAAP,qBAAA/Q,EAAA,6DACjBymC,EAAkBlB,EAAaI,IACpB,SAAe50B,EAAOhO,SACrC0jC,EAAe,aAAmB11B,EAAO+zB,KACzC2B,EAAe,aAAmB11B,EAAOixB,KACzCyE,EAAe,cAAoBd,EACnCc,EAAe,iBAAuB11B,EAAO21B,SAC7CD,EAAe,qBAA2B11B,EAAO41B,gBAP5B,SASQvuB,GAAamtB,EAAc,WAAYI,EAAiBc,GAThE,OASjBL,EATiB,OAUrBZ,EAAgBY,GAGZ7kC,EAASmhC,GACThB,EAAWkB,GACNI,GAAT,UAAwCuC,EACxChkC,EAAM,SAAemgC,EACrBiB,EAAaphC,GAETlB,cAAYC,QAAQC,IAAI,+BAAgCgB,GAC5DxB,EAAS,CAAEE,KAAMyH,GAAuBvH,QAASoB,IACjDjF,aAAa+e,QAAQ3T,GAAuBjL,KAAK6e,UAAU/Z,IArBtC,4CAAH,sDAwBpB,OACE,uCACE,eAAC,GAAD,IAGA,gBAACU,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UAIE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,SACE,gBAACqf,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,uBAAMA,UAAU,2BAAhB,sBAEF,eAACkO,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,6DAAf,SACE,oBAAGA,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,0CAMrB,wBAGA,eAACmD,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,iCAAQ2mB,EAAWpkC,QACnB,qBAAIM,UAAU,OAAd,SAAsB8jC,EAAWjvB,UAGjC,qBAAI7U,UAAU,OAAd,mCAGF,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,oBACEA,UAAU,sBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,WACvFtD,QAAS,SAAC/F,GACRA,EAAE8J,iBACFyhC,GAA0BvrC,EAC3B,IAEH,uBAAMiH,UAAU,UAAhB,oBAEA,oBACEA,UAAU,2BACVlB,QAAS,SAAC/F,GACRA,EAAE8J,iBACF0hC,GAA0BxrC,EAC3B,EACDkH,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,aAEzF,uBAAMpC,UAAU,UAAhB,qBAEA,oBACEA,UAAU,6BACVlB,QAAS,SAAC/F,GACRA,EAAE8J,iBACF2hC,GAA4BzrC,EAC7B,EACDkH,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,aAEzF,uBAAMpC,UAAU,UAAhB,uBAEA,oBACEA,UAAU,qBACVlB,QAAS,SAAC/F,GACRA,EAAE8J,iBACFuhC,GAAuBrrC,EACxB,EACDkH,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,EAAG5W,OAAQ,aAEzF,uBAAMpC,UAAU,UAAhB,yBAMN,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAASuuC,EAAajrC,OAAS,EAAI,QAAU,QAAhE,SACE,eAAC,KAAD,CACEozB,cAAe,CACb3qB,SAAU,GACV+hC,KAAM,GACN9C,KAAM,GACN0E,SAAU,CAAC,IACXC,gBAAiB,CACf,CACEtB,MAAO,KACPC,eAAgB,MAItB1X,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACjB8B,GAAez1B,EAChB,EACD4zB,SAAUrB,GAjBZ,SAmBG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAcC,QAASr0B,EAAMs0B,YAA/D,UACE,qBAAItsB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,iCAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,MACR,gBAACjP,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,eAACha,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOixB,KACpBhc,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQkT,MAAQjT,QAAQh1B,EAAM8P,OAAOm4B,MAClDhT,WAAYj1B,EAAM+0B,QAAQkT,MAAQjoC,EAAM8P,OAAOm4B,OAEjD,sBAAKhgC,MAAOc,GAAUM,UAAtB,2FAIJ,eAAC8B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOhO,SACpBijB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/rB,UAAYgsB,QAAQh1B,EAAM8P,OAAO9G,UACtDisB,WAAYj1B,EAAM+0B,QAAQ/rB,UAAYhJ,EAAM8P,OAAO9G,eAKzD,eAACmC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+zB,KACpB9e,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQgW,MAAQ/V,QAAQh1B,EAAM8P,OAAOi7B,MAClD9V,WAAYj1B,EAAM+0B,QAAQgW,MAAQ/qC,EAAM8P,OAAOi7B,iBAOzD,eAAC5/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,aAAvB,SACGhI,EAAM6lC,YAAc,IAAM7lC,EAAM8lC,QAC/B,qBAAI+G,OAAK,EAAC5kC,MAAO,CAAES,WAAY,OAAQG,UAAW,GAAIP,cAAe,GAAIxJ,MAAO,WAAhF,yDAGE,SAIR,gBAACqM,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,cACtB,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,oBA5E3B,MAkFL,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAASuuC,EAAajrC,OAAS,EAAI,OAAS,SAA/D,SACE,eAAC4K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,oBACEnd,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,GAC5Ela,QAAS,SAAC/F,GACRA,EAAE8J,iBACFuhC,GAAuBrrC,EACxB,IAEH,uBAAMiH,UAAU,UAAhB,wBAMN,gBAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACE,sBAAK,aAAW,MAAMC,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACGzB,GAAkBqC,GAAiBA,EAAgB,EAClD,eAAC,KAAD,CACEhb,QAASkb,EAAkB,EAC3Bjb,MAAO+a,EACP9a,aAAc,SAACF,GACb4Y,IAAkB,GAClBuC,EAAmBnb,EAAU,GAE7B4Y,IAAkB,EACnB,IAED,WAIV,eAACn+B,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,kBAUC0W,EAAkB,GAAKF,EAAgB,KACtC,eAACpgB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP+kC,EAAmBD,EAAkB,EACtC,EALH,sCAmBrB,ECzbKjiC,GAAY,SAAC,GAAD,IAAGnC,EAAH,EAAGA,OAAgBiE,GAAnB,EAAWqhC,OAAX,EAAmBrhC,WAAWC,EAA9B,EAA8BA,YAAaqhC,EAA3C,EAA2CA,YAA3C,OAEhB,eADA,CACA,gBACE,qBAAI9kC,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOoR,eACnD,qBAAI3Q,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoFlC,EAAOE,QAC3F,qBAAIO,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CrC,EAAOf,SACnD,8BACGe,EAAOwC,UACN,gBAACC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,SAKA,gBAACiC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,iBAA1B,UACE,oBAAGA,UAAU,eADf,UAMJ,qBAAIA,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGyG,EACd,EALH,SAOE,oBAAGQ,UAAU,cAAcC,MAAO,CAAEw/B,QAASjgC,EAAOwC,UAAY,GAAM,SAI1E,eAACE,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAGyG,EAChB,EALH,SAOGA,EAAOwC,UAAY,eAAC,KAAD,CAAoB/B,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,UAI9I,eAACQ,GAAA,EAAD,CAASxC,MAAM,SAASyC,OAAK,EAA7B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBimC,EAAYhsC,EAAGyG,EAChB,IAGLT,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,kCAjEP,EAyQHglC,GA/LY,SAAChtC,GAE1B,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAGhB,GAFiBE,cAEuBqU,mBAAS,KAAjD,oBAAOmuB,EAAP,KAAqBC,EAArB,KACA,EAA0CpuB,mBAAS,IAAnD,oBAAOquB,EAAP,KAAsBC,EAAtB,KAEAziC,qBAAU,WAAO,IAAD,EAERnD,EAAM,UAAGxH,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBC,OACjCA,IAAWzP,KAAOiT,QAAQxD,KAC5BxB,EAAS1B,GAAkC,CAAE8C,SAAUI,EAAOC,KAAOP,IACrEgmC,EAAgB1lC,EAAOE,OACvB0lC,EAAiB5lC,EAAOsC,UAE1B9D,EAAS2Q,KACV,GAAE,IAGH,IAAMlF,EAAwB/G,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOiK,qBAAxB,IAC1C9G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,0BAA2BiL,GACnDnL,cAAYC,QAAQC,IAAI,iCAAkCzO,KAAOkqB,IAAIxQ,EAAuB,gBACjG,GAAE,CAACA,IAGJ,IAAM1G,EAAkB,SAAChK,EAAGssC,GAC1BtsC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,yBAA0B6mC,GACtDrnC,EAAS,CAAEE,KAAM0H,GAA8BxH,QAASinC,IACxD9qC,aAAa+e,QAAQ1T,GAA8BlL,KAAK6e,UAAU8rB,IAClEnmC,EAAQG,KAAK,CAAEC,SAAU,+CAAgDC,MAAO,CAAEC,OAAQ6lC,EAAcC,UAAWluB,IACpH,EAEKxU,EAAoB,SAAC7J,EAAGssC,GAC5BtsC,EAAE8J,iBACEwiC,EAAa5mC,SAAWiS,IAC1B20B,EAAY,WAAiBA,EAAarjC,UAC1CqjC,EAAY,eAAqBA,EAAa5lC,IAC9CzB,EAAS3B,GAAmCgpC,EAAcnmC,KAE1DP,wBAAa,CAAEe,MAAO,gBAAiBd,QAAS,kDAAmDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,GAE/L,EAEKoY,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAoCvBq6B,EAAoB,SAACxsC,EAAGyG,GACxBlB,cAAYC,QAAQC,IAAI,SAAUgB,GACtCzG,EAAE8J,iBACF,ItDqEqC/H,EAAU6E,EsDrE3CqP,EAAS,CACXw2B,eAAgBhmC,EAAOC,KAEzBzB,GtDkEqClD,EsDlEHkU,EtDkEarP,EsDlELT,EtDkEN,uCAAsB,WAAOlB,GAAP,2BAAAC,EAAA,6DACxDK,cAAYC,QAAQC,IAAI,WAAY1D,GADoB,SAG1DkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHkB,SAInCC,EAA6BvD,GAJM,OAIpDqE,EAJoD,OAKlDhJ,EAASgJ,EAAThJ,KACJmI,cAAYC,QAAQC,IAAI,wBAAyBrI,GAChC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRT,EAAS,CAAEE,KAAM4H,GAAqB1H,QAASJ,IAC/CW,wBAAa,CACXC,QAAS,wBACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACPqc,OAAOa,SAASwI,QAAO,EACxB,OAKY,WAAb,OAAJruB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAvB7G,kDA0BtD,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,kBAERg0B,EADC,sCACc,KAAOl0B,gBADrB,iBACc,EAAiBhJ,YAD/B,aACc,EAAuByI,QAC1CD,wBAAa,CAAEC,QAASy0B,EAAcx0B,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAGhIV,cAAYC,QAAQC,IAAR,MAlC0C,yBAoC1DR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IApCkB,6EAAtB,uDsDjErC,EAED,OACE,uCACE,eAAC,GAAD,IAGA,gBAAC8B,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBilC,IACtB,qBAAIjlC,UAAU,OAAd,SAAsBmlC,OAExB,sBAAKnlC,UAAU,2BAAf,SACE,sBACEA,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IA9DJ,SAACA,GAAO,IAAD,EAC/BA,EAAE8J,iBAEF,IAAI4iC,EAAUh8B,EAAsBpQ,KAAI,SAACmG,EAAQ3M,GAC/C,OAAO2M,CACR,IACDimC,EAAQpmC,KAAK,CAACuR,aAAc,OACxBtS,cAAYC,QAAQC,IAAI,YAAainC,GACzC,IAAMjmC,EAAM,UAAGxH,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBC,OACjClB,cAAYC,QAAQC,IAAI,6CAA8CgB,GAC1ExB,EAAS,CAAEE,KAAM0H,GAA8BxH,QAASoB,IACxDjF,aAAa+e,QAAQ1T,GAA8BlL,KAAK6e,UAAU/Z,IAElE,IAAIqmB,EAAY91B,KAAO+1B,OAAO1O,GAAU,SAAU2O,GAChD,OAAOh2B,KAAOizB,KAAKyiB,EAAS,CAAE70B,aAAcmV,EAAY9sB,MACzD,IACGqF,cAAYC,QAAQC,IAAI,YAAaqnB,GACrC91B,KAAOiT,QAAQ6iB,GACjBlnB,wBAAa,CACXe,MAAO,QACPd,QAAS,wDACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAQ,IAGrBC,eAAe,EAAOC,qBAAqB,IAG7CE,EAAQG,KAAK,CAAEC,SAAU,+CAAgDC,MAAO,CAAEC,OAAQA,EAAQ8lC,UAAWzf,IAEhH,CA+BqB+Z,CAAkB7mC,EACnB,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,eAKxE,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,yBAAOwL,UAAU,cAAjB,UACE,gCACE,qBAAIuD,MAAM,MAAV,2BACA,qBAAIA,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,oBACA,qBAAIA,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,wBAEF,gCACE,qBAAItD,MAAO,CAAE4B,WAAY,gBAAzB,gBACA,qBAAI5B,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,sCACA,qBAAIzB,MAAO,CAAE4B,WAAY,gBAAzB,sBACA,qBAAI5B,MAAO,CAAE4B,WAAY,gBAAzB,SACE,gBAACI,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,WAKF,qBAAIC,MAAO,CAAE4B,WAAY,gBAAzB,SACE,uBAAK7B,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,sCAAsCyC,OAAK,EAA1D,SACE,sBAAKnC,UAAU,iBAAiBC,MAAO,CAAEmC,OAAQ,WAAjD,SACE,oBAAGpC,UAAU,cAAcC,MAAO,CAAEw/B,QAAS,GAAK3oC,MAAO4K,UAG7D,eAACQ,GAAA,EAAD,CAASxC,MAAM,sCAAsCyC,OAAK,EAA1D,SACE,sBAAKnC,UAAU,iBAAiBC,MAAO,CAAEmC,OAAQ,WAAjD,SACE,eAAC,KAAD,CAAoBnC,MAAO,CAAEw/B,QAAS,GAAK3oC,MAAO4K,qBAO9D,mCACE,wBACC+H,IACE1Z,KAAOiT,QAAQyG,IAChBA,EAAsBpQ,KAAI,SAACmG,EAAQ3M,GACjC,OAAO,eAAC,GAAD,CAAmB2M,OAAQA,EAAQslC,OAAQjyC,IAAM4W,EAAsBlR,OAAS,EAAGkL,UAAWV,EAAiBW,YAAad,EAAmBmiC,YAAaQ,GAA5I1yC,EACxB,iBAOb,eAACuQ,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,eAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,oBAUF,eAAChf,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,4BAOnC,ECnQK8/B,GAAeC,KAAW,CAC9BC,MAAOD,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,KAC1CgoC,KAAMF,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,MAGrCioC,GAAqBH,KAAW,CACpCC,MAAOD,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,KAC1CkoC,QAASJ,OAAazU,WACtBoa,aAAc3F,OAAazU,SAAS,gCAAgC75B,IAAI,KAmlB3Dk0C,GAhlBoB,SAAC3tC,GAElC,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAmBhB,EAA0CuU,oBAAS,GAAnD,oBAAO2pB,EAAP,KAAsBC,EAAtB,KACA,EAAkC5pB,mBAlBf,CACjBhV,QAAS,EACTpC,MAAO,QACPqC,YAAa,qBACb7D,KAAM,MACNO,QAAQ,EACRkhC,SAAU,KAYZ,oBAAOgB,EAAP,KAAkBC,EAAlB,KACA,EAAsC9pB,mBAAS,IAA/C,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAAwChqB,mBAAS,GAAjD,oBAAOiqB,EAAP,KAAqBC,EAArB,KACA,EAA4ClqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAkDpqB,mBAAS,GAA3D,oBACA,GADA,UAC0BA,oBAAS,IAAnC,oBAAO8uB,EAAP,KAAcC,EAAd,KACA,EAAwC/uB,mBAAS,IAAjD,oBAAOgvB,EAAP,KAAqBC,EAArB,KACA,EAA4CjvB,oBAAS,GAArD,oBAAOuqB,EAAP,KAAuBC,EAAvB,KAGMC,EAAU5N,mBACV6N,EAAgB7N,mBAEtBhxB,qBAAU,WAAO,IAAD,IAId,GAHIrE,cAAYC,QAAQC,IAAI,sCAGxBjE,aAAaC,QAAQoL,IAA+B,CACtD,IAAI67B,EAAc/mC,KAAKC,MAAMJ,aAAaC,QAAQoL,KAC9CtH,cAAYC,QAAQC,IAAI,kDAAmDijC,QAC3DpQ,IAAhBoQ,GAA6C,OAAhBA,GAC/BC,EAAcD,EAEjB,CAEG,UAAAzpC,EAAMgkB,SAASzc,aAAf,SAAsBC,SAAWzP,KAAOiT,QAAP,UAAehL,EAAMgkB,SAASzc,aAA9B,aAAe,EAAsBC,SACxEkhC,GAAiB,GAGnB1iC,EAAS2Q,KACV,GAAE,IAEH,IAAM8yB,EAAc/+B,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOuK,yBAAxB,IAChCpH,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,sCACxBF,cAAYC,QAAQC,IAAI,yBAA0BijC,QAElCpQ,IAAhBoQ,GAA6C,OAAhBA,GAC/BC,EAAcD,EAEjB,GAAE,CAACA,IAEJ,IAAMv2B,EAAcxI,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAChCvI,qBAAU,WAAO,IAAD,EAGyC,GAFnDrE,cAAYC,QAAQC,IAAI,gBAAZ,UAA6BxG,EAAMgkB,SAASzc,aAA5C,aAA6B,EAAsBC,OAAOoR,mBAEtDygB,IAAhBnmB,GAA6C,OAAhBA,IAC/B66B,EAAe,UAAC/tC,EAAMgkB,SAASzc,aAAhB,aAAC,EAAsB+lC,UAEzC,GAAE,CAACp6B,IAEJ,IAAMw2B,EAAgB,SAACD,GACjBnjC,cAAYC,QAAQC,IAAI,gBAAiBijC,GAExC1xC,KAAOiT,QAAQy+B,KAAgBA,EAAY9B,UAAa5vC,KAAOiT,QAAQy+B,EAAY9B,YAClFrhC,cAAYC,QAAQC,IAAI,yBAC5BoiC,EAAaa,GACbX,EAAeW,EAAY9B,UAC3BqB,EAAgBS,EAAY9B,SAASpnC,QACjCxI,KAAOi2C,IAAIvE,EAAa,kBAAoB1xC,KAAOiT,QAAQy+B,EAAY7wB,eACrEtS,cAAYC,QAAQC,IAAI,wBAAyBijC,EAAY7wB,cACjEi1B,GAAS,IAETA,GAAS,GAGd,EAEDljC,qBAAU,WAG8C,IAAD,GAFjDrE,cAAYC,QAAQC,IAAI,sCAExB+iC,EAAQ7Y,UAAY34B,KAAOiT,QAAQ69B,MACrC,UAAAU,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,QAASd,EAAYI,GAAgBvhC,OAAO,GAC1E6hC,EAAQ7Y,QAAQiZ,cAAc,cAAed,EAAYI,GAAgBl/B,aAAa,GACtFw/B,EAAQ7Y,QAAQiZ,cAAc,OAAQd,EAAYI,GAAgBX,aAAa,IAG7EkB,EAAc9Y,UAAY34B,KAAOiT,QAAQ29B,KACvCriC,cAAYC,QAAQC,IAAI,kBAC5BgjC,EAAc9Y,QAAQiZ,cAAc,UAAWhB,EAAU7+B,SAAS,GAClE0/B,EAAc9Y,QAAQiZ,cAAc,QAAShB,EAAUjhC,OAAO,GAC9D8hC,EAAc9Y,QAAQiZ,cAAc,cAAehB,EAAU5+B,aAAa,GAC1Ey/B,EAAc9Y,QAAQiZ,cAAc,eAAgBhB,EAAU/vB,cAAc,GAE/E,GAAE,CAACqwB,EAAgBJ,IAGpB,IAAMxqB,EAAY,uCAAG,WAAOC,EAAOC,EAASrhB,EAAUsC,GAAjC,iBAAAyG,EAAA,yDACG,KACN,QAAZsY,EAFe,uBAGCD,EAAME,OAAOthB,EAAU,EAAGsC,GAH3B,kBAIV8e,GAJU,UAKI,WAAZC,EALQ,wBAMCD,EAAME,OAAOthB,EAAU,GANxB,kBAOVohB,GAPU,WAQI,WAAZC,EARQ,sBASbD,EAAM/d,OAASrD,EAAW,GATb,wBAUXuhB,EAAOH,EAAMphB,GACjBohB,EAAMphB,GAAYohB,EAAMphB,EAAW,GACnCohB,EAAMphB,EAAW,GAAKuhB,EAZP,kBAaRH,GAbQ,yCAwBR,IAxBQ,2CAiBI,aAAZC,EAjBQ,sBAkBb,GAAKrhB,EAAW,GAlBH,wBAmBXuhB,EAAOH,EAAMphB,GACjBohB,EAAMphB,GAAYohB,EAAMphB,EAAW,GACnCohB,EAAMphB,EAAW,GAAKuhB,EArBP,kBAsBRH,GAtBQ,WA0BI,aAAZC,EA1BQ,wBA2BjBD,EAAMphB,GAAYsC,EA3BD,kBA4BV8e,GA5BU,iCA8BVA,GA9BU,4CAAH,4DAkCZ4rB,EAAa,uCAAG,WAAOlzB,GAAP,iBAAA/Q,EAAA,6DAChBkkC,EAAiBtB,EAAYI,IACnB,MAAYjyB,EAAOgxB,MACjCmC,EAAc,YAAkBnzB,EAAOozB,YACvCD,EAAc,YAAkBnzB,EAAOixB,KACvCkC,EAAc,aAAmBlB,EALb,SAOQ5qB,EAAawqB,EAAa,WAAYI,EAAgBkB,GAP9D,OAOhBN,EAPgB,OAQpBf,EAAee,GACfC,EAAkBD,GATE,4CAAH,sDAabQ,EAAmB,uCAAG,WAAOrzB,GAAP,eAAA/Q,EAAA,uDACtBuB,EAASmhC,GACP,QAAc3xB,EAAOmxB,QAC3B3gC,EAAM,MAAYwP,EAAOgxB,MACzBxgC,EAAM,YAAkBwP,EAAOozB,YAC/B5iC,EAAM,aAAmBwP,EAAO02B,aAChC9E,EAAaphC,GACbxB,EAAS,CAAEE,KAAM0H,GAA8BxH,QAASoB,IACxDjF,aAAa+e,QAAQ1T,GAA8BlL,KAAK6e,UAAU/Z,IARxC,2CAAH,sDAYnBsiC,EAAoB,SAACD,GAEzB,IAAIriC,EAASmhC,EACbnhC,EAAM,SAAeqiC,EACrBjB,EAAaphC,GACbxB,EAAS,CAAEE,KAAM0H,GAA8BxH,QAASoB,IACxDjF,aAAa+e,QAAQ1T,GAA8BlL,KAAK6e,UAAU/Z,GACnE,EAQK+iC,EAAgB,uCAAG,WAAOC,GAAP,mBAAAvkC,EAAA,yDACnBqnC,EADmB,CACN,MADM,8BACGttC,EAAMgkB,SAASzc,aADlB,aACG,EAAsB+lC,YAE5C7D,EAAc,MACdlnC,aAAaC,QAAQoL,IAJF,4BAKPlL,KALO,SAKUH,aAAaC,QAAQoL,IAL/B,mBAKrB67B,EALqB,KAKF9mC,MALE,gBAMjB2D,cAAYC,QAAQC,IAAI,4BAA6BijC,GANpC,eASHpQ,IAAhBoQ,GAA6C,OAAhBA,GAAyB1xC,KAAOiT,QAAQy+B,GATlD,oBAWfA,EAAY7wB,cAAgB6wB,EAAY7wB,aAAarY,QAAU,EAXhD,wBAYnBoG,wBAAa,CAAEe,MAAO,QAASd,QAAS,6DAA8DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,IAZ5K,8BAgBXyiC,EAAY7wB,eAAgB00B,EAAUliB,SAASqe,EAAY7wB,cAhBhD,wBAiBnBjS,wBAAa,CAAEe,MAAO,QAASd,QAAS,yBAA0BC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAjBzI,2BAsBnByiC,EAAW,OAAae,EAAa9xB,GAAyBA,GAE1Dk1B,GACEtnC,cAAYC,QAAQC,IAAI,2BAA4BijC,GACxDA,EAAW,SAAeA,EAAYhiC,IACtCgiC,EAAW,WAAgB,EAC3BzjC,EAAS5B,GAAmCqlC,EAAaviC,MAErDZ,cAAYC,QAAQC,IAAI,2BAA4BijC,GACxDA,EAAW,eAAqBA,EAAYhiC,IAC5CzB,EAAS3B,GAAmColC,EAAaviC,KAhCxC,yDAoCdP,wBAAa,CAAEe,MAAO,QAASd,QAAS,6CAA8CC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAIC,eAAe,EAAOC,qBAAqB,KApCjK,4CAAH,sDAwCtB,OACE,uCACE,eAAC,GAAD,IAGA,gBAACkB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UAIE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC/Z,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,UACE,eAACqf,GAAA,EAAD,UACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,wBAAMA,UAAU,2BAAhB,UAA4C2gC,EAAU7+B,QAAtD,iCAEF,eAACoM,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,6DAAf,SACE,oBAAGA,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,eAKjE,eAACie,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACbqU,MAAO,GACPoC,YAAa,GACbjC,QAAS,EACTuF,aAAc,IAEhB7Z,iBAAkBqU,GAClBpU,SAAU,SAAC9c,EAAQ2zB,GACjBN,EAAoBrzB,EACrB,EACD4zB,SAAUpB,EAXZ,SAaG,SAACxpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOlsB,MAAO,CAAEY,WAAY,IAAMirB,SAAU9zB,EAAMo0B,aAA7D,UACE,gBAACjpB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOmxB,QACpBlc,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQoT,SAAWnT,QAAQh1B,EAAM8P,OAAOq4B,SACrDlT,WAAYj1B,EAAM+0B,QAAQoT,SAAWnoC,EAAM8P,OAAOq4B,QAClD5S,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SACE,gBAACqjB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO02B,aACpBzhB,SAAUjsB,EAAM20B,aAAa,gBAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBkjB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ2Y,cAAgB1Y,QAAQh1B,EAAM8P,OAAO49B,cAC1DzY,WAAYj1B,EAAM+0B,QAAQ2Y,cAAgB1tC,EAAM8P,OAAO49B,aACvDnY,UAAWqY,EAbb,UAeE,yBAAepuC,MAAM,IAAT,IACXsuC,EAAazsC,KAAI,SAAC6iB,EAAKrpB,GACtB,OACE,yBAAgB2E,MAAO0kB,EAAIjjB,KAA3B,SACGijB,EAAI7M,MADMxc,EAIhB,cAMT,eAACsQ,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,oBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgxB,MACpB/b,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQiT,OAAShT,QAAQh1B,EAAM8P,OAAOk4B,OACnD/S,WAAYj1B,EAAM+0B,QAAQiT,OAAShoC,EAAM8P,OAAOk4B,YAKtD,eAAC78B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,yBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOozB,YACpBne,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqV,aAAepV,QAAQh1B,EAAM8P,OAAOs6B,aACzDnV,WAAYj1B,EAAM+0B,QAAQqV,aAAepqC,EAAM8P,OAAOs6B,oBA9E/D,aA0FX,wBAGA,eAACj/B,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASwrC,EAAgB,OAAS,SAAhD,SACE,sBAAKzgC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,gBAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,UACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,+DACA,qBAAIA,UAAU,SACd,qBAAIA,UAAU,OAAd,oBAGJ,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUO,aACjBxK,MAAM,UACNgI,QAAS,WACP4hC,GAAiB,EAClB,EALH,uBAYN,eAAC9c,GAAA,EAAD,CAAY5jB,UAAU,gBAM5B,eAACmD,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASwrC,EAAgB,QAAU,QAAjD,SACE,sBAAKzgC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,eAACmD,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,iCAAQwjB,EAAUjhC,QAGlB,qBAAIM,UAAU,OAAd,sCAMN,gBAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAAS4rC,EAAYtoC,OAAS,EAAI,QAAU,QAA/D,UACE,eAAC,KAAD,CACEozB,cAAe,CACbqU,MAAO,GACPoC,YAAa,GACbnC,KAAM,IAERpU,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACjBT,EAAclzB,EACf,EACD4zB,SAAUrB,EAVZ,SAYG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAcC,QAASr0B,EAAMs0B,YAA/D,UACE,eAACnpB,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOixB,KACpBhc,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQkT,MAAQjT,QAAQh1B,EAAM8P,OAAOm4B,MAClDhT,WAAYj1B,EAAM+0B,QAAQkT,MAAQjoC,EAAM8P,OAAOm4B,KAC/C1S,UAAU,IAEZ,sBAAKttB,MAAOc,GAAUM,UAAtB,0FAIJ,eAAC8B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgxB,MACpB/b,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQiT,OAAShT,QAAQh1B,EAAM8P,OAAOk4B,OACnD/S,WAAYj1B,EAAM+0B,QAAQiT,OAAShoC,EAAM8P,OAAOk4B,YAKtD,eAAC78B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOozB,YACpBne,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqV,aAAepV,QAAQh1B,EAAM8P,OAAOs6B,aACzDnV,WAAYj1B,EAAM+0B,QAAQqV,aAAepqC,EAAM8P,OAAOs6B,kBAK5D,gBAACj/B,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,cACtB,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,oBAzD3B,IA+DH,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAO,CAAEY,UAAW,IAAjC,SACGggC,IAAgB9wC,KAAOiT,QAAQ69B,KAAiB9wC,KAAOiT,QAAQ69B,EAAYI,GAAgBT,YAAcK,EAAYI,GAAgBT,UAAUjoC,OAAS,EACvJ,gBAAC4K,GAAA,EAAD,WACE,oBAAGlD,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,IAAzC,SAAgD6nB,EAAYI,GAAgBT,UAAUjoC,OAAS,gBAE/F,oBACEyH,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,GAAInY,WAAY,GAC5F/B,QAAS,SAAC/F,GACRA,EAAE8J,iBAxT1B3D,EAAQG,KAAK,CAAEC,SAAU,wDAAyDC,MAAO,CAAE0hC,eAAgBA,EAAgBJ,YAAaA,IA0TjH,IAEH,uBAAM7gC,UAAU,UAAhB,iBACA,oBAAGC,MAAO,CAAE6mB,WAAY,GAAxB,sDAGF,qCACE,oBAAG7mB,MAAO,CAAE+Y,YAAa,IAAzB,oCAMV,eAACqG,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAAS4rC,EAAYtoC,OAAS,EAAI,OAAS,SAA9D,SACE,eAAC4K,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,oBAAGld,MAAO,CAAE6mB,WAAY,GAAxB,gCAMN,gBAAClD,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACA,sBAAK,aAAW,MAAMC,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACKzB,GAAkBN,GAAgBA,EAAe,EAChD,eAAC,KAAD,CACErY,QAASuY,EAAiB,EAC1BtY,MAAOoY,EACPnY,aAAc,SAACF,GACb4Y,GAAkB,GAClBJ,EAAkBxY,EAAU,GAE5B4Y,GAAkB,EACnB,IAED,WAIV,gBAACn+B,GAAA,EAAD,CAAKlD,MAAO,CAAEY,UAAW,IAAzB,UACE,eAACqN,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAACmG,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,oBAWF,gBAAC/3B,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPyjC,GAAiB,EAClB,EALH,yBAUCtB,EAAiB,IAAMF,EACtB,eAACzd,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPyjC,GAAiB,EAClB,EALH,6BAUA,eAACjf,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPoiC,EAAkBD,EAAiB,EACpC,EALH,uCAmBrB,EC9lBKnB,GAAeC,KAAW,CAC9B/+B,SAAU++B,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,KAC7C8qC,KAAMhD,OAAatuC,IAAI,GAAGwG,IAAI,KAC9BgoC,KAAMF,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,MAsZ5BiuC,GAnZ4B,SAACluC,GAE1C,IAAMgG,EAAWsE,cAGX0gC,GAFUzgC,cAES,CACvBqkB,SAAU,GACVqc,aAAc,GACdC,aAAc,GACdC,cAAe,EACfC,iBAAkB,GAClBC,qBAAsB,CACpB,CACEC,MAAO,KACPC,eAAgB,OAWtB,EAAkCzsB,mBAAS,CAAC,GAA5C,oBAAO6pB,EAAP,KAAkBC,EAAlB,KACA,EAAwC9pB,mBAAS,IAAjD,oBAAO0sB,EAAP,KAAqBC,EAArB,KACA,EAA0C3sB,mBAAS,GAAnD,oBAAO4sB,EAAP,KAAsBC,EAAtB,KACA,EAA8C7sB,mBAAS,GAAvD,oBAAO8sB,EAAP,KAAwBC,EAAxB,KACA,EAAkD/sB,mBAAS,GAA3D,oBACA,GADA,UACoCA,mBAXb,CACrB5Y,KAAM,GACNwB,MAAO,GACPmV,QAAS,MAQX,oBAAOivB,EAAP,KAAmBC,EAAnB,KACA,EAAsCjtB,mBAAS,IAA/C,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAA4ChqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAwCpqB,mBAAS,CAAC,KAAlD,oBAAqBktB,GAArB,WACA,EAAoDltB,mBAAS,CAAC,CAAEwsB,MAAO,KAAMC,eAAgB,MAA7F,oBAA2BU,GAA3B,WACA,EAA4CntB,oBAAS,GAArD,oBAAOuqB,EAAP,KAAuBC,EAAvB,KAGMC,EAAU5N,mBAGhBhxB,qBAAU,WAIR,GAHIrE,cAAYC,QAAQC,IAAI,sCAGxBjE,aAAaC,QAAQoL,IAA+B,CACtD,IAAI67B,EAAc/mC,KAAKC,MAAMJ,aAAaC,QAAQoL,KAC9CtH,cAAYC,QAAQC,IAAI,2BAA4BijC,QACpCpQ,IAAhBoQ,GAA6C,OAAhBA,GAC/BC,EAAcD,EAEjB,CACF,GAAE,IAEH,IAAMA,EAAc/+B,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOuK,yBAAxB,IAChCpH,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,sCACxBF,cAAYC,QAAQC,IAAI,yBAA0BijC,QAElCpQ,IAAhBoQ,GAA6C,OAAhBA,GAC/BC,EAAcD,EAEjB,GAAE,CAACA,IAEJ,IAAMC,EAAgB,SAACD,GAGrB,GAFInjC,cAAYC,QAAQC,IAAI,2BAA4BijC,IAEnD1xC,KAAOiT,QAAQy+B,IAAgBA,EAAY9B,WAAa5vC,KAAOiT,QAAQy+B,EAAY9B,UAAW,CAAC,IAAD,IAC7FrhC,cAAYC,QAAQC,IAAI,yBAC5BoiC,EAAaa,GACbX,EAAeW,EAAY9B,UAI3B,IAAIsB,EAAc,UAAGjpC,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsB0hC,eACvCJ,EAAW,UAAG7oC,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBshC,iBAEjBxP,IAAnB4P,QAAgD5P,IAAhBwP,GAA8B9wC,KAAOiT,QAAQ69B,KAC3EviC,cAAYC,QAAQC,IAAI,kBAC5B0iC,EAAkBD,GAClBwC,EAAgB5C,EAAYI,GAAgBT,WAC5CmD,EAAiB9C,EAAYI,GAAgBT,UAAUjoC,QACnD+F,cAAYC,QAAQC,IAAI,qBAAsBijC,EAAYvjC,MAC1DI,cAAYC,QAAQC,IAAI,sBAAuBijC,EAAY/hC,OAC/DqkC,EAAc,CAAE7lC,KAAMujC,EAAYvjC,KAAMwB,MAAO+hC,EAAY/hC,MAAOmV,QAASgsB,EAAYI,GAAgBvhC,QAE1G,CACF,EAGDiD,qBAAU,WAG+C,IAAD,GAFlDrE,cAAYC,QAAQC,IAAI,sCAExB+iC,EAAQ7Y,UAAY34B,KAAOiT,QAAQwgC,MACrC,UAAAjC,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,WAAY6B,EAAaI,GAAiBhd,UAAU,GAClF2a,EAAQ7Y,QAAQiZ,cAAc,OAAQ6B,EAAaI,GAAiBX,cAAc,GAClF1B,EAAQ7Y,QAAQiZ,cAAc,OAAQ6B,EAAaI,GAAiBV,cAAc,GAGlFc,EAAgBR,EAAaI,GAAiBR,kBAC9Ca,EAAsBT,EAAaI,GAAiBP,sBACpD9B,EAAQ7Y,QAAQiZ,cAAc,WAAY6B,EAAaI,GAAiBR,kBAAkB,GAC1F7B,EAAQ7Y,QAAQiZ,cAAc,kBAAmB6B,EAAaI,GAAiBP,sBAAsB,GAExG,GAAE,CAACO,EAAiBJ,IAGrB,IAAMntB,EAAY,uCAAG,WAAOC,EAAOC,EAASrhB,EAAUsC,GAAjC,iBAAAyG,EAAA,yDACG,KACN,QAAZsY,EAFe,uBAGCD,EAAME,OAAOthB,EAAU,EAAGsC,GAH3B,kBAIV8e,GAJU,UAKI,WAAZC,EALQ,wBAMCD,EAAME,OAAOthB,EAAU,GANxB,kBAOVohB,GAPU,WAQI,WAAZC,EARQ,sBASbD,EAAM/d,OAASrD,EAAW,GATb,wBAUXuhB,EAAOH,EAAMphB,GACjBohB,EAAMphB,GAAYohB,EAAMphB,EAAW,GACnCohB,EAAMphB,EAAW,GAAKuhB,EAZP,kBAaRH,GAbQ,yCAwBR,IAxBQ,2CAiBI,aAAZC,EAjBQ,sBAkBb,GAAKrhB,EAAW,GAlBH,wBAmBXuhB,EAAOH,EAAMphB,GACjBohB,EAAMphB,GAAYohB,EAAMphB,EAAW,GACnCohB,EAAMphB,EAAW,GAAKuhB,EArBP,kBAsBRH,GAtBQ,WA0BI,aAAZC,EA1BQ,wBA2BjBD,EAAMphB,GAAYsC,EA3BD,kBA4BV8e,GA5BU,iCA8BVA,GA9BU,4CAAH,4DAmCZ8tB,EAAsB,uCAAG,WAAOrrC,GAAP,eAAAkF,EAAA,sEACAoY,EAAamtB,EAAc,MAAOI,EAAkB,EAAGZ,GADvD,OACzBqB,EADyB,OAE7BV,EAAiBU,EAAiB9rC,QAClCkrC,EAAgBY,GACZ/lC,cAAYC,QAAQC,IAAI,qBAAsB6lC,GAJrB,2CAAH,sDAOtBI,GAAc,uCAAG,WAAOz1B,GAAP,qBAAA/Q,EAAA,6DACjBymC,EAAkBlB,EAAaI,IACpB,SAAe50B,EAAOhO,SACrC0jC,EAAe,aAAmB11B,EAAO+zB,KACzC2B,EAAe,aAAmB11B,EAAOixB,KACzCyE,EAAe,cAAoBd,EACnCc,EAAe,iBAAuB11B,EAAO21B,SAC7CD,EAAe,qBAA2B11B,EAAO41B,gBAP5B,SASQvuB,EAAamtB,EAAc,WAAYI,EAAiBc,GAThE,OASjBL,EATiB,OAUrBZ,EAAgBY,GAGZ7kC,EAASmhC,GACThB,EAAWkB,GACNI,GAAT,UAAwCuC,EACxChkC,EAAM,SAAemgC,EACrBiB,EAAaphC,GAETlB,cAAYC,QAAQC,IAAI,+BAAgCgB,GAC5DxB,EAAS,CAAEE,KAAM0H,GAA8BxH,QAASoB,IACxDjF,aAAa+e,QAAQ1T,GAA8BlL,KAAK6e,UAAU/Z,IArB7C,4CAAH,sDAwBpB,OACE,uCACE,eAAC,GAAD,IAGA,gBAACU,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UAIE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAf,SACE,eAAC/K,GAAA,EAAD,CAAMpD,UAAU,0BAAhB,SACE,gBAACqf,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,uBAAMA,UAAU,2BAAhB,sBAKF,eAACkO,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,6DAAf,SACE,oBAAGA,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,0CAMrB,wBAGA,eAACmD,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,eAACmD,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,iCAAQ2mB,EAAWpkC,QACnB,qBAAIM,UAAU,OAAd,SAAsB8jC,EAAWjvB,UAGjC,qBAAI7U,UAAU,OAAd,uCAMN,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAASuuC,EAAajrC,OAAS,EAAI,QAAU,QAAhE,SACE,eAAC,KAAD,CACEozB,cAAe,CACb3qB,SAAU,GACV+hC,KAAM,GACN9C,KAAM,GACN0E,SAAU,CAAC,IACXC,gBAAiB,CACf,CACEtB,MAAO,KACPC,eAAgB,MAItB1X,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GAEjB8B,GAAez1B,EAChB,EAED4zB,SAAUrB,EAnBZ,SAqBG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAcC,QAASr0B,EAAMs0B,YAA/D,UACE,qBAAItsB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,iCAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,MACR,gBAACjP,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,eAACha,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,UACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOixB,KACpBhc,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQkT,MAAQjT,QAAQh1B,EAAM8P,OAAOm4B,MAClDhT,WAAYj1B,EAAM+0B,QAAQkT,MAAQjoC,EAAM8P,OAAOm4B,KAC/C1S,UAAU,IAEZ,sBAAKttB,MAAOc,GAAUM,UAAtB,2FAIJ,eAAC8B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOhO,SACpBijB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/rB,UAAYgsB,QAAQh1B,EAAM8P,OAAO9G,UACtDisB,WAAYj1B,EAAM+0B,QAAQ/rB,UAAYhJ,EAAM8P,OAAO9G,eAKzD,eAACmC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+zB,KACpB9e,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQgW,MAAQ/V,QAAQh1B,EAAM8P,OAAOi7B,MAClD9V,WAAYj1B,EAAM+0B,QAAQgW,MAAQ/qC,EAAM8P,OAAOi7B,iBAOzD,eAAC5/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,aAAvB,SACGhI,EAAM6lC,YAAc,IAAM7lC,EAAM8lC,QAC/B,qBAAI+G,OAAK,EAAC5kC,MAAO,CAAES,WAAY,OAAQG,UAAW,GAAIP,cAAe,GAAIxJ,MAAO,WAAhF,yDAGE,SAIR,gBAACqM,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,cACtB,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,oBA7E3B,MAmFL,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAEhL,QAASuuC,EAAajrC,OAAS,EAAI,OAAS,SAA/D,SACE,eAAC4K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,oBACEnd,UAAU,qBACVC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,GAAiCsX,YAAa,GAC5Ela,QAAS,SAAC/F,GACRA,EAAE8J,iBACFuhC,EAAuBrrC,EACxB,IAEH,uBAAMiH,UAAU,UAAhB,iBAEA,oBAAGC,MAAO,CAAE6mB,WAAY,GAAxB,6DAMN,eAAClD,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,kBASC0W,EAAkB,IAAMF,EAAgB,KACvC,eAACpgB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP+kC,EAAmBD,EAAkB,EACtC,EALH,qBAWJ,eAAC11B,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,cAAtB,SACA,sBAAK,aAAW,MAAMC,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACKzB,GAAkBqC,GAAiBA,EAAgB,EAClD,eAAC,KAAD,CACEhb,QAASkb,EAAkB,EAC3Bjb,MAAO+a,EACP9a,aAAc,SAACF,GACb4Y,GAAkB,GAClBuC,EAAmBnb,EAAU,GAE7B4Y,GAAkB,EACnB,IAED,0BAWzB,E,UCpZK6E,GAAa,CAAEvf,SAAU,CAAElmB,WAAY,OAAS2S,OAAQ,CAAEvc,MAAO4K,GAA4BpB,aAAc,GAAK+2B,OAAQ,CAAEvgC,MAAO4K,GAA4BpB,aAAc,KAE3Kw/B,GAAeC,KAAW,CAC9B90B,aAAc80B,OAAazU,WAC3BptB,KAAM6hC,OAAazU,WACnBwL,YAAaiJ,OAAazU,WAC1B8a,aAAcrG,OACdzQ,eAAgByQ,OAAazU,WAC7BsN,kBAAmBmH,OACnB9I,cAAe8I,OAAazU,WAC5B6L,cAAe4I,OAAazU,WAC5BiM,oBAAqBwI,OAAazU,WAClCoM,YAAaqI,OAAazU,WAC1BuM,iBAAkBkI,OAAazU,WAC/B5Q,QAASqlB,OAAazU,aAwcT+a,GArcS,WAEtB,IAAMroC,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA4CuU,mBAAS,MAArD,oBAAOwvB,EAAP,KAAuBC,EAAvB,KACA,EAAoDzvB,mBAAS,CAAC,GAA9D,oBAAOqI,EAAP,KACA,GADA,KACsCrI,oBAAS,IAA/C,oBAAO0vB,EAAP,KAAoBC,EAApB,KACA,EAAsD3vB,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KAEA,EAAwCpa,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KAGMuqB,EAAU5N,mBAEV1c,EAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IAC7B7M,cAAYC,QAAQC,IAAI,eAAgByY,GAC5CtU,qBAAU,WAAO,IAAD,EAEd3E,EAASwb,MACTxb,EAASV,MACT,IAAI2R,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,GACEA,EAAaG,UACbvd,OAAOmV,OAAOiI,EAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAACC,IAEJ,IAAM5M,EAAiB3H,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IACnC1H,qBAAU,WAAO,IAAD,wBAM+E,GALzFrE,cAAYC,QAAQC,IAAI,mBAAoB6L,GAC5C/L,cAAYC,QAAQC,IAAI,oBAAZ,OAAiC6L,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAgBsQ,SAC7Drc,cAAYC,QAAQC,IAAI,oBAAZ,OAAiC6L,QAAjC,IAAiCA,GAAjC,UAAiCA,EAAgBsQ,eAAjD,aAAiC,EAAyBC,YACtEtc,cAAYC,QAAQC,IAAI,oBAAZ,OAAiC6L,QAAjC,IAAiCA,GAAjC,UAAiCA,EAAgBsQ,eAAjD,iBAAiC,EAAyBC,kBAA1D,aAAiC,EAAqC3P,cAEpE,OAAdZ,QAAc,IAAdA,GAAA,UAAAA,EAAgBsQ,eAAhB,SAAyBvD,WAAarnB,KAAOiT,QAAP,OAAeqH,QAAf,IAAeA,GAAf,UAAeA,EAAgBsQ,eAA/B,aAAe,EAAyBvD,aAChFmvB,EAAiB,OAACl8B,QAAD,IAACA,GAAD,UAACA,EAAgBsQ,eAAjB,aAAC,EAAyBvD,UACvC9Y,cAAYC,QAAQC,IAAI,kBAAmB8nC,IAGjD,IAAMr7B,EACJZ,GAAc,OAAIA,QAAJ,IAAIA,KAAgBsQ,SAAlC,OAA6CtQ,QAA7C,IAA6CA,GAA7C,UAA6CA,EAAgBsQ,eAA7D,OAA6C,EAAyBC,YAAtE,OAAoFvQ,QAApF,IAAoFA,GAApF,UAAoFA,EAAgBsQ,eAApG,iBAAoF,EAAyBC,kBAA7G,OAAoF,EAAqC3P,eAAiBlb,KAAOiT,QAAP,OAAeqH,QAAf,IAAeA,GAAf,UAAeA,EAAgBsQ,eAA/B,iBAAe,EAAyBC,kBAAxC,aAAe,EAAqC3P,cAA9L,OACIZ,QADJ,IACIA,GADJ,UACIA,EAAgBsQ,eADpB,iBACI,EAAyBC,kBAD7B,aACI,EAAqC3P,aACrC,CAAC,EAIP,GAHI3M,cAAYC,QAAQC,IAAI,kCAAmCyM,GAG3Ds2B,EAAQ7Y,UAAY34B,KAAOiT,QAAQiI,GAAe,CAAC,IAAD,kCACvClb,KAAOizB,KAAK/X,EAAa2qB,KAAM,CAAEn2B,IAAG,OAAE4K,QAAF,IAAEA,GAAF,UAAEA,EAAgBsQ,eAAlB,iBAAE,EAAyBC,kBAA3B,aAAE,EAAqC8b,aAGxF6K,EAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8C12B,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAcoE,MAAM,GAClEkyB,EAAQ7Y,QAAQiZ,cAAc,OAA9B,OAAsC12B,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAc/M,MAAM,GAC1DqjC,EAAQ7Y,QAAQiZ,cAAc,eAAqD,KAA1B,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAc6rB,mBAAd,eAA2Br4B,QAAkB7E,aAAE,eAAiBA,aAAE,eAAe,GAC9H2nC,EAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8C12B,QAA9C,IAA8CA,GAA9C,UAA8CA,EAAc6rB,mBAA5D,aAA8C,EAA2BE,SAAS,GAElFuK,EAAQ7Y,QAAQiZ,cAAc,iBAA9B,OAAgD12B,QAAhD,IAAgDA,OAAhD,EAAgDA,EAAcqkB,gBAAgB,GAC9EiS,EAAQ7Y,QAAQiZ,cAAc,iBAAyD,KAA5B,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAcksB,qBAAd,eAA6B14B,QAAkB7E,aAAE,eAAiBA,aAAE,eAAe,GAClI2nC,EAAQ7Y,QAAQiZ,cAAc,uBAA9B,OAAsD12B,QAAtD,IAAsDA,GAAtD,UAAsDA,EAAcksB,qBAApE,aAAsD,EAA6BE,QAAQ,GAC3FkK,EAAQ7Y,QAAQiZ,cAAc,uBAAqE,KAAlC,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAcssB,2BAAd,eAAmC94B,QAAkB7E,aAAE,eAAiBA,aAAE,eAAe,GAC9I2nC,EAAQ7Y,QAAQiZ,cAAc,6BAA9B,OAA4D12B,QAA5D,IAA4DA,GAA5D,UAA4DA,EAAcssB,2BAA1E,aAA4D,EAAmCF,QAAQ,GACvGkK,EAAQ7Y,QAAQiZ,cAAc,eAAqD,KAA1B,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAcysB,mBAAd,eAA2Bj5B,QAAkB7E,aAAE,eAAiBA,aAAE,eAAe,GAC9H2nC,EAAQ7Y,QAAQiZ,cAAc,qBAA9B,OAAoD12B,QAApD,IAAoDA,GAApD,UAAoDA,EAAcysB,mBAAlE,aAAoD,EAA2BL,QAAQ,GACvFkK,EAAQ7Y,QAAQiZ,cAAc,oBAA+D,KAA/B,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAc4sB,wBAAd,eAAgCp5B,QAAkB7E,aAAE,eAAiBA,aAAE,eAAe,GACxI2nC,EAAQ7Y,QAAQiZ,cAAc,0BAA9B,OAAyD12B,QAAzD,IAAyDA,GAAzD,UAAyDA,EAAc4sB,wBAAvE,aAAyD,EAAgCR,QAAQ,GAEjGkK,EAAQ7Y,QAAQiZ,cAAc,UAA9B,OAAyC12B,QAAzC,IAAyCA,OAAzC,EAAyCA,EAAcyP,QAAQzhB,MAAM,GACrEsoC,EAAQ7Y,QAAQiZ,cAAc,WAA9B,OAA0Ct3B,QAA1C,IAA0CA,GAA1C,UAA0CA,EAAgBsQ,eAA1D,aAA0C,EAAyBvD,UAAU,GAE7EmqB,EAAQ7Y,QAAQiZ,cACd,oBACY,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAc+sB,qCAAd,SAA6CC,QAAUloC,KAAO0yC,SAAP,OAAgBx3B,QAAhB,IAAgBA,GAAhB,UAAgBA,EAAc+sB,qCAA9B,aAAgB,EAA6CC,QAApH,OAA8HhtB,QAA9H,IAA8HA,GAA9H,UAA8HA,EAAc+sB,qCAA5I,aAA8H,EAA6CC,OAAS,GACpL,GAEFsJ,EAAQ7Y,QAAQiZ,cAAc,2BAA9B,OAA0D12B,QAA1D,IAA0DA,GAA1D,UAA0DA,EAAc+sB,qCAAxE,aAA0D,EAA6CX,QAAQ,GAC/GkK,EAAQ7Y,QAAQiZ,cAAc,gBAA9B,OAA+C12B,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAcgsB,eAAe,EAG7E,MACK34B,cAAYC,QAAQC,IAAI,UAE/B,GAAE,CAAC6L,EAAgBzQ,OAEpB,IAAM8sC,EAAmBhkC,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IACrC7I,qBAAU,WAAO,IAAD,EACVrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,GAC3D,IAAMA,EAAgBrhC,KAAOizB,KAAK0jB,EAAkB,CAAE91B,aAAY,OAAEuG,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAE/E8Z,EADEE,QAAmCC,IAAlBD,GAAiD,OAAlBA,EAC3BA,EAAcviB,eAEd8B,GAE1B,GAAE,CAAC+1B,IAEJ,IAIInvB,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GAGvB,OAFIjZ,cAAYC,QAAQC,IAAI,QAAS+Y,GAGnC,uCACE,eAAC6Q,GAAD,CAAc3B,MAAM,mBAGpB,gBAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAACF,MAAO,CAAE8Y,UAAWhC,GAAvD,UAEE,gBAAC5T,GAAA,EAAD,CAAKnD,UAAU,OAAf,UACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,OAAQsgB,QAAS,GAArG,SACE,eAACr8B,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,CAAUpf,MAAO,CAAEw/B,QAAS,IAA5B,UACE,gBAACt8B,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SAIE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,EAAoBpG,UAElE,eAAC/E,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,+BAKN,eAAC8M,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,OAAQsgB,QAAS,GAArG,SACE,eAACr8B,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,CAAUpf,MAAO,CAAEw/B,QAAS,IAA5B,UACE,gBAACt8B,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,EAAoBnG,OAChE,6BAEF,eAAChF,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,aAI1D,+BAKN,eAAC8M,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,OAAQsgB,QAAS,GAArG,SACE,eAACr8B,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,CAAUpf,MAAO,CAAEw/B,QAAS,IAA5B,UACE,gBAACt8B,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SACE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,EAAoBlG,QAElE,eAACjF,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,aAI7D,kCAMR,wBAGA,eAAC+B,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,QAAtE,SACE,sBAAKnf,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACG+W,IAAiB1G,GAChB,uBAAKrQ,UAAU,MAAf,UACE,sBAAKA,UAAU,gBAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,UAAUyC,OAAK,EAA9B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRmG,EAAQG,KAAK,CAAEC,SAAU,4BAC1B,EALH,SAOE,oBAAGU,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,YAItE,uBAAK1B,UAAU,iBAAf,UAEE,qBAAIA,UAAU,OAAd,SAAsBqZ,EAAoB/G,+BAC1C,qBAAItS,UAAU,OAAd,SAAsBqZ,EAAoB9G,uCAI9C,uBAAKvS,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UAEE,qBAAIA,UAAU,OAAd,SAAsBqZ,EAAoB/G,+BAC1C,qBAAItS,UAAU,OAAd,SAAsBqZ,EAAoB9G,oCAE5C,sBAAKvS,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAO9F,aAAE,+BAAgCuI,OAAK,EAAvD,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRmG,EAAQG,KAAK,CAAEC,SAAU,4BAC1B,EALH,SAOE,oBAAGU,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAS5E,eAAC2d,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACb1gB,aAAc,GACd/M,KAAM,GACN44B,YAAa,GAEbsP,aAAc,GAEd9W,eAAgB,GAChBsJ,kBAAmB,EACnB+N,yBAA0B,GAC1B1P,cAAe,GACfE,cAAe,GACfyP,qBAAsB,GACtBrP,oBAAqB,GACrBsP,2BAA4B,GAC5BnP,YAAa,GACboP,mBAAoB,GACpBjP,iBAAkB,GAClBkP,wBAAyB,GACzBrsB,QAAS,IAEXmR,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACbrkC,cAAYC,QAAQC,IAAI,WAAYwQ,GAzJxD9P,EAAQG,KAAK,CAAEC,SAAU,wCA2JV,EACDsjC,SAAUrB,EA3BZ,SA6BG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAlC,UACE,iCACG/S,EAAoB7G,wBADvB,IACgD,qBAAGlE,KAAK,2BAAR,cAAqC+K,EAAoB5G,+BADzG,OAIA,wBACA,sBACE3T,QAAS,SAAC/F,GACR0tC,GAAe,EAChB,EACDxmC,MAAO,CAAEmB,SAAU,GAAIgB,OAAQ,UAAWnN,QAASuxC,EAAc,OAAS,SAJ5E,SAMGntB,EAAoB3G,sCAGvB,uBAAKzS,MAAO,CAAEhL,QAASuxC,EAAc,QAAU,QAA/C,UAGE,iCACE,eAACQ,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,8BAEL,wBACA,eAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAO/D,kBAGlB,iCACE,eAAC+7B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,8BAEL,wBACA,eAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAO9Q,UAGlB,iCACE,eAAC8oC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,qCAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,UACGzZ,aAAE,8BADL,KACsC5B,EAAMgX,OAAO8nB,eAEnD,wBACA,gBAACkQ,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,UACGz9B,aAAE,+BADL,KACuC5B,EAAMgX,OAAOo3B,mBAItD,iCACE,eAACY,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,wCAEL,wBACA,eAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAOsgB,oBAGlB,iCACE,eAAC0X,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,2CAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,UACGzZ,aAAE,8BADL,KACsC5B,EAAMgX,OAAO4pB,qBAEnD,wBACA,gBAACoO,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,UACGz9B,aAAE,8BADL,KACsC5B,EAAMgX,OAAO23B,+BAGrD,iCACE,eAACK,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,uCAEL,wBACA,eAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAOioB,mBAGlB,iCACE,eAAC+P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,uCAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,UACGzZ,aAAE,8BADL,KACsC5B,EAAMgX,OAAOmoB,iBAEnD,wBACA,gBAAC6P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,UACGz9B,aAAE,8BADL,KACsC5B,EAAMgX,OAAO43B,2BAGrD,iCACE,eAACI,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,6CAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,UACGzZ,aAAE,8BADL,KACsC5B,EAAMgX,OAAOuoB,uBAEnD,wBACA,gBAACyP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,UACGz9B,aAAE,8BADL,KACsC5B,EAAMgX,OAAO63B,iCAGrD,iCACE,eAACG,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,qCAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,UACGzZ,aAAE,8BADL,KACsC5B,EAAMgX,OAAO0oB,eAEnD,wBACA,gBAACsP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,UACGz9B,aAAE,8BADL,KACsC5B,EAAMgX,OAAO83B,yBAGrD,iCACE,eAACE,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,aAAE,sCAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,UACGzZ,aAAE,8BADL,KACsC5B,EAAMgX,OAAO6oB,oBAEnD,wBACA,gBAACmP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,UACGz9B,aAAE,8BADL,KACsC5B,EAAMgX,OAAO+3B,iCAKvD,eAAC5jC,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,GAAvB,UACI1B,aAAcC,QAAQC,IAAI,eAAgBxG,EAAM8P,QAAU,KAC3D9P,EAAM6lC,YAAc,IAAM7lC,EAAM8lC,QAC/B,qBAAI79B,MAAO,CAAEY,UAAW,GAAIP,aAAc,EAAGxJ,MAAO4K,IAApD,SAAwF9H,aAAE,sCAE1F,2CA9IT,MAwJL,eAACgqB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACG+W,IAAiB1G,GAChB,eAAClN,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA3D,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WAAO,IAAD,EACb,UAAAyiC,EAAQ7Y,eAAR,SAAiBwe,YAClB,EALH,SAOG7tB,EAAoBrI,eAK3B,sBAAKhR,UAAU,gBAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAK,2BAAOc,GAAUS,eAAjB,IAAgClB,aAAc,EAAGO,UAAW,IACjE/J,MAAM,UACNgI,QAAS,WAAO,IAAD,EACb,UAAAyiC,EAAQ7Y,eAAR,SAAiBwe,YAClB,EALH,SAOG7tB,EAAoBrI,2BAW1C,E,UCxeKm2B,GAAsB3W,aAAW,CACrCC,KAAM,CACJ,QAAS,CACP2W,UAAW,gBAHW5W,CAMzB6W,MAEUC,GAAgB,SAACtvC,GAC5B,OACIA,EAAM64B,MAAS74B,EAAM64B,OAAuB,IAAf74B,EAAM64B,KACjC,eAAC,GAAD,CACAvZ,IAAI,MACJiwB,KAAMvvC,EAAM0wB,QACZzE,SAAU,SAAClrB,EAAGwuC,GAAJ,OAAavvC,EAAM4wB,aAAa2e,EAAhC,EACV3nB,MAAO5nB,EAAM2wB,MAEb6e,MAAM,SACNzX,KAAK,QACL9vB,MAAO,CACLq9B,eAAgB,SAChBroC,QAAS,UAGX,eAAC,KAAD,CACAyzB,QAAS1wB,EAAM0wB,QACfC,MAAO3wB,EAAM2wB,MACbC,aAAc5wB,EAAM4wB,cAG3B,ECLKud,GAAa,CAAEvf,SAAU,CAAElmB,WAAY,OAAS2S,OAAQ,CAAEnS,UAAW,SAAUpK,MAAO4K,GAA4BpB,aAAc,KAwoCvHmnC,GAroCM,WAEnB,IAAMzpC,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAoCuU,mBAAS,IAA7C,oBAAO4wB,EAAP,KAAmBC,EAAnB,KACA,EAA4C7wB,mBAAS,MAArD,oBAAOwvB,EAAP,KAAuBC,EAAvB,KAEA,EAAwCzvB,mBAAS,QAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KAEA,EAAwCF,mBAAS,CAAC,GAAlD,oBAAOvN,EAAP,KAAqBq+B,EAArB,KACA,EAAsC9wB,mBAAS,CAAC,GAAhD,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAAwChqB,mBAAS,GAAjD,oBAAOiqB,EAAP,KAAqBC,EAArB,KACA,EAA4ClqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAkDpqB,mBAAS,GAA3D,oBACA,GADA,UACoDA,mBAAS,CAAC,IAA9D,oBAAOqI,EAAP,KAA2B0oB,EAA3B,KACA,EAAwC/wB,mBAAS,CAAC,GAAlD,oBAAqBgxB,GAArB,WACA,EAAkDhxB,mBAAS,CAAC,GAA5D,oBAAOixB,EAAP,KAA0BC,EAA1B,KACA,EAAsDlxB,mBAAS,CAAC,GAAhE,oBAAOuC,GAAP,KAA4B6X,GAA5B,KACA,GAA4Cpa,oBAAS,GAArD,sBAAOuqB,GAAP,MAAuBC,GAAvB,MAEQ1nC,GAAMoU,eAANpU,EAGF2nC,GAAU5N,mBAEV1c,GAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IAC7B7M,cAAYC,QAAQC,IAAI,eAAgByY,IAEhBuZ,aAAW,CACrCC,KAAM,CACJ,QAAS,CACP2W,UAAW,gBAHW5W,CAMzB6W,MAEH1kC,qBAAU,WAAO,IAAD,EAEd3E,EAASwb,MACT,IAAIvK,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,IACEA,GAAaG,UACbvd,OAAOmV,OAAOiI,GAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAACC,KAEJ,IAAM5M,GAAiB3H,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IACnC1H,qBAAU,WAAO,IAAD,wBAM+E,GALzFrE,cAAYC,QAAQC,IAAI,mBAAoB6L,IAC5C/L,cAAYC,QAAQC,IAAI,oBAAZ,OAAiC6L,SAAjC,IAAiCA,QAAjC,EAAiCA,GAAgBsQ,SAC7Drc,cAAYC,QAAQC,IAAI,oBAAZ,OAAiC6L,SAAjC,IAAiCA,IAAjC,UAAiCA,GAAgBsQ,eAAjD,aAAiC,EAAyBC,YACtEtc,cAAYC,QAAQC,IAAI,oBAAZ,OAAiC6L,SAAjC,IAAiCA,IAAjC,UAAiCA,GAAgBsQ,eAAjD,iBAAiC,EAAyBC,kBAA1D,aAAiC,EAAqC3P,cAEpE,OAAdZ,SAAc,IAAdA,IAAA,UAAAA,GAAgBsQ,eAAhB,SAAyBvD,WAAarnB,KAAOiT,QAAP,OAAeqH,SAAf,IAAeA,IAAf,UAAeA,GAAgBsQ,eAA/B,aAAe,EAAyBvD,aAChFmvB,EAAiB,OAACl8B,SAAD,IAACA,IAAD,UAACA,GAAgBsQ,eAAjB,aAAC,EAAyBvD,UACvC9Y,cAAYC,QAAQC,IAAI,kBAAmB8nC,IAGjD,IAAMr7B,EACJZ,IAAc,OAAIA,SAAJ,IAAIA,OAAgBsQ,SAAlC,OAA6CtQ,SAA7C,IAA6CA,IAA7C,UAA6CA,GAAgBsQ,eAA7D,OAA6C,EAAyBC,YAAtE,OAAoFvQ,SAApF,IAAoFA,IAApF,UAAoFA,GAAgBsQ,eAApG,iBAAoF,EAAyBC,kBAA7G,OAAoF,EAAqC3P,eAAiBlb,KAAOiT,QAAP,OAAeqH,SAAf,IAAeA,IAAf,UAAeA,GAAgBsQ,eAA/B,iBAAe,EAAyBC,kBAAxC,aAAe,EAAqC3P,cAA9L,OACIZ,SADJ,IACIA,IADJ,UACIA,GAAgBsQ,eADpB,iBACI,EAAyBC,kBAD7B,aACI,EAAqC3P,aACrC,CAAC,EAGP,GAFI3M,cAAYC,QAAQC,IAAI,kCAAmCyM,IAE1Dlb,KAAOiT,QAAQiI,GAAe,CACpBlb,KAAOizB,KAAK/X,EAAa2qB,KAAM,CAAEn2B,IAAG,OAAE4K,SAAF,IAAEA,IAAF,UAAEA,GAAgBsQ,eAAlB,iBAAE,EAAyBC,kBAA3B,aAAE,EAAqC8b,aADtD,IAAD,MA0BqB,cAtBlDznB,EAAS,CAEXyL,QAAO,OAAEzP,QAAF,IAAEA,OAAF,EAAEA,EAAcyP,QAAQzhB,KAC/Bme,SAAQ,OAAE/M,SAAF,IAAEA,IAAF,UAAEA,GAAgBsQ,eAAlB,aAAE,EAAyBvD,SAGnCnM,aAAY,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAcoE,KAC5BnR,KAAI,OAAE+M,QAAF,IAAEA,OAAF,EAAEA,EAAc/M,KACpBi5B,cAAa,OAAElsB,QAAF,IAAEA,OAAF,EAAEA,EAAcksB,cAC7BL,YAAW,OAAE7rB,QAAF,IAAEA,OAAF,EAAEA,EAAc6rB,YAC3BxH,eAAc,OAAErkB,QAAF,IAAEA,OAAF,EAAEA,EAAcqkB,eAC9BiI,oBAAmB,OAAEtsB,QAAF,IAAEA,OAAF,EAAEA,EAAcssB,oBACnCG,YAAW,OAAEzsB,QAAF,IAAEA,OAAF,EAAEA,EAAcysB,YAC3BG,iBAAgB,OAAE5sB,QAAF,IAAEA,OAAF,EAAEA,EAAc4sB,iBAGhCZ,cAAa,OAAEhsB,QAAF,IAAEA,OAAF,EAAEA,EAAcgsB,cAC7Be,8BAA2C,OAAZ/sB,QAAY,IAAZA,KAAc+sB,+BAAiCjoC,KAAO0yC,SAAP,OAAgBx3B,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAc+sB,+BAA7E,OAA8G/sB,QAA9G,IAA8GA,OAA9G,EAA8GA,EAAc+sB,8BAAgC,GAK7L,GAHA6P,EAAsB54B,GAGlBsyB,GAAQ7Y,UAAY34B,KAAOiT,QAAQiI,GACrC,UAAAs2B,GAAQ7Y,eAAR,SAAiBuD,YACjB,OAAIhhB,QAAJ,IAAIA,KAAcoE,MAAMkyB,GAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8C12B,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAcoE,MAAM,GAC1F,OAAIpE,QAAJ,IAAIA,KAAc/M,MAAMqjC,GAAQ7Y,QAAQiZ,cAAc,OAA9B,OAAsC12B,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAc/M,MAAM,GAClF,OAAI+M,QAAJ,IAAIA,KAAc6rB,YAAYr4B,QAAQ8iC,GAAQ7Y,QAAQiZ,cAAc,eAA6C,KAAlB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAc6rB,aAAuB,MAAQ,MAAM,GACtI,OAAI7rB,QAAJ,IAAIA,KAAc6rB,YAAYE,SAASuK,GAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8C12B,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAcm7B,cAAc,GAEjH,OAAIn7B,QAAJ,IAAIA,KAAcqkB,gBAAgBiS,GAAQ7Y,QAAQiZ,cAAc,iBAA9B,OAAgD12B,QAAhD,IAAgDA,OAAhD,EAAgDA,EAAcqkB,gBAAgB,GAChH,OAAIrkB,QAAJ,IAAIA,KAAcksB,eAAeoK,GAAQ7Y,QAAQiZ,cAAc,iBAAiD,KAApB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAcksB,eAAyB,MAAQ,MAAM,GACrI,OAAIlsB,QAAJ,IAAIA,KAAcssB,qBAAqBgK,GAAQ7Y,QAAQiZ,cAAc,uBAA6D,KAA1B,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAcssB,qBAA+B,MAAQ,MAAM,GACvJ,OAAItsB,QAAJ,IAAIA,KAAcysB,aAAa6J,GAAQ7Y,QAAQiZ,cAAc,eAA6C,KAAlB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAcysB,aAAuB,MAAQ,MAAM,GAC/H,OAAIzsB,QAAJ,IAAIA,KAAc4sB,kBAAkB0J,GAAQ7Y,QAAQiZ,cAAc,oBAAuD,KAAvB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAc4sB,kBAA4B,MAAQ,MAAM,GAE9I,OAAI5sB,QAAJ,IAAIA,KAAcyP,QAAQzhB,MAAMsoC,GAAQ7Y,QAAQiZ,cAAc,UAA9B,OAAyC12B,QAAzC,IAAyCA,OAAzC,EAAyCA,EAAcyP,QAAQzhB,MAAM,GACrG,OAAIoR,SAAJ,IAAIA,IAAJ,UAAIA,GAAgBsQ,eAApB,OAAI,EAAyBvD,UAAUmqB,GAAQ7Y,QAAQiZ,cAAc,WAA9B,OAA0Ct3B,SAA1C,IAA0CA,IAA1C,UAA0CA,GAAgBsQ,eAA1D,aAA0C,EAAyBvD,UAAU,GAEpH,OAAInM,QAAJ,IAAIA,KAAc+sB,+BAChBuJ,GAAQ7Y,QAAQiZ,cACd,oBACY,OAAZ12B,QAAY,IAAZA,GAAA,UAAAA,EAAc+sB,qCAAd,SAA6CC,QAAUloC,KAAO0yC,SAAP,OAAgBx3B,QAAhB,IAAgBA,GAAhB,UAAgBA,EAAc+sB,qCAA9B,aAAgB,EAA6CC,QAApH,OAA8HhtB,QAA9H,IAA8HA,GAA9H,UAA8HA,EAAc+sB,qCAA5I,aAA8H,EAA6CC,OAAS,GACpL,GAEJ,OAAIhtB,QAAJ,IAAIA,KAAcgsB,eAAesK,GAAQ7Y,QAAQiZ,cAAc,gBAA9B,OAA+C12B,QAA/C,IAA+CA,GAA/C,UAA+CA,EAAcgsB,qBAA7D,aAA+C,EAA6B8B,WAAW,QAEpHz6B,cAAYC,QAAQC,IAAI,6BAE/B,CAEG8nC,GAAkBA,EAAe/tC,QAAU,GAI7CyF,EAASV,GAFM,CAAEsT,aAAc01B,IAIlC,GAAE,CAACj8B,KAGJ,IAAM49B,GAAY,uCAAG,WAAOlvC,EAAGmF,GAAV,SAAAD,EAAA,sDACfK,cAAYC,QAAQC,IAAI,0BAA2BN,GAEnDA,GAAQA,EAAK3F,QAAU,GAAK+tC,GAAkBA,EAAe/tC,QAAU,EACrEmvC,IAAe33C,KAAOiT,QAAQ0kC,IAAeA,EAAWxpC,OAASA,EACnES,wBAAa,CACXe,MAAO2Z,GAAoBvH,4BAC3BlT,QAASya,GAAoBtH,8BAC7BlT,QAAS,CACP,CACEvI,MAAO+iB,GAAoBvI,QAC3BhS,QAAS,WACP6oC,EAAczpC,EACf,GAEH,CACE5H,MAAO+iB,GAAoBtI,OAC3BjS,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,IAGvB2oC,EAAczpC,GAGZI,cAAYC,QAAQC,IAAI,uCA3BX,2CAAH,wDA+BlBmE,qBAAU,WAGR,GAAI+kC,GAAcA,EAAWnvC,QAAU,GAAK+tC,GAAkBA,EAAe/tC,QAAU,EAAG,CAExF,IAAM0W,EAAS,CAAE/Q,KAAMwpC,EAAY92B,aAAc01B,GAC7ChoC,cAAYC,QAAQC,IAAI,gCAAiCyQ,GAC7DjR,E3DrKiC,SAAClD,EAAU6E,EAAQ/F,GAAnB,8CAAyB,WAAOoE,GAAP,qBAAAC,EAAA,sEAE5DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFoB,SAGrCC,EAA4BvD,GAHS,gBAGpD3E,EAHoD,EAGpDA,KACJmI,cAAYC,QAAQC,IAAI,yBAA0BrI,GACjC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRT,EAAS,CAAEE,KAAMuH,GAAqBrH,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OACrDoE,aAAa+e,QAAQzT,GAAqB,OAGvB,WAAb,OAAJ1P,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAE5BG,wBAAa,CAAEC,QAAShF,EAAE,6BAA8BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAbnG,kDAiBxDV,cAAYC,QAAQC,IAAI,eAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAE9CE,wBAAa,CAAEC,QAAShF,EAAE,yBAA0BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACzJW,EAAON,KAAK,iBArB8C,yBAwB5DrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAxBoB,6EAAzB,sD2DqKxBpC,CAAwBiT,EAAQ/P,EAAStF,KAClDoE,EAASV,GAAyB2R,EAAQ/P,GAC3C,CACF,GAAE,CAAConC,EAAgBoB,IAGpB,IAAMtW,GAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAClC7I,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,SACrCC,IAAlBD,IAAiD,OAAlBA,IAA0BrhC,KAAO4yB,QAAQyO,KAAkBA,GAAc74B,OAAS,EACnH24B,GAAuBE,GAAc,GAAGviB,gBAExCqiB,GAAuBvgB,GAE1B,GAAE,CAACygB,KAGJ,IAAM8W,GAAqBxlC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAO+J,YAAxB,IACvC5G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,uBAAwB0pC,IAIhDA,KAAuBn4C,KAAOiT,QAAQklC,KAAuBA,GAAmBvI,UAAYuI,GAAmBvI,SAAS,IAE1H3hC,EAAS1B,GAAkC,CAAE8C,SAAU8oC,GAAmBzoC,KAAOP,IAGjF0oC,EAAgBM,IAChBpH,EAAeoH,GAAmBvI,UAClCqB,EAAgBjxC,KAAOiT,QAAQklC,GAAmBvI,UAAY,EAAIuI,GAAmBvI,SAASpnC,QAC9F2oC,EAAkB,GAEd5iC,cAAYC,QAAQC,IAAI,uBAAwB0pC,KAC3CA,IAAsBn4C,KAAOizB,KAAKklB,KAAuB,CAAC,KACnEvpC,wBAAa,CACXe,MAAO2Z,GAAoB/H,UAC3B1S,QAASya,GAAoB9H,qBAC7B1S,QAAS,CACP,CACEvI,MAAO+iB,GAAoBxI,OAC3B/R,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,IAEnBV,cAAYC,QAAQC,IAAI,mBAE/B,GAAE,CAAC0pC,KAGJ,IAAMz+B,GAAwB/G,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOiK,qBAAxB,IAC1C9G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,wBAAyBiL,IACrD,IAAM0+B,EAA0Bp4C,KAAOizB,KAAKvZ,GAAuB,CAAEmH,aAAc01B,IAEnF,IAAKv2C,KAAOiT,QAAQmlC,IAAhB,OAA4CA,QAA5C,IAA4CA,KAAyBnmC,YAAoD,KAAhB,OAAvBmmC,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBnmC,WAAoB,CACjI,IAAMomC,EAAwC,OAAvBD,QAAuB,IAAvBA,KAAyBxI,SAAzB,OAAoCwI,QAApC,IAAoCA,OAApC,EAAoCA,EAAyBxI,SAAWkB,EAC/FmH,EAAqBI,GACrBN,EAAgBK,GAEZ7pC,cAAYC,QAAQC,IAAI,uBAAwBupC,EACrD,MAECC,EAAqB,CAAC,GACtBF,EAAgB,CAAC,EAEpB,GAAE,CAACr+B,GAAuBy+B,KAE3B,IAAMG,GAAgB,SAAC,GAAD,IAAGzwC,EAAH,EAAGA,KAAM0wC,EAAT,EAASA,MAAOC,EAAhB,EAAgBA,WAAYxxB,EAA5B,EAA4BA,aAA5B,OACpB,qCACE,eAAC,KAAD,CACE4U,cAAe,CACb6c,MAAOz4C,KAAO0yC,SAAS7qC,EAAK0rC,QAAU1rC,EAAK0rC,OAAS,EAAI1rC,EAAK0rC,OAAS,EACtEmF,OAAQ7wC,EAAKy/B,OAASz/B,EAAKy/B,OAAS,IAGtCvL,SAAU,SAAC9c,EAAQ2zB,GACbrkC,cAAYC,QAAQC,IAAI,6BAA+B8pC,EAAQ,cAAgBt5B,EAAOw5B,MAAQ,cAAgBx5B,EAAOy5B,QAEzH,IAAI5lB,EAAcjrB,EACd0G,cAAYC,QAAQC,IAAI,cAAe5G,GAG3CA,EAAI,MAAYue,OAAOnH,EAAOw5B,OAC9B5wC,EAAI,OAAaoX,EAAOy5B,OAEpBnqC,cAAYC,QAAQC,IAAI,QAAS8pC,GACrCxG,GAAkBjf,EAAaylB,EAChC,EAlBH,SAoBG,SAACtwC,GAAD,OACC,eAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAlC,SAGE,gBAACjpB,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,IAA5B,UAEoB,UAAjByW,GACC,sBAAK9W,MAAO,CAAE6mB,WAAY,IAA1B,SACE,gBAACkgB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UAEIugC,EAAiB,EAAK,KAAOqH,EAAQ,GAFzC,SAOJ,gBAACp6B,GAAA,EAAD,WACE,eAAC/K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,eAAC6pB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG6nC,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,UAAjC,SACGqnC,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,oBAK9E,eAAC9/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAO,CAAEY,UAAW,EAAGP,aAAc,GAAlD,SACE,uBAAKL,MAAO8W,IAAiB1G,GAAiB,CAAE2I,aAAc,GAAM,CAAE8N,WAAY,IAAM7C,SAAUjsB,EAAM20B,aAAa,SAAUkW,OAAQ6F,GAAW9wC,EAAM0wC,EAAOtwC,EAAMgX,OAAOw5B,MAAOxwC,EAAMgX,OAAOy5B,QAAhM,UACE,iCACG1xB,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,SADH,IACGA,QADH,EACGA,GAAqBzG,6BAExB,eAACo0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,SAAT,IAASA,QAAT,EAASA,GAAqBzG,iCAIrC,iCACGmE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,SADH,IACGA,QADH,EACGA,GAAqBxG,6BAExB,eAACm0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,SAAT,IAASA,QAAT,EAASA,GAAqBxG,iCAIrC,iCACGkE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,SADH,IACGA,QADH,EACGA,GAAqBvG,6BAExB,eAACk0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,SAAT,IAASA,QAAT,EAASA,GAAqBvG,iCAIrC,iCACGiE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,SADH,IACGA,QADH,EACGA,GAAqBtG,6BAExB,eAACi0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,SAAT,IAASA,QAAT,EAASA,GAAqBtG,iCAIrC,iCACGgE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,SADH,IACGA,QADH,EACGA,GAAqBrG,6BAExB,eAACg0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,SAAT,IAASA,QAAT,EAASA,GAAqBrG,iCAIrC,iCACG+D,IAAiB1G,IAChB,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,aAAOK,SAAP,IAAOA,QAAP,EAAOA,GAAqB1G,8BAGjC,eAAC,KAAD,CAAOzU,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACsB,OAAnB2Y,SAAmB,IAAnBA,QAAA,EAAAA,GAAqB1G,4BAA6B,iBAQ/D,eAACxP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvB/Z,MAAO+iB,GAAoBjG,cAC3B4Q,QAAQ,WACR4I,WAAS,EACTC,KAAM,EACNr1B,MAAOQ,EAAMgX,OAAOy5B,OACpBxkB,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAO,CAAEY,UAAW,GAAIP,aAAc,aAO7CyW,IAAiB1G,IAChB,sBAAKpQ,MAAO,CAAE+Y,YAAa,IAA3B,SACE,gBAACguB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,cACIugC,EAAiB,EAAI,KAAOqH,EAAQ,YA/JjD,KAtBe,EAgMhBI,GAAa,SAAC9wC,EAAM0wC,EAAOhF,EAAOjM,GAElC/4B,cAAYC,QAAQC,IAAI,6BAA+B8pC,EAAQ,cAAgBhF,EAAQ,cAAgBjM,GAE3G,IAAIxU,EAAcjrB,EAElBA,EAAI,MAAYue,OAAOmtB,GACvB1rC,EAAI,OAAay/B,EAEjByK,GAAkBjf,EAAaylB,EAChC,EAGKxG,GAAoB,SAAClqC,EAAM0wC,GAE/B,IAAI3I,EAAWkB,EACflB,EAASsB,GAAgBT,UAAU8H,GAAS1wC,EAC5CkpC,EAAenB,EAChB,EAEKiJ,GAAa,SAACC,GAAkB,IAAD,wBAKnC,GAJIvqC,cAAYC,QAAQC,IAAI,uBAAwB2gB,GAChD7gB,cAAYC,QAAQC,IAAI,iBAAkB+K,GAC1CjL,cAAYC,QAAQC,IAAI,mBAAoBqiC,GAE5CgI,EAAc,CACZvqC,cAAYC,QAAQC,IAAI,0CAE5B,IAHgB,EAGZsqC,EAAe,EACf/H,EAAe,EACfgI,EAAgB,GALJ,eAMMx/B,EAAao2B,UANnB,IAMhB,2BAA6C,CAAC,IAAnC9qB,EAAkC,QACvCm0B,EAAgB,EAChBtF,EAAgB,EAChBuF,EAAkB,EAClB3qC,cAAYC,QAAQC,IAAI,gBAAiBqW,GAJF,qBAMpBA,EAAQ2rB,WANY,IAM3C,2BAA0C,CAAC,IAAhC5Z,EAA+B,QACpCtoB,cAAYC,QAAQC,IAAI,iBAAkBooB,GAE1C72B,KAAO0yC,SAAP,OAAgB7b,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAU0c,SAAkB,OAAR1c,QAAQ,IAARA,OAAA,EAAAA,EAAU0c,QAAS,IACzD2F,IACI3qC,cAAYC,QAAQC,IAAI,kBAAmByqC,GAE3CriB,EAAS0c,MAAQ,IACnB0F,GAAgCpiB,EAAS0c,MACzCI,IACIplC,cAAYC,QAAQC,IAAI,sBAAwBooB,EAAS0c,MAAQ,kBAAoB0F,EAAgB,QAAUtF,IAOxH,CAvB0C,+BAyB3C,IAAIwF,EAAcxF,EAAgB,EAAIsF,EAAgBtF,EAAgB,EAQtE,GAPA7uB,EAAO,aAAmBq0B,EAE1BJ,GAA8BE,EAC9BjI,GAA8B2C,EAC1BplC,cAAYC,QAAQC,IAAI,qBAAuBsqC,EAAe,kBAAoB/H,EAAe,gBAAkBmI,EAAc,mBAAqBF,EAAgB,mBAAqBtF,GAG3LuF,EAAkBp0B,EAAQ2rB,UAAUjoC,OAAQ,CAE9C,GAAKxI,KAAOiT,QAAQ+kC,GAKlBgB,EAAc1pC,KAAKwV,EAAQnV,WALW,CACtC,IAAIypC,EAASp5C,KAAOizB,KAAK+kB,EAAmB,CAAEzH,YAAazrB,EAAQyrB,cACnEyI,EAAc1pC,KAAK8pC,EAAOzpC,MAE3B,CAkBD,YAbAf,wBAAa,CACXe,MAAO2Z,GAAoBjH,gCAC3BxT,QAASmqC,EACTlqC,QAAS,CACP,CACEvI,MAAO+iB,GAAoBxI,OAC3B/R,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAIxB,CACF,CAjEe,+BAmEhB,IAAIoqC,EAAarI,EAAe,EAAI+H,EAAe/H,EAAe,EAQlE,GAPAx3B,EAAY,YAAkB6/B,EAC1B9qC,cAAYC,QAAQC,IAAI,oBAAsB4qC,GAC9C9qC,cAAYC,QAAQC,IAAI,uBAAwB+K,GAChDjL,cAAYC,QAAQC,IAAI,2CAIvBzO,KAAOiT,QAAQ+lC,GAclB,YAbApqC,wBAAa,CACXe,MAAO2Z,GAAoBjH,gCAC3BxT,QAASmqC,EAAc,GACvBlqC,QAAS,CACP,CACEvI,MAAO+iB,GAAoBxI,OAC3B/R,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAK1B,CAED,IAAIqqC,EAAe,CACjB,CAAEpwC,KAAM,eAAgB2tB,SAAUpW,GAAqC6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoBlU,aAAcosB,OAAQ,MACzH,CAAEp+B,KAAM,OAAQ2tB,SAAUpW,GAA6B6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoBjhB,KAAMm5B,OAAQ,MACjG,CAAEp+B,KAAM,cAAe2tB,SAAUpW,GAAoC6C,QAAoD,KAA1B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoB2X,mBAApB,eAAiCr4B,QAAkB,MAAQ,KAAM44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoB2X,mBAAtB,aAAE,EAAiCE,SAEvL,CACE/9B,KAAM,gBACN2tB,SAAUpW,GACV6C,QAAsD,KAA5B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBgY,qBAApB,eAAmC14B,QAAkB,MAAQ,KACrE44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoBgY,qBAAtB,aAAE,EAAmCE,QAE7C,CAAEp+B,KAAM,iBAAkB2tB,SAAUpW,GAAuC6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoBmQ,eAAgB+H,OAAQ,MAC/H,CACEp+B,KAAM,sBACN2tB,SAAUpW,GACV6C,QAA4D,KAAlC,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBoY,2BAApB,eAAyC94B,QAAkB,MAAQ,KAC3E44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoBoY,2BAAtB,aAAE,EAAyCF,QAEnD,CACEp+B,KAAM,cACN2tB,SAAUpW,GACV6C,QAAoD,KAA1B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBuY,mBAApB,eAAiCj5B,QAAkB,MAAQ,KACnE44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoBuY,mBAAtB,aAAE,EAAiCL,QAE3C,CACEp+B,KAAM,mBACN2tB,SAAUpW,GACV6C,QAAyD,KAA/B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoB0Y,wBAApB,eAAsCp5B,QAAkB,MAAQ,KACxE44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoB0Y,wBAAtB,aAAE,EAAsCR,QAGhD,CACEp+B,KAAM,oBACN2tB,SAAUpW,GACV6C,OAAM,OAAE8L,QAAF,IAAEA,GAAF,UAAEA,EAAoB6Y,qCAAtB,aAAE,EAAmDC,OAC3DZ,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoB6Y,qCAAtB,aAAE,EAAmDX,QAE7D,CACEp+B,KAAM,gBACN2tB,SAAUpW,GACV6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoB8X,cAC5BI,OAAQ,OAIRhkB,EAAS,CACXjU,SAAUmK,EAAa9J,IACvB6pC,YAAanqB,EAAmBzE,QAChC9J,aAAc01B,EACdpoC,KAAMqL,EAAarL,KACnBwB,MAAO6J,EAAa7J,MACpBqC,YAAawH,EAAaxH,YAC1ByO,uBAAwB64B,EACxB1J,SAAUp2B,EAAao2B,SACvBlhC,OAAQoqC,EAAe,WAAa,WACpCU,gBAAiBn7B,OAASo7B,OAAO9yB,KAG/B3mB,KAAO0yC,SAASl5B,EAAakgC,eAAcp2B,EAAM,YAAkBqC,GAAWnM,EAAakgC,cAE1F15C,KAAOiT,QAAQqQ,KACd/U,cAAYC,QAAQC,IAAI,mCAAoC6U,GAChErV,E3D/S4B,SAAClD,EAAUoE,EAASma,EAAqBzf,GAAzC,6BAA+C,sCAAAqE,EAAA,6DAC3EK,cAAYC,QAAQC,IAAI,kBAAmB1D,GADgC,kBAGtDuD,EAAuBvD,GAH+B,gBAIxD,aAAb,QADA3E,EAHqE,EAGrEA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,8BAAZ,OAA2CrI,QAA3C,IAA2CA,OAA3C,EAA2CA,EAAMA,MACvC,cAAtB,UAAAA,EAAKA,YAAL,eAAWsI,QACbE,wBAAa,CACXC,QAASya,EAAoBnI,YAC7BrS,QAAS,CACP,CACEvI,MAAO+iB,EAAoBxI,OAC3B/R,QAAS,WACPI,EAAQG,KAAK,CAAEC,SAAU,kCAC1B,IAGLP,eAAe,EACfC,qBAAqB,IAGvBL,wBAAa,CACXC,QAASya,EAAoB5H,sBAAwB,IAAMC,gBAC3D7S,QAAS,CACP,CACEvI,MAAO+iB,EAAoBxI,OAC3B/R,QAAS,WAAO,IAAD,EACbI,EAAQG,KAAK,CAAEC,SAAU,yCAA0CC,MAAO,CAAE8T,OAAQvY,EAAUsc,SAAQ,UAAEjhB,EAAKA,YAAP,aAAE,EAAWya,eACpH,IAGL7R,eAAe,EACfC,qBAAqB,IAIzB,OAAI7I,QAAJ,IAAIA,GAAJ,UAAIA,EAAMA,YAAV,OAAI,EAAYiJ,UAIG,WAAb,OAAJjJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAC5BG,wBAAa,CAAEC,QAASya,EAAoBjH,gCAAiCvT,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KA1CnH,kDA6CzEV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAE9CE,wBAAa,CAAEC,QAAShF,EAAE,yBAA0BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACxJE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEC,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAnD7F,qGAA/C,C2D+SnBxC,CAAmB6W,EAAQnU,EAASma,GAAqBzf,KAErE,EAEK8vC,GAAc,WAClBvuB,OAAOwuB,SAAS,EAAG,EACpB,EAEGpyB,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACXA,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,OAAQN,GAAMzM,KAAK+M,MAGhF,OAFInZ,cAAYC,QAAQC,IAAI,QAAS+Y,IAGnC,iCACE,eAAC6Q,GAAD,CAAc3B,MAAM,mBAGpB,gBAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAACF,MAAO,CAAE8Y,UAAWhC,GAAvD,UAEE,gBAAC5T,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,QAApF,UACE,eAAC/b,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,uBAAMA,UAAU,2BAAhB,4DAEF,eAACkO,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,0BAKN,eAACoD,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,uBAAMA,UAAU,2BAAhB,uDAEF,eAACkO,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,yBAKN,eAACoD,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,uBAAMA,UAAU,2BAAhB,kDAEF,eAACkO,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,2BAMR,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,OAAS,SAAnF,SACE,eAAC/b,GAAA,EAAD,CACEpD,UAAU,0BACVlB,QAAS,SAAC/F,GACRkvC,GAAalvC,EAAG,QACjB,EACDkH,MAAO,CAAEmC,OAAQ,WALnB,SAOE,gBAACid,GAAA,EAAD,CAAUpf,MAAO,CAAEw/B,QAAS1vC,KAAOiT,QAAQ0kC,IAA8B,UAAfA,EAAyB,EAAI,IAAvF,UACE,gBAACvkC,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SAIE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,GAAoBpG,UAElE,eAAC/E,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,GAAoB1H,qBAMhD,eAACzD,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,OAAS,SAAnF,SACE,eAAC/b,GAAA,EAAD,CACEpD,UAAU,0BACVlB,QAAS,SAAC/F,GACRkvC,GAAalvC,EAAG,OACjB,EACDkH,MAAO,CAAEmC,OAAQ,WALnB,SAOE,gBAACid,GAAA,EAAD,CAAUpf,MAAO,CAAEw/B,QAAS1vC,KAAOiT,QAAQ0kC,IAA8B,SAAfA,EAAwB,EAAI,IAAtF,UACE,gBAACvkC,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SACE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,GAAoBnG,SAElE,eAAChF,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,aAI1D,oBAAGpB,UAAU,+BAAb,SACE,wBAAMA,UAAU,GAAhB,UAAoBqZ,GAAoBzH,WAAxC,yDAMR,eAAC1D,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,OAAS,SAAnF,SACE,eAAC/b,GAAA,EAAD,CACEpD,UAAU,0BACVlB,QAAS,SAAC/F,GACRkvC,GAAalvC,EAAG,MACjB,EACDkH,MAAO,CAAEmC,OAAQ,WALnB,SAOE,gBAACid,GAAA,EAAD,CAAUpf,MAAO,CAAEw/B,QAAS1vC,KAAOiT,QAAQ0kC,IAA8B,QAAfA,EAAuB,EAAI,IAArF,UACE,gBAACvkC,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SACE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,GAAoBlG,QAElE,eAACjF,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,aAI7D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,GAAoBxH,wBAOlD,wBAGA,eAAC1O,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,QAAtE,SACE,sBAAKnf,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,+CACA,sBAAIA,UAAU,OAAd,cAAuBqZ,GAAoBrH,0BAC3C,sBAAIhS,UAAU,OAAd,cAAuBqZ,GAAoBpH,wCAE7C,sBAAKjS,UAAU,gBAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAK,2BAAOc,GAAUS,eAAjB,IAAgClB,aAAc,EAAGO,UAAW,IACjE/J,MAAM,UACNgI,QAAS,SAAC/F,GACRA,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,4BAC1B,EANH,2BAcN,eAAC+f,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACb1gB,aAAc,GACd/M,KAAM,GACN44B,YAAa,GACbsP,aAAc,GACd9W,eAAgB,GAChBsJ,kBAAmB,EACnB3B,cAAe,GACfE,cAAe,GACfI,oBAAqB,GACrBG,YAAa,GACbG,iBAAkB,GAClBnd,QAAS,IAEXoR,SAAU,SAAC9c,EAAQ2zB,GACbrkC,cAAYC,QAAQC,IAAI,WAAYwQ,EAEzC,EACD4zB,SAAUrB,GAnBZ,SAqBG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAlC,UACE,iCACE,eAAC4a,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAO/D,kBAGlB,iCACE,eAAC+7B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAO9Q,UAGlB,iCACE,eAAC8oC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO8nB,eAExB,wBACA,gBAACkQ,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,sBACYr/B,EAAMgX,OAAOo3B,mBAI3B,iCACE,eAACY,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAOsgB,oBAGlB,iCACE,eAAC0X,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO4pB,qBAExB,wBACA,gBAACoO,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO23B,+BAG1B,iCACE,eAACK,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAOioB,mBAGlB,iCACE,eAAC+P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAOmoB,iBAExB,wBACA,gBAAC6P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO43B,2BAG1B,iCACE,eAACI,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAOuoB,uBAExB,wBACA,gBAACyP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO63B,iCAG1B,iCACE,eAACG,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO0oB,eAExB,wBACA,gBAACsP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO83B,yBAG1B,iCACE,eAACE,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO6oB,oBAExB,wBACA,gBAACmP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO+3B,gCAlH7B,MA0HL,eAACnjB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,sBAAKA,UAAU,gBAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAK,2BAAOc,GAAUS,eAAjB,IAAgClB,aAAc,EAAGO,UAAW,IACjE/J,MAAM,UACNgI,QAAS,WAAO,IAAD,EACb,UAAAyiC,GAAQ7Y,eAAR,SAAiBwe,YAClB,EALH,SAOG7tB,GAAoBrI,sBASjC,eAAC7N,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,SAAUlF,KAAOiT,QAAQmc,IAAuBpvB,KAAOiT,QAAQ0kC,GAAc,QAAU,QAArG,SACE,gBAACx5B,GAAA,EAAD,WACE,gBAAC7K,GAAA,EAAD,CAAYrD,UAAU,WAAtB,UACG+W,IAAiB1G,GAChB,sBAAKrQ,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UAEE,sBAAIA,UAAU,OAAd,cAAuBqZ,GAAoBnH,0BAC3C,sBAAIlS,UAAU,OAAd,cAAuBqZ,GAAoBlH,0CAI/C,sBAAKnS,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UAEE,sBAAIA,UAAU,OAAd,cAAuBqZ,GAAoBnH,0BAC3C,sBAAIlS,UAAU,OAAd,cAAuBqZ,GAAoBlH,0CAIjD,wBACA,2BAIF,eAACyR,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACG+W,IAAiB1G,GAChB,eAAClN,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA3D,SACE,eAACgjB,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUgI,QAAS,WAAS,EAAEyuB,UAAU,EAAtF,SACGlU,GAAoBrI,eAK3B,sBAAKhR,UAAU,gBAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAK,2BAAOc,GAAUS,eAAjB,IAAgClB,aAAc,EAAGO,UAAW,IACjE/J,MAAM,UACNgI,QAAS,WAAS,EAClByuB,UAAU,EAJZ,SAMGlU,GAAoBrI,oBAOjC,eAAC7N,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,GAAc,OAAS,SAA7D,SACE,sBAAK1nC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACG+W,IAAiB1G,GAChB,sBAAKrQ,UAAU,MAAf,SAEE,uBAAKA,UAAU,iBAAf,UACE,iCAAQ+nC,GAAqBA,EAAkBroC,MAAQqoC,EAAkBroC,MAAQ6J,EAAa7J,QAAc,wBAC5G,uBAAKM,UAAU,MAAMC,MAAO,CAAE2pC,MAAO,QAAS5wB,YAAa,GAA3D,UACE,qBAAIhZ,UAAU,OAAOC,MAAO,CAAE+Y,YAAa,GAA3C,mBACOjpB,KAAOiT,QAAQ69B,GAIhB,GAHCkH,EAAkB9G,IAAmB8G,EAAkB9G,GAAgBvhC,MACtEqoC,EAAkB9G,GAAgBvhC,MAClCmhC,EAAYI,GAAgBvhC,SAGpC,yCAASuhC,EAAiB,aAOhC,sBAAKjhC,UAAU,MAAf,SAEE,uBAAKA,UAAU,iBAAf,UACE,iCAAQ+nC,GAAqBA,EAAkBroC,MAAQqoC,EAAkBroC,MAAQ6J,EAAa7J,QAC9F,sBAAIM,UAAU,OAAd,oBACMihC,EAAiB,EADvB,MAEIlxC,KAAOiT,QAAQ69B,GAA8K,GAA9JkH,EAAkB9G,IAAmB8G,EAAkB9G,GAAgBvhC,MAAQqoC,EAAkB9G,GAAgBvhC,MAAQmhC,EAAYI,GAAgBvhC,gBAShM,eAAC2f,GAAA,EAAD,WAEItvB,KAAOiT,QAAQ69B,IACfhnC,OAAOmV,OAAO6xB,EAAYI,GAAgBT,WAAWnnC,KAAI,SAACzB,EAAM/E,GAAO,IAAD,MACpE,OACE,qCAEE,eAACw1C,GAAD,CAEEzwC,KAAMA,EACN0wC,MAAOz1C,EACP01C,WACER,GAAqBA,EAAkB9G,IAAvC,UAA0D8G,EAAkB9G,UAA5E,OAA0D,EAAmCT,WAA7F,UAA0GuH,EAAkB9G,UAA5H,OAA0G,EAAmCT,UAAU3tC,GAAvJ,UAA4Jk1C,EAAkB9G,UAA9K,aAA4J,EAAmCT,UAAU3tC,GAAK,CAAC,EAEjNkkB,aAAcA,GANTlkB,IAUZ,MAIL,gBAAC+wB,GAAA,EAAD,CAAY5jB,UAAU,OAAOxL,YAAU,EAAvC,UACE,eAAC2O,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACE,sBAAK,aAAW,MAAMC,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACGzB,IAAkBN,GAAgBA,EAAe,EAChD,eAAC,GAAD,CACElQ,KAAM9Z,IAAiB1G,GACvBqY,QAASuY,EAAiB,EAC1BtY,MAAOoY,EACPnY,aAAc,SAACF,GACb4Y,IAAkB,GAClBJ,EAAkBxY,EAAU,GAC5BghB,KACApI,IAAkB,EACnB,IAED,WAKV,gBAACn+B,GAAA,EAAD,CAAKlD,MAAO,CAAE6V,OAAQ,EAAG/gB,QAAS,GAAlC,UACE,eAACmZ,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAYC,MAAO,CAAEK,aAAc,IAAzD,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP8pC,IAAW,EACZ,EALH,SAOGvvB,GAAoBjI,oBAIzB,eAAClD,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA1D,SACG2gC,EAAiB,GAAKF,EACrB,eAACzd,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP8pC,IAAW,EACZ,EALH,SAOGvvB,GAAoBhI,eAGvB,eAACiS,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPoiC,EAAkBD,EAAiB,GACnCyI,IACD,EANH,SAQGrwB,GAAoBrI,+BAY5C,ECvoCKm1B,GAAa,CAAEvf,SAAU,CAAElmB,WAAY,OAAS2S,OAAQ,CAAEnS,UAAW,SAAUpK,MAAO4K,GAA4BpB,aAAc,KAo8BvHupC,GAl8BQ,SAAC7xC,GAClBsG,cAAYC,QAAQC,IAAI,QAASxG,GAErC,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAoCuU,mBAAS,IAA7C,oBAAO4wB,EAAP,KAAmBC,EAAnB,KACA,EAA4C7wB,mBAAS,MAArD,oBAAOwvB,EAAP,KAAuBC,EAAvB,KAEA,EAAwCzvB,mBAAS,CAAC,GAAlD,oBAAOvN,EAAP,KAAqBq+B,EAArB,KACA,EAAsC9wB,mBAAS,CAAC,GAAhD,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAAwChqB,mBAAS,GAAjD,oBAAOiqB,EAAP,KAAqBC,EAArB,KACA,EAA4ClqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAkDpqB,mBAAS,GAA3D,oBACA,GADA,UACoDA,mBAAS,CAAC,IAA9D,oBAAOqI,EAAP,KAA2B0oB,EAA3B,KAEA,EAAoD/wB,mBAAS,CAAC,GAA9D,oBAAOoxB,EAAP,KAA2B4B,EAA3B,KACA,EAAkDhzB,mBAAS,CAAC,GAA5D,oBAAOixB,EAAP,KAA0BC,EAA1B,KACA,EAAsDlxB,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KAEA,EAA4Cpa,oBAAS,GAArD,qBAAOuqB,GAAP,MAAuBC,GAAvB,MACA,GAAwCxqB,mBAAS,QAAjD,sBAAOC,GAAP,MAAqBC,GAArB,MAEQpd,GAAMoU,eAANpU,EAGF2nC,GAAU5N,mBAEV1c,GAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACjC5M,QAAQC,IAAI,eAAgByY,IAG5BtU,qBAAU,WAAO,IAAD,IACRonC,EAAc,UAAG/xC,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsB8T,OACzC/U,cAAYC,QAAQC,IAAI,mBAAoBurC,GAC5CA,IAAmBh6C,KAAOiT,QAAQ+mC,IACpCD,EAAsBC,GAIxB/rC,EAASwb,MACTxb,EAASV,MAET,IAAI2R,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,IACEA,GAAaG,UACbvd,OAAOmV,OAAOiI,GAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,GAAgB,QAEnB,GACJ,GAAE,CAACC,KAEJ,IAAIM,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACXA,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,OAAQN,GAAMzM,KAAK+M,MAC5EnZ,cAAYC,QAAQC,IAAI,QAAS+Y,IAErC,IAAMlN,GAAiB3H,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IACnC1H,qBAAU,WAAO,IAAD,kBAC+E,EAA3E,OAAd0H,SAAc,IAAdA,IAAA,UAAAA,GAAgBsQ,eAAhB,SAAyBvD,WAAarnB,KAAOiT,QAAP,OAAeqH,SAAf,IAAeA,IAAf,UAAeA,GAAgBsQ,eAA/B,aAAe,EAAyBvD,YAChFmvB,EAAiB,OAACl8B,SAAD,IAACA,IAAD,UAACA,GAAgBsQ,eAAjB,aAAC,EAAyBvD,UACvC9Y,cAAYC,QAAQC,IAAI,kBAAmB8nC,IAGjD,IAAMr7B,EACJZ,IAAc,OAAIA,SAAJ,IAAIA,OAAgBsQ,SAAlC,OAA6CtQ,SAA7C,IAA6CA,IAA7C,UAA6CA,GAAgBsQ,eAA7D,OAA6C,EAAyBC,YAAtE,OAAoFvQ,SAApF,IAAoFA,IAApF,UAAoFA,GAAgBsQ,eAApG,iBAAoF,EAAyBC,kBAA7G,OAAoF,EAAqC3P,eAAiBlb,KAAOiT,QAAP,OAAeqH,SAAf,IAAeA,IAAf,UAAeA,GAAgBsQ,eAA/B,iBAAe,EAAyBC,kBAAxC,aAAe,EAAqC3P,cAA9L,OACIZ,SADJ,IACIA,IADJ,UACIA,GAAgBsQ,eADpB,iBACI,EAAyBC,kBAD7B,aACI,EAAqC3P,aACrC,CAAC,EAGP,GAFI3M,cAAYC,QAAQC,IAAI,kCAAmCyM,IAE1Dlb,KAAOiT,QAAQiI,GAAe,CACpBlb,KAAOizB,KAAK/X,EAAa2qB,KAAM,CAAEn2B,IAAG,OAAE4K,SAAF,IAAEA,IAAF,UAAEA,GAAgBsQ,eAAlB,iBAAE,EAAyBC,kBAA3B,aAAE,EAAqC8b,aADtD,IAAD,UA2BZ,IAvBjBznB,EAAS,CAEXyL,QAAO,OAAEzP,QAAF,IAAEA,OAAF,EAAEA,EAAcyP,QAAQzhB,KAC/Bme,SAAQ,OAAE/M,SAAF,IAAEA,IAAF,UAAEA,GAAgBsQ,eAAlB,aAAE,EAAyBvD,SAGnCnM,aAAY,OAAEA,QAAF,IAAEA,OAAF,EAAEA,EAAcoE,KAC5BnR,KAAI,OAAE+M,QAAF,IAAEA,OAAF,EAAEA,EAAc/M,KACpBi5B,cAAa,OAAElsB,QAAF,IAAEA,OAAF,EAAEA,EAAcksB,cAC7BL,YAAW,OAAE7rB,QAAF,IAAEA,OAAF,EAAEA,EAAc6rB,YAC3BxH,eAAc,OAAErkB,QAAF,IAAEA,OAAF,EAAEA,EAAcqkB,eAC9BiI,oBAAmB,OAAEtsB,QAAF,IAAEA,OAAF,EAAEA,EAAcssB,oBACnCG,YAAW,OAAEzsB,QAAF,IAAEA,OAAF,EAAEA,EAAcysB,YAC3BG,iBAAgB,OAAE5sB,QAAF,IAAEA,OAAF,EAAEA,EAAc4sB,iBAGhCZ,cAAa,OAAEhsB,QAAF,IAAEA,OAAF,EAAEA,EAAcgsB,cAC7B2B,kBAA+B,OAAZ3tB,QAAY,IAAZA,KAAc2tB,mBAAqB7oC,KAAO0yC,SAAP,OAAgBx3B,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAc2tB,mBAAjE,OAAsF3tB,QAAtF,IAAsFA,OAAtF,EAAsFA,EAAc2tB,kBAAoB,GAM7I,GAJAiP,EAAsB54B,GACtB04B,EAAa,UAAC3vC,EAAMgkB,SAASzc,aAAhB,iBAAC,EAAsB8T,cAAvB,aAAC,EAA8BnV,MAGxCqjC,GAAQ7Y,QACV,UAAA6Y,GAAQ7Y,eAAR,SAAiBuD,YACjBsV,GAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8C12B,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAcoE,MAAM,GAClEkyB,GAAQ7Y,QAAQiZ,cAAc,OAA9B,OAAsC12B,QAAtC,IAAsCA,OAAtC,EAAsCA,EAAc/M,MAAM,GAC1DqjC,GAAQ7Y,QAAQiZ,cAAc,eAAoD,KAAzB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAc6rB,YAAYr4B,QAAkB,MAAQ,MAAM,GACvG8iC,GAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8C12B,QAA9C,IAA8CA,OAA9C,EAA8CA,EAAc6rB,YAAYE,SAAS,GAEjFuK,GAAQ7Y,QAAQiZ,cAAc,iBAA9B,OAAgD12B,QAAhD,IAAgDA,OAAhD,EAAgDA,EAAcqkB,gBAAgB,GAC9E,OAAIrkB,QAAJ,IAAIA,KAAc2tB,mBAAmB2I,GAAQ7Y,QAAQiZ,cAAc,oBAAiC,OAAZ12B,QAAY,IAAZA,KAAc2tB,mBAAqB7oC,KAAO0yC,SAAP,OAAgBx3B,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAc2tB,mBAAjE,OAAsF3tB,QAAtF,IAAsFA,OAAtF,EAAsFA,EAAc2tB,kBAAoB,GAAG,GACnN2I,GAAQ7Y,QAAQiZ,cAAc,gBAA9B,OAA+C12B,QAA/C,IAA+CA,OAA/C,EAA+CA,EAAcgsB,eAAe,GAC5EsK,GAAQ7Y,QAAQiZ,cAAc,iBAAiD,KAApB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAcksB,eAAyB,MAAQ,MAAM,GACpGoK,GAAQ7Y,QAAQiZ,cAAc,aAAyC,KAAhB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAc++B,WAAqB,MAAQ,MAAM,GAC5FzI,GAAQ7Y,QAAQiZ,cAAc,eAA6C,KAAlB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAcysB,aAAuB,MAAQ,MAAM,GAChG6J,GAAQ7Y,QAAQiZ,cAAc,oBAAuD,KAAvB,OAAZ12B,QAAY,IAAZA,OAAA,EAAAA,EAAc4sB,kBAA4B,MAAQ,MAAM,GAE1G0J,GAAQ7Y,QAAQiZ,cAAc,UAA9B,OAAyC12B,QAAzC,IAAyCA,OAAzC,EAAyCA,EAAcyP,QAAQzhB,MAAM,GACrEsoC,GAAQ7Y,QAAQiZ,cAAc,WAA9B,OAA0Ct3B,SAA1C,IAA0CA,IAA1C,UAA0CA,GAAgBsQ,eAA1D,aAA0C,EAAyBvD,UAAU,QAEzE9Y,cAAYC,QAAQC,IAAI,UAE/B,CACGF,cAAYC,QAAQC,IAAI,iBAAkB6L,GAC/C,GAAE,CAACA,KAGJ,IAAMq8B,GAAmBhkC,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IACrC7I,qBAAU,WAAO,IAAD,IACVrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,GAC3D,IAAMA,EAAgBrhC,KAAOizB,KAAK0jB,GAAkB,CAAE91B,aAAY,OAAE5Y,QAAF,IAAEA,GAAF,UAAEA,EAAOgkB,gBAAT,iBAAE,EAAiBzc,aAAnB,aAAE,EAAwB6X,WAE1F8Z,EADEE,QAAmCC,IAAlBD,GAAiD,OAAlBA,EAC3BA,EAAcviB,eAEd8B,GAE1B,GAAE,CAAC+1B,KAEJ/jC,qBAAU,WAER,GAAI+kC,GAAcA,EAAWnvC,QAAU,GAAK+tC,GAAkBA,EAAe/tC,QAAU,EAAG,CAExF,IAAM0W,EAAS,CAAE/Q,KAAMwpC,EAAY92B,aAAc01B,GAC7ChoC,cAAYC,QAAQC,IAAI,gCAAiCyQ,EAE9D,CACF,GAAE,CAACq3B,EAAgBoB,IAEpB/kC,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,uBAAwB0pC,GAGhDA,GAAsBA,IAAuBn4C,KAAOiT,QAAQklC,IAAuBA,EAAmBvI,UAAYuI,EAAmBvI,SAAS,IAEhJ3hC,EAAS1B,GAAkC,CAAE8C,SAAU8oC,EAAmB9oC,UAAYF,IAGtF0oC,EAAgBM,GAChBpH,EAAeoH,EAAmBvI,UAClCqB,EAAgBjxC,KAAOiT,QAAQklC,EAAmBvI,UAAY,EAAIuI,EAAmBvI,SAASpnC,QAC9F2oC,EAAkB,GAEd5iC,cAAYC,QAAQC,IAAI,uBAAwB0pC,IAEhD5pC,cAAYC,QAAQC,IAAI,kBAE/B,GAAE,CAAC0pC,IAGJ,IAAMz+B,GAAwB/G,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOiK,qBAAxB,IAC1C9G,qBAAU,WAAO,IAAD,IACVrE,cAAYC,QAAQC,IAAI,oBAAqBiL,IACjD,IAAM0+B,EAA0Bp4C,KAAOizB,KAAKvZ,GAAuB,CAAEmH,aAAY,OAAE5Y,QAAF,IAAEA,GAAF,UAAEA,EAAOgkB,gBAAT,iBAAE,EAAiBzc,aAAnB,aAAE,EAAwB6X,WAE3G,IAAKrnB,KAAOiT,QAAQmlC,IAAhB,OAA4CA,QAA5C,IAA4CA,KAAyBnmC,YAAoD,KAAhB,OAAvBmmC,QAAuB,IAAvBA,OAAA,EAAAA,EAAyBnmC,WAAoB,CACjI,IAAMomC,EAAwC,OAAvBD,QAAuB,IAAvBA,KAAyBxI,SAAzB,OAAoCwI,QAApC,IAAoCA,OAApC,EAAoCA,EAAyBxI,SAAWkB,EAC/FmH,EAAqBI,GACjB9pC,cAAYC,QAAQC,IAAI,uBAAwBupC,EACrD,CACF,GAAE,CAACt+B,KAMJ,IAAM4+B,GAAgB,SAAC,GAAD,IAAGzwC,EAAH,EAAGA,KAAM0wC,EAAT,EAASA,MAAOC,EAAhB,EAAgBA,WAAYxxB,EAA5B,EAA4BA,aAA5B,OACpB,qCACE,eAAC,KAAD,CACE4U,cAAe,CACb6c,MAAOz4C,KAAO0yC,SAAS7qC,EAAK0rC,QAAU1rC,EAAK0rC,OAAS,EAAI1rC,EAAK0rC,OAAS,EACtEmF,OAAQ7wC,EAAKy/B,OAASz/B,EAAKy/B,OAAS,IAGtCvL,SAAU,SAAC9c,EAAQ2zB,GAAe,EANpC,SAQG,SAAC3qC,GAAD,OACC,eAAC,KAAD,CAAMm0B,KAAK,OAAX,SACGpV,IAAiB1G,GAChB,eAAClN,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,IAA5B,SACE,gBAAC4N,GAAA,EAAD,WACE,gBAAC/K,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,WACE,eAAC84B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG6nC,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,UAAjC,SACGqnC,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,kBAI5E,sBAAKhjC,MAAO,CAAE+Y,YAAa,IAA3B,SACE,gBAACguB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,cACKugC,EAAiB,EAAK,KAAOqH,EAAQ,WAK9C,eAACnlC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAO,CAAEY,UAAW,EAAGP,aAAc,GAAlD,SACE,uBAAKL,MAAQ8W,IAAiB1G,GAAkB,CAAE2I,aAAc,GAAM,CAAE8N,WAAY,IAClF7C,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ6F,GAAW9wC,EAAM0wC,EAAOtwC,EAAMgX,OAAOw5B,MAAOxwC,EAAMgX,OAAOy5B,QAFnE,UAIE,iCACI1xB,IAAiB1G,IACjB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBzG,6BAExB,eAACo0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC3D,UAAjBzxB,GAA6B,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SAA4C,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBzG,iCAE3G,iCACImE,IAAiB1G,IACjB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBxG,6BAExB,eAACm0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC3D,UAAjBzxB,GAA6B,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SAA4C,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBxG,iCAE3G,iCACIkE,IAAiB1G,IACjB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBvG,6BAExB,eAACk0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC3D,UAAjBzxB,GAA6B,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SAA4C,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBvG,iCAE3G,iCACIiE,IAAiB1G,IACjB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBtG,6BAExB,eAACi0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC3D,UAAjBzxB,GAA6B,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SAA4C,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBtG,iCAE3G,iCACIgE,IAAiB1G,IACjB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBrG,6BAExB,eAACg0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC3D,UAAjBzxB,GAA6B,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SAA4C,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBrG,iCAE3G,iCACI+D,IAAiB1G,IAAmB,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SAA6D,aAAOK,QAAP,IAAOA,OAAP,EAAOA,EAAqB1G,8BAC/H,eAAC,KAAD,CAAOzU,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC3D,UAAjBzxB,GAA6B,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UAA+D,OAAnB2Y,QAAmB,IAAnBA,OAAA,EAAAA,EAAqB1G,4BAA6B,iBAMrI,eAACxP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvB/Z,MAAO+iB,EAAoBjG,cAC3B4Q,QAAQ,WACR4I,WAAS,EACTC,KAAM,EACNr1B,MAAOQ,EAAMgX,OAAOy5B,OACpBxkB,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAO,CAAEY,UAAW,GAAIP,aAAc,eAOhD,gBAAC6C,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,IAA5B,UACE,sBAAKL,MAAO,CAAE6mB,WAAY,IAA1B,SACE,gBAACkgB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACGugC,EAAiB,EAAI,KAAOqH,EAAQ,GADvC,SAIF,gBAACp6B,GAAA,EAAD,WACE,eAAC/K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,eAAC6pB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG6nC,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,UAAjC,SACGqnC,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,oBAK9E,eAAC9/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,uBAAKld,MAAO,CAAE6mB,WAAY,GAAIjmB,UAAW,EAAGP,aAAc,GAAK2jB,SAAUjsB,EAAM20B,aAAa,SAAUkW,OAAQ6F,GAAW9wC,EAAM0wC,EAAOtwC,EAAMgX,OAAOw5B,MAAOxwC,EAAMgX,OAAOy5B,QAAvK,UACE,gBAACzB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBzG,+BAEjC,wBACA,gBAACo0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBxG,+BAEjC,wBACA,gBAACm0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBvG,+BAEjC,wBACA,gBAACk0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBtG,+BAEjC,wBACA,gBAACi0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBrG,+BAEjC,wBACA,gBAACg0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,aAAOnvB,QAAP,IAAOA,OAAP,EAAOA,EAAqB1G,sCAKrC,eAACxP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvB/Z,MAAO+iB,EAAoBjG,cAC3B4Q,QAAQ,WACR4I,WAAS,EACTC,KAAM,EACNr1B,MAAOQ,EAAMgX,OAAOy5B,OACpBxkB,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAO,CAAEY,UAAW,GAAIP,aAAc,iBA/LrD,KAVe,EAsNhBooC,GAAa,SAAC9wC,EAAM0wC,EAAOhF,EAAOjM,GAElC/4B,cAAYC,QAAQC,IAAI,6BAA+B8pC,EAAQ,cAAgBhF,EAAQ,cAAgBjM,GAE3G,IAAIxU,EAAcjrB,EAElBA,EAAI,MAAYue,OAAOmtB,GACvB1rC,EAAI,OAAay/B,EAEjByK,GAAkBjf,EAAaylB,EAChC,EAGKxG,GAAoB,SAAClqC,EAAM0wC,GAE/B,IAAI3I,EAAWkB,EACflB,EAASsB,GAAgBT,UAAU8H,GAAS1wC,EAC5CkpC,EAAenB,EAChB,EAEKiJ,GAAa,SAACC,GAAkB,IAAD,wBAKnC,GAJIvqC,cAAYC,QAAQC,IAAI,6BAA8B2gB,GACtD7gB,cAAYC,QAAQC,IAAI,uBAAwB+K,GAChDjL,cAAYC,QAAQC,IAAI,sBAAuBqiC,GAE/CgI,EAAc,CACZvqC,cAAYC,QAAQC,IAAI,0CAE5B,IAHgB,EAGZsqC,EAAe,EACf/H,EAAe,EACfgI,EAAgB,GALJ,eAOMx/B,EAAao2B,UAPnB,IAOhB,2BAA6C,CAAC,IAAD,EAAlC9qB,EAAkC,QACvCm0B,EAAgB,EAChBtF,EAAgB,EAChBuF,EAAkB,EAHqB,eAKpBp0B,EAAQ2rB,WALY,IAK3C,2BAA0C,CAAC,IAAhC5Z,EAA+B,QACpCtoB,cAAYC,QAAQC,IAAI,iBAAkBooB,GAE1C72B,KAAO0yC,SAAP,OAAgB7b,QAAhB,IAAgBA,OAAhB,EAAgBA,EAAU0c,SAAkB,OAAR1c,QAAQ,IAARA,OAAA,EAAAA,EAAU0c,QAAS,IACzD2F,IAEIriB,EAAS0c,MAAQ,IACnB0F,GAAgCpiB,EAAS0c,MACzCI,IACIplC,cAAYC,QAAQC,IAAI,sBAAwBooB,EAAS0c,MAAQ,kBAAoB0F,EAAgB,QAAUtF,IAGxH,CAjB0C,+BAmB3C,IAAIwF,EAAcxF,EAAgB,EAAIsF,EAAgBtF,EAAgB,EAStE,GARA7uB,EAAO,aAAmBq0B,EAE1BJ,GAA8BE,EAC9BjI,GAA8B2C,EAE1BplC,cAAYC,QAAQC,IAAI,qBAAuBsqC,EAAe,kBAAoB/H,EAAe,gBAAkBmI,EAAc,mBAAqBF,EAAgB,mBAAqBtF,GAG3LuF,EAAkBp0B,EAAQ2rB,UAAUjoC,OAAQ,CAE9C,GAAKxI,KAAOiT,QAAQ+kC,GAKlBgB,EAAc1pC,KAAKwV,EAAQnV,WALW,CACtC,IAAIypC,EAASp5C,KAAOizB,KAAK+kB,EAAmB,CAAEzH,YAAazrB,EAAQyrB,cACnEyI,EAAc1pC,KAAK8pC,EAAOzpC,MAE3B,CAkBD,YAbAf,wBAAa,CACXe,MAAO2Z,EAAoBjH,gCAC3BxT,QAASmqC,EACTlqC,QAAS,CACP,CACEvI,MAAO+iB,EAAoBxI,OAC3B/R,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAIxB,CACF,CA7De,+BA+DhB,IAAIoqC,EAAarI,EAAe,EAAI+H,EAAe/H,EAAe,EAQlE,GAPAx3B,EAAY,YAAkB6/B,EAC1B9qC,cAAYC,QAAQC,IAAI,oBAAsB4qC,GAC9C9qC,cAAYC,QAAQC,IAAI,uBAAwB+K,GAChDjL,cAAYC,QAAQC,IAAI,2CAIvBzO,KAAOiT,QAAQ+lC,GAclB,YAbApqC,wBAAa,CACXe,MAAO2Z,EAAoBjH,gCAC3BxT,QAASmqC,EAAc,GACvBlqC,QAAS,CACP,CACEvI,MAAO+iB,EAAoBxI,OAC3B/R,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAK1B,CAED,IAAIqqC,EAAe,CACjB,CAAEpwC,KAAM,eAAgB2tB,SAAUpW,GAAqC6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoBlU,aAAcosB,OAAQ,MACzH,CAAEp+B,KAAM,OAAQ2tB,SAAUpW,GAA6B6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoBjhB,KAAMm5B,OAAQ,MACjG,CAAEp+B,KAAM,cAAe2tB,SAAUpW,GAAoC6C,QAAoD,KAA1B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoB2X,mBAApB,eAAiCr4B,QAAkB,MAAQ,KAAM44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoB2X,mBAAtB,aAAE,EAAiCE,SAEvL,CAAE/9B,KAAM,gBAAiB2tB,SAAUpW,GAAsC6C,QAAsD,KAA5B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBgY,qBAApB,eAAmC14B,QAAkB,MAAQ,KAAM44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoBgY,qBAAtB,aAAE,EAAmCE,QAC/L,CAAEp+B,KAAM,iBAAkB2tB,SAAUpW,GAAuC6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoBmQ,eAAgB+H,OAAQ,MAC/H,CAAEp+B,KAAM,sBAAuB2tB,SAAUpW,GAA4C6C,QAA4D,KAAlC,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBoY,2BAApB,eAAyC94B,QAAkB,MAAQ,KAAM44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoBoY,2BAAtB,aAAE,EAAyCF,QACvN,CAAEp+B,KAAM,cAAe2tB,SAAUpW,GAAoC6C,QAAoD,KAA1B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoBuY,mBAApB,eAAiCj5B,QAAkB,MAAQ,KAAM44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoBuY,mBAAtB,aAAE,EAAiCL,QACvL,CAAEp+B,KAAM,mBAAoB2tB,SAAUpW,GAAyC6C,QAAyD,KAA/B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoB0Y,wBAApB,eAAsCp5B,QAAkB,MAAQ,KAAM44B,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoB0Y,wBAAtB,aAAE,EAAsCR,QAE3M,CAAEp+B,KAAM,gCAAiC2tB,SAAUpW,GAA0C6C,QAA0B,OAAlB8L,QAAkB,IAAlBA,GAAA,UAAAA,EAAoB6Y,qCAApB,eAAmDC,QAAS,GAAIZ,OAAM,OAAElY,QAAF,IAAEA,GAAF,UAAEA,EAAoB6Y,qCAAtB,aAAE,EAAmDX,QAChO,CAAEp+B,KAAM,gBAAiB2tB,SAAUpW,GAAsC6C,OAAM,OAAE8L,QAAF,IAAEA,OAAF,EAAEA,EAAoB8X,cAAeI,OAAQ,OAG1HhkB,EAAS,CACX2T,SAAUzd,EAAa9J,IACvBL,SAAUmK,EAAanK,SACvBkqC,YAAanqB,EAAmBzE,QAChC9J,aAAcuO,EAAmB/H,SACjClZ,KAAMqL,EAAarL,KACnBwB,MAAO6J,EAAa7J,MACpBqC,YAAawH,EAAaxH,YAC1ByO,uBAAwB64B,EACxB1J,SAAUp2B,EAAao2B,SACvBlhC,OAAQoqC,EAAe,WAAa,WACpCU,gBAAiBn7B,OAASo7B,OAAO9yB,KAG/B3mB,KAAO0yC,SAASl5B,EAAakgC,eAAcp2B,EAAM,YAAkBqC,GAAWnM,EAAakgC,cAE1F15C,KAAOiT,QAAQqQ,IAClBrV,E5D7K4B,SAAClD,EAAUoE,EAASma,EAAqBzf,GAAzC,6BAA+C,sCAAAqE,EAAA,6DAC3EK,cAAYC,QAAQC,IAAI,oBAAqB1D,GAD8B,kBAGtDuD,EAA2BvD,GAH2B,gBAIxD,aAAb,QADA3E,EAHqE,EAGrEA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,8BAAZ,OAA2CrI,QAA3C,IAA2CA,OAA3C,EAA2CA,EAAMA,MACvC,cAAtB,UAAAA,EAAKA,YAAL,eAAWsI,QACbE,wBAAa,CACXC,QAASya,EAAoBnI,YAC7BrS,QAAS,CACP,CACEvI,MAAO+iB,EAAoBxI,OAC3B/R,QAAS,WACPI,EAAQG,KAAK,CAAEC,SAAU,kCAC1B,MAKPX,wBAAa,CACXC,QAASya,EAAoB5H,sBAAwB,IAAMC,gBAC3D7S,QAAS,CACP,CACEvI,MAAO+iB,EAAoBxI,OAC3B/R,QAAS,WAAO,IAAD,EACbI,EAAQG,KAAK,CAAEC,SAAU,yCAA0CC,MAAO,CAAE8T,OAAQvY,EAAUsc,SAAQ,UAAEjhB,EAAKA,YAAP,aAAE,EAAWya,eACpH,MAKT,OAAIza,QAAJ,IAAIA,GAAJ,UAAIA,EAAMA,YAAV,OAAI,EAAYiJ,UAIG,WAAb,OAAJjJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SAGRE,wBAAa,CAAEC,QAASya,EAAoBjH,gCAAiCvT,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IAtCnH,kDA0CzE,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAE9CE,wBAAa,CAAEC,QAAShF,EAAE,yBAA0BiF,QAAS,CAAC,CAAEvI,MAAOsD,EAAE,aAAckF,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACxJE,EAAQG,KAAK,iBAEbV,wBAAa,CAAEC,QAASya,EAAoBlI,UAAWtS,QAAS,CAAC,CAAEvI,MAAO+iB,EAAoBxI,OAAQ/R,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IA/C7F,qGAA/C,C4D6KnBirC,CAAmB52B,EAAQnU,EAASma,EAAqBzf,IAErE,EAEK8vC,GAAc,WAClBvuB,OAAOwuB,SAAS,EAAG,EACpB,EAED,OACE,uCACE,eAACvhB,GAAD,CAAc3B,MAAM,mBAGpB,gBAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAACF,MAAO,CAAE8Y,UAAWhC,IAAvD,UAEE,gBAAC5T,GAAA,EAAD,CAAKnD,UAAU,OAAf,UACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,QAApF,SACE,eAAC/b,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAA7D,SACE,gBAACsmB,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SAIE,uBAAMA,UAAU,2BAAhB,gBAA4CqZ,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAqB1E,yBAEnE,eAACzG,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,6DAAf,SACE,oBAAGA,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,aAI1E,oBAAG1B,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,wDAMR,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,IAA8B,UAAfA,EAAyB,QAAU,QAAtG,SACE,eAACtkC,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAAEkH,MAAO,CAAEmC,OAAQ,WAAhF,SACE,gBAACid,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SAIE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,EAAoBpG,UAElE,eAAC/E,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,EAAoB1H,qBAKhD,eAACzD,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,IAA8B,SAAfA,EAAwB,QAAU,QAArG,SACE,eAACtkC,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAAEkH,MAAO,CAAEmC,OAAQ,WAAhF,SACE,gBAACid,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SAIE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,EAAoBnG,SAElE,eAAChF,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,aAI1D,oBAAGpB,UAAU,+BAAb,SACE,wBAAMA,UAAU,GAAhB,UAAoBqZ,EAAoBzH,WAAxC,yDAKR,eAAC1D,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,IAA8B,QAAfA,EAAuB,QAAU,QAApG,SACE,eAACtkC,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAAEkH,MAAO,CAAEmC,OAAQ,WAAhF,SACE,gBAACid,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,sBAAKnD,UAAU,MAAf,SAIE,uBAAMA,UAAU,2BAAhB,SAA4CqZ,EAAoBlG,QAElE,eAACjF,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,aAI7D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,EAAoBxH,wBAOlD,wBAGA,eAAC1O,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQmc,GAAsB,QAAU,QAAtE,SACE,sBAAKnf,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,iCAAQqZ,EAAoB9F,UAC5B,qBAAIvT,UAAU,OAAd,SAAsBqZ,EAAoB1E,uBAC1C,qBAAI3U,UAAU,OAAd,kHAEF,sBAAKA,UAAU,gBAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAK,2BAAOc,GAAUS,eAAjB,IAAgClB,aAAc,EAAGO,UAAW,IACjE/J,MAAM,UACNgI,QAAS,SAAC/F,GACRA,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,4BAC1B,EANH,SAQG+Z,EAAoBrE,gBAM7B,eAACqK,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACb1gB,aAAc,GACd/M,KAAM,GACN44B,YAAa,KACbsP,aAAc,GACd9W,eAAgB,GAChBsJ,kBAAmB,EACnB3B,cAAe,GACfE,cAAe,KACf6S,UAAW,KACXtS,YAAa,KACbG,iBAAkB,KAClBnd,QAAS,IAEXoR,SAAU,SAAC9c,EAAQ2zB,GACbrkC,cAAYC,QAAQC,IAAI,WAAYwQ,EACzC,EACD4zB,SAAUrB,GAlBZ,SAoBG,SAACvpC,GAAD,OACC,gBAAC,KAAD,CAAMm0B,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAlC,UACE,iCACE,eAAC4a,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAO/D,kBAGlB,iCACE,eAAC+7B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAO9Q,UAGlB,iCACE,eAAC8oC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO8nB,eAExB,wBACA,gBAACkQ,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,sBACYr/B,EAAMgX,OAAOo3B,mBAI3B,iCACE,eAACY,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAOsgB,oBAGlB,iCACE,eAAC0X,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO4pB,qBAExB,wBACA,gBAACoO,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO23B,+BAG1B,iCACE,eAACK,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,eAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,SACGr/B,EAAMgX,OAAOioB,mBAGlB,iCACE,eAAC+P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAOmoB,iBAExB,wBACA,gBAAC6P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO43B,2BAG1B,iCACE,eAACI,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAOuoB,uBAExB,wBACA,gBAACyP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO63B,iCAG1B,iCACE,eAACG,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO0oB,eAExB,wBACA,gBAACsP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO83B,yBAG1B,iCACE,eAACE,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGpW,KAEH,wBACA,gBAACw2B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9yB,OAA/B,qBACWrb,EAAMgX,OAAO6oB,oBAExB,wBACA,gBAACmP,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAW9O,OAA/B,qBACWr/B,EAAMgX,OAAO+3B,gCAlH7B,MA0HL,eAACnjB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,sBAAKA,UAAU,gBAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAK,2BAAOc,GAAUS,eAAjB,IAAgClB,aAAc,EAAGO,UAAW,IACjE/J,MAAM,UACNgI,QAAS,WAAO,IAAD,EACb,UAAAyiC,GAAQ7Y,eAAR,SAAiBwe,YAClB,EALH,SAOG7tB,EAAoBrI,sBASjC,eAAC7N,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,GAAc,OAAS,SAA7D,SACE,sBAAK1nC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACG+W,KAAiB1G,GAChB,sBAAKrQ,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,iCAAQ+nC,GAAqBA,EAAkBroC,MAAQqoC,EAAkBroC,MAAQ6J,EAAa7J,QAC9F,sBAAIM,UAAU,OAAd,UACIjQ,KAAOiT,QAAQ69B,GAA8K,GAA9JkH,EAAkB9G,IAAmB8G,EAAkB9G,GAAgBvhC,MAAQqoC,EAAkB9G,GAAgBvhC,MAAQmhC,EAAYI,GAAgBvhC,MADxL,YAEQuhC,EAAiB,MAEzB,qBAAIjhC,UAAU,OAAd,SAAsBqZ,EAAoBvE,yBAI9C,sBAAK9U,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,iCAAQ+nC,GAAqBA,EAAkBroC,MAAQqoC,EAAkBroC,MAAQ6J,EAAa7J,QAC9F,sBAAIM,UAAU,OAAd,oBACMihC,EAAiB,EADvB,MAEIlxC,KAAOiT,QAAQ69B,GAA8K,GAA9JkH,EAAkB9G,IAAmB8G,EAAkB9G,GAAgBvhC,MAAQqoC,EAAkB9G,GAAgBvhC,MAAQmhC,EAAYI,GAAgBvhC,SAExL,qBAAIM,UAAU,OAAd,SAAsBqZ,EAAoBvE,2BAOlD,eAACuK,GAAA,EAAD,WAEItvB,KAAOiT,QAAQ69B,IACfhnC,OAAOmV,OAAO6xB,EAAYI,GAAgBT,WAAWnnC,KAAI,SAACzB,EAAM/E,GAAO,IAAD,MACpE,OACE,eAACw1C,GAAD,CAEEzwC,KAAMA,EACN0wC,MAAOz1C,EACP01C,WACER,GAAqBA,EAAkB9G,IAAvC,UAA0D8G,EAAkB9G,UAA5E,OAA0D,EAAmCT,WAA7F,UAA0GuH,EAAkB9G,UAA5H,OAA0G,EAAmCT,UAAU3tC,GAAvJ,UAA4Jk1C,EAAkB9G,UAA9K,aAA4J,EAAmCT,UAAU3tC,GAAK,CAAC,EAEjNkkB,aAAcA,IANTlkB,EASV,MAIL,gBAAC+wB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,cAAvB,SACE,sBAAK,aAAW,MAAMC,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACGzB,IAAkBN,GAAgBA,EAAe,EAChD,eAAC,GAAD,CACElQ,KAAM9Z,KAAiB1G,GACvBqY,QAASuY,EAAiB,EAC1BtY,MAAOoY,EACPnY,aAAc,SAACF,GACb4Y,IAAkB,GAClBJ,EAAkBxY,EAAU,GAC5BghB,KACApI,IAAkB,EACnB,IAED,WAIV,gBAACn+B,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAYC,MAAO,CAAEK,aAAc,IAAzD,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP8pC,IAAW,EACZ,EALH,SAOGvvB,EAAoBjI,oBAGzB,eAAClD,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA1D,SACG2gC,EAAiB,GAAKF,EACrB,eAACzd,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP8pC,IAAW,EACZ,EALH,SAOGvvB,EAAoBhI,eAGvB,eAACiS,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPoiC,EAAkBD,EAAiB,GACnCyI,IACD,EANH,SAQGrwB,EAAoBrI,+BAY5C,ECl8BKm1B,GAAa,CAAElO,OAAQ,CAAEv3B,WAAY,MAAOpP,MAAO,GAAIw1B,WAAY,IAAMF,SAAU,CAAElmB,WAAY,OAAS2S,OAAQ,CAAE/S,aAAc,KAujCzH4pC,GArjCQ,SAAClyC,GAAW,IAAD,0BAE1BgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAoCuU,mBAAS,IAA7C,oBAAO4wB,EAAP,KAAmBC,EAAnB,KACA,EAA4C7wB,mBAAS,IAArD,oBAAuByvB,GAAvB,WAEA,EAAsCzvB,mBAAS,CAAC,GAAhD,oBAAO+pB,EAAP,KAAoBC,EAApB,KACA,EAAwChqB,mBAAS,GAAjD,oBAAOiqB,EAAP,KAAqBC,EAArB,KACA,EAA4ClqB,mBAAS,GAArD,oBAAOmqB,EAAP,KAAuBC,EAAvB,KACA,EAAkDpqB,mBAAS,GAA3D,oBAEA,GAFA,UAE8DA,mBAAS,CAAC,IAAxE,oBAAOqzB,EAAP,KAAgCC,EAAhC,KACA,EAAkDtzB,mBAAS,CAAC,GAA5D,oBAAOixB,EAAP,KAA0BC,EAA1B,KACA,EAAsDlxB,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KACA,GAA0Dpa,mBAAS,CAAC,GAApE,sBAAOuzB,GAAP,MAA8BC,GAA9B,MAEA,GAAsCxzB,mBAAS,IAA/C,sBAAO2yB,GAAP,MAAoBc,GAApB,MACA,GAAoCzzB,oBAAS,GAA7C,sBAAO0zB,GAAP,MAAmBC,GAAnB,MACA,GAAsC3zB,oBAAS,GAA/C,sBAAO4zB,GAAP,MAAoBC,GAApB,MACA,GAAwC7zB,mBAAS,GAAjD,sBAAOotB,GAAP,MAAqBC,GAArB,MACA,GAA4CrtB,mBAAS,GAArD,sBAAOue,GAAP,MAAuB+E,GAAvB,MACA,GAA4CtjB,oBAAS,GAArD,sBAAOuqB,GAAP,MAAuBC,GAAvB,MAEA,GAAwCxqB,mBAAS,IAAjD,sBAAOC,GAAP,MAAqBC,GAArB,MAIMI,IADUuc,mBACF,OAAG37B,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,iBAAG,EAAiBzc,aAApB,aAAG,EAAwB6X,UACrC9Y,cAAYC,QAAQC,IAAI,WAAY4Y,IAI3B1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmL,KAAKL,cAAtB,IAAzB,IACM4M,GAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACjC5M,QAAQC,IAAI,eAAgByY,IAC5B,OAAoBjJ,eAAZpU,GAAR,GAAQA,EAAGqU,GAAX,GAAWA,KAEXtL,qBAAU,WAAO,IAAD,YACd2nC,GAAyB,CAAC,GAC1BtC,EAAqB,CAAC,GAEtB,IAAM4C,EAAe,OAAG5yC,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,iBAAG,EAAiBzc,aAApB,aAAG,EAAwB8T,OACpC,OAAGrb,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,iBAAG,EAAiBzc,aAApB,OAAG,EAAwBmL,KAEnCpM,cAAYC,QAAQC,IAAI,oBAAqBosC,GAC7CA,IAAoB76C,KAAOiT,QAAQ4nC,KACrCjD,EAAciD,EAAgB1sC,MAC9BqoC,EAAkBnvB,IAClBgzB,EAA2BQ,IAE7B5sC,EAASwb,MAETvL,GAAKiJ,eAAL,OAAoBC,SAApB,IAAoBA,IAApB,UAAoBA,GAAOzM,YAA3B,aAAoB,EAAa0M,UAEjC,IAAInI,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,IACEA,GAAaG,UACbvd,OAAOmV,OAAOiI,GAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,GAAgB,QAEnB,GACJ,GAAE,CAACC,KAEJtU,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,4BAA6B2rC,GAGrDA,GAA2BA,IAA4Bp6C,KAAOiT,QAAQmnC,IAA4BA,EAAwBxK,UAAYwK,EAAwBxK,SAAS,IAErKrhC,cAAYC,QAAQC,IAAI,aAAc2rC,EAAwB/qC,UAClEpB,EAAS1B,GAAkC,CAAE8C,SAAU+qC,EAAwB/qC,UAAYF,IAC3FlB,EAASlB,GAA+B,CAAEsC,SAAU+qC,EAAwB/qC,UAAYF,IACxFlB,EAASV,MAGTwjC,EAAeqJ,EAAwBxK,UACvCqB,EAAgBjxC,KAAOiT,QAAQmnC,EAAwBxK,UAAY,EAAIwK,EAAwBxK,SAASpnC,QACxG2oC,EAAkB,GAClBqJ,GAAe70B,GAAWy0B,EAAwBV,aAAa,IAC/DtF,GAAgBD,GAAe,GAE3B5lC,cAAYC,QAAQC,IAAI,uBAAwB2rC,IAEhD7rC,cAAYC,QAAQC,IAAI,kBAE/B,GAAE,CAAC2rC,IAEJ,IAAIU,GAAW,GACXC,GAAU,GACdnoC,qBAAU,WACR9I,OAAOmV,OAAO6xB,GAAaxnC,KAAI,SAACwb,EAAShiB,GAAV,OAAgBg4C,GAASxrC,KAAKwV,EAAQi0B,aAAtC,IAE/BjvC,OAAOmV,OAAO6xB,GAAaxnC,KAAI,SAAC0xC,EAAa1iB,GAAd,OAAoByiB,GAAQzrC,KAAK0rC,EAAYzK,YAA7C,IAC/B/hC,QAAQC,IAAI,WAAYqsC,GACzB,GAAE,CAAChK,IAEJl+B,qBAAU,WACRy3B,GAAkB/E,GAAiB,EACpC,GAAE,CAAC0L,EAAc1nB,IAGlB,IAAMqtB,GAAmBhkC,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IACrC7I,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,8BAA+BkoC,IAC3D,IAAMtV,EAAgBrhC,KAAOizB,KAAK0jB,GAAkB,CAAE91B,aAAcwG,KAChE9Y,cAAYC,QAAQC,IAAI,8BAA+B4yB,GAEzDF,EADEE,QAAmCC,IAAlBD,GAAiD,OAAlBA,EAC3BA,EAAcviB,eAEd8B,GAE1B,GAAE,CAAC+1B,KAGJ,IAAMj9B,GAAwB/G,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOiK,qBAAxB,IAC1C9G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,oBAAqBiL,IACjD,IAAM0+B,EAA0Bp4C,KAAOizB,KAAKvZ,GAAuB,CAAEmH,aAAcwG,KAEnF,GADI9Y,cAAYC,QAAQC,IAAI,+BAAgC2pC,IACvDp4C,KAAOiT,QAAQmlC,GAA0B,CAC5C,IAAMC,EAAwC,OAAvBD,QAAuB,IAAvBA,KAAyBxI,SAAzB,OAAoCwI,QAApC,IAAoCA,OAApC,EAAoCA,EAAyBxI,SAAWkB,EAC/FmH,EAAqBI,GACjB9pC,cAAYC,QAAQC,IAAI,uBAAwB4pC,EACrD,CACF,GAAE,CAAC3+B,KAGJ,IAAMuhC,GAA0BtoC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOqK,iBAAxB,IAC5ClH,qBAAU,WACR,IAAIsoC,EAAwBl7C,KAAOizB,KAAKgoB,GAAyB,CAAEp6B,aAAcwG,KAG7ErnB,KAAOiT,QAAQioC,KACjBA,EAAwBl7C,KAAOizB,KAAKgoB,GAAyB,CAAEp6B,aAAc,QAI7E05B,GADEW,GAGuB,CAAC,EAE7B,GAAE,CAACD,KAGJ,IAAM3C,GAAgB,SAAC,GAAD,IAAGzwC,EAAH,EAAGA,KAAM0wC,EAAT,EAASA,MAAOC,EAAhB,EAAgBA,WAAYxxB,EAA5B,EAA4BA,aAA5B,OACpB,qCAEE,eAAC,KAAD,CACE4U,cAAe,CACb6c,MAAOz4C,KAAO0yC,SAAS7qC,EAAK0rC,QAAU1rC,EAAK0rC,OAAS,EAAI1rC,EAAK0rC,OAAS,EACtEmF,OAAQ7wC,EAAKy/B,OAASz/B,EAAKy/B,OAAS,IAGtCvL,SAAU,SAAC9c,EAAQ2zB,GACjB,IAAI9f,EAAcjrB,EAClBA,EAAI,MAAYue,OAAOnH,EAAOw5B,OAC9B5wC,EAAI,OAAaoX,EAAOy5B,OAExB3G,GAAkBjf,EAAaylB,EAChC,EAZH,SAcG,SAACtwC,GAAD,OACC,eAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAlC,SAEGrV,IAAiB1G,GAChB,eAAClN,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,GAAI4qC,cAAe,OAAQC,WAAY,QAAnE,SACE,gBAACj9B,GAAA,EAAD,WACE,gBAAC/K,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,WACE,eAAC84B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG6nC,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,UAAjC,SACGqnC,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,kBAG5E,sBAAKhjC,MAAO,CAAE+Y,YAAa,IAA3B,SACE,gBAACguB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,cACI4nC,EAAQ,EAAI,KAAOrH,EAAiB,WAK5C,eAAC99B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAO,CAAEY,UAAW,EAAGP,aAAc,GAAlD,SACE,uBAAKL,MAAO8W,IAAiB1G,GAAiB,CAAE2I,aAAc,GAAM,CAAE8N,WAAY,IAAM7C,SAAUjsB,EAAM20B,aAAa,SAAUkW,OAAQ7qC,EAAMo0B,aAA7I,UACE,iCACGrV,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBzG,6BAExB,eAACo0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBzG,iCAIrC,iCACGmE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBxG,6BAExB,eAACm0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBxG,iCAIrC,iCACGkE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBvG,6BAExB,eAACk0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBvG,iCAIrC,iCACGiE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBtG,6BAExB,eAACi0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBtG,iCAIrC,iCACGgE,IAAiB1G,IAChB,kCACE,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,GAAtD,gBACGK,QADH,IACGA,OADH,EACGA,EAAqBrG,6BAExB,eAACg0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,UAIP,eAAC,KAAD,CAAO9a,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG,eAAS2Y,QAAT,IAASA,OAAT,EAASA,EAAqBrG,iCAIrC,iCACG+D,IAAiB1G,IAChB,eAAC22B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOsY,YAAa,IAAtD,SACG,aAAOK,QAAP,IAAOA,OAAP,EAAOA,EAAqB1G,8BAGjC,eAAC,KAAD,CAAOzU,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC5D,UAAjBzxB,GACC,eAACiwB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACsB,OAAnB2Y,QAAmB,IAAnBA,OAAA,EAAAA,EAAqB1G,4BAA6B,iBAO/D,eAACxP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvB/Z,MAAK,OAAE+iB,QAAF,IAAEA,OAAF,EAAEA,EAAqBjG,cAC5B4Q,QAAQ,WACR4I,WAAS,EACTC,KAAM,EACNr1B,MAAOQ,EAAMgX,OAAOy5B,OACpBxkB,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAO,CAAEY,UAAW,GAAIP,aAAc,eAQhD,gBAAC6C,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,GAAI4qC,cAAe,OAAQC,WAAY,QAAnE,UACE,sBAAKlrC,MAAO,CAAE6mB,WAAY,IAA1B,SACE,gBAACkgB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACGugC,EAAiB,EAAI,KAAOqH,EAAQ,GADvC,SAIF,gBAACp6B,GAAA,EAAD,WACE,eAAC/K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,eAAC6pB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,SACG6nC,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,UAAjC,SACGqnC,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,oBAK9E,eAAC9/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,uBAAKld,MAAO,CAAE6mB,WAAY,GAAIjmB,UAAW,EAAGP,aAAc,GAAK2jB,SAAUjsB,EAAM20B,aAAa,SAAUkW,OAAQ7qC,EAAMo0B,aAApH,UACE,gBAAC4a,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBzG,+BAEjC,wBACA,gBAACo0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBxG,+BAEjC,wBACA,gBAACm0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBvG,+BAEjC,wBACA,gBAACk0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBtG,+BAEjC,wBACA,gBAACi0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,eAASnvB,QAAT,IAASA,OAAT,EAASA,EAAqBrG,+BAEjC,wBACA,gBAACg0B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACE,eAAC,KAAD,CAAOxC,KAAK,QAAQ1G,MAAO,EAAG6X,KAAK,QAAQs5B,eAAgB,IAAM3wC,EAAMgX,OAAOw5B,QAC7E,aAAOnvB,QAAP,IAAOA,OAAP,EAAOA,EAAqB1G,sCAKrC,eAACxP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC,GAAD,CACE4G,WAAS,EACT8M,KAAM9Z,IAAiB1G,GACvB/Z,MAAK,OAAE+iB,QAAF,IAAEA,OAAF,EAAEA,EAAqBjG,cAC5B4Q,QAAQ,WACR4I,WAAS,EACTC,KAAM,EACNr1B,MAAOQ,EAAMgX,OAAOy5B,OACpBxkB,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAO,CAAEY,UAAW,GAAIP,aAAc,iBAxNrD,KAjBe,EAqShBwhC,GAAoB,SAAClqC,EAAM0wC,GAE/B,IAAI3I,EAAWkB,EACflB,EAASsB,GAAgBT,UAAU8H,GAAS1wC,EAC5CkpC,EAAenB,EAChB,EAEKyL,GAAe,SAACryC,EAAGsa,EAAQg4B,GAAiB,IAAD,IAC3CR,EAAW,GACXC,EAAU,GACVQ,EAAc,GAElBzxC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACwb,EAAShiB,GAAV,OAAgBg4C,EAASxrC,KAAKqW,GAAWb,EAAQi0B,cAAjD,IAEnCjvC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAAC0xC,EAAa1iB,GAAd,OAAoByiB,EAAQzrC,KAAK0rC,EAAYzK,YAA7C,IAEnCzmC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACkyC,EAAiBljB,GAAlB,OAAwBijB,EAAYjsC,KAAKksC,EAAgB7rC,MAAzD,IAG/BpB,cAAYC,QAAQC,IAAI,cAAe8sC,GAE3CvyC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAC1E9U,QAAQC,IAAI,8BAA+B,CACzCssC,QAASA,EACTD,SAAUA,EACVS,YAAaA,EACbj4B,OAAQA,EACR+D,SAAQ,OAAED,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAEzBlY,EAAQG,KAAK,CACXC,SAAU,oCACVC,MAAO,CACLurC,QAASA,EACTD,SAAUA,EACVS,YAAaA,EACbj4B,OAAQA,EACR+D,SAAQ,OAAED,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAG5B,EAEKsyB,GAAc,WAClBvuB,OAAOwuB,SAAS,EAAG,EACpB,EAEGpyB,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACXA,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,OAAQN,GAAMzM,KAAK+M,MAGhF,OAFInZ,cAAYC,QAAQC,IAAI,QAAS+Y,IAGnC,iCACE,eAAC6Q,GAAD,CAAc3B,MAAM,mBAGpB,gBAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAC/G,GAAIi8B,GAAgBp1B,MAAO,CAAE8Y,UAAWhC,IAA3E,UAEE,gBAAC5T,GAAA,EAAD,CAAKnD,UAAU,OAAf,UAEE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,IAA8B,UAAfA,EAAyB,OAAS,SAArG,SACE,eAACtkC,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAAEkH,MAAO,CAAEmC,OAAQ,WAAhF,SACG2U,KAAiB1G,GAChB,gBAACgP,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,SACGqZ,EAAoB1H,YAEvB,wBAAM3R,UAAU,2BAAhB,UACGqZ,EAAoBjF,YADvB,KACsCq1B,MAEtC,mCACkB,IAAfe,KAAuC,IAAhBE,GACtB,GAEA,iCACGrxB,EAAoBlF,cADvB,KACwC0sB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,WAKnH,eAAC56B,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAK/D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,EAAoBpG,aAI5C,gBAACoM,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,SACGqZ,EAAoB1H,YAEvB,wBAAM3R,UAAU,2BAAhB,UACGqZ,EAAoBjF,YADvB,KACsCq1B,SAGxC,eAACv7B,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,yBAAyBC,MAAO,CAAEmB,SAAU,aAI/D,eAAC+B,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,mCACkB,IAAfwqC,KAAuC,IAAhBE,GACtB,GAEA,iCACGrxB,EAAoBlF,cADvB,KACwC0sB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,YAMrH,oBAAG9oC,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,EAAoBpG,iBAOlD,eAAC/E,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,IAA8B,SAAfA,EAAwB,OAAS,SAApG,SACE,eAACtkC,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAAEkH,MAAO,CAAEmC,OAAQ,WAAhF,SACG2U,KAAiB1G,GAChB,gBAACgP,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,SACGqZ,EAAoBzH,aAEvB,wBAAM5R,UAAU,2BAAhB,UACGqZ,EAAoBjF,YADvB,KACsCq1B,MAEtC,mCACkB,IAAfe,KAAuC,IAAhBE,GACtB,GAEA,iCACGrxB,EAAoBlF,cADvB,KACwC0sB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,WAKnH,eAAC56B,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,aAK1D,oBAAGpB,UAAU,+BAAb,SACE,wBAAMA,UAAU,GAAhB,UAAoBqZ,EAAoBnG,KAAxC,qDAIJ,gBAACmM,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,SACGqZ,EAAoBzH,aAEvB,wBAAM5R,UAAU,2BAAhB,UACGqZ,EAAoBjF,YADvB,KACsCq1B,SAGxC,eAACv7B,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,oBAAoBC,MAAO,CAAEmB,SAAU,aAI1D,eAAC+B,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,mCACkB,IAAfwqC,KAAuC,IAAhBE,GACtB,GAEA,iCACGrxB,EAAoBlF,cADvB,KACwC0sB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,YAMrH,oBAAG9oC,UAAU,+BAAb,SACE,wBAAMA,UAAU,GAAhB,UAAoBqZ,EAAoBnG,KAAxC,yDAOV,eAAChF,GAAA,EAAD,CAAKiP,GAAG,IAAIhP,GAAG,IAAIlO,MAAO,CAAEhL,QAASlF,KAAOiT,QAAQ0kC,IAA8B,QAAfA,EAAuB,OAAS,SAAnG,SACE,eAACtkC,GAAA,EAAD,CAAMpD,UAAU,0BAA0BlB,QAAS,SAAC/F,GAAS,EAAEkH,MAAO,CAAEmC,OAAQ,WAAhF,SACG2U,KAAiB1G,GAChB,gBAACgP,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,SACGqZ,EAAoBxH,YAEvB,wBAAM7R,UAAU,2BAAhB,UACGqZ,EAAoBjF,YADvB,KACsCq1B,MAEtC,yBAAQxpC,MAAO,CAAEnJ,MAAO4K,IAAxB,UACkB,IAAf8oC,KAAuC,IAAhBE,GACtB,GAEA,iCACGrxB,EAAoBlF,cADvB,KACwC0sB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,WAKnH,eAAC56B,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,aAK7D,oBAAGpB,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,EAAoBlG,WAI5C,gBAACkM,GAAA,EAAD,WACE,gBAAClc,GAAA,EAAD,WACE,uBAAKnD,UAAU,MAAf,UACE,eAACsf,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,SACGqZ,EAAoBxH,YAEvB,wBAAM7R,UAAU,2BAAhB,UACGqZ,EAAoBjF,YADvB,KACsCq1B,SAGxC,eAACv7B,GAAA,EAAD,CAAKlO,UAAU,WAAf,SACE,sBAAKA,UAAU,mDAAmDC,MAAO,CAAE/N,gBAAiBwP,IAA5F,SACE,oBAAG1B,UAAU,uBAAuBC,MAAO,CAAEmB,SAAU,aAI7D,eAAC+B,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,yBAAQC,MAAO,CAAEnJ,MAAO4K,IAAxB,UACkB,IAAf8oC,KAAuC,IAAhBE,GACtB,GAEA,iCACGrxB,EAAoBlF,cADvB,KACwC0sB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,YAMrH,oBAAG9oC,UAAU,+BAAb,SACE,uBAAMA,UAAU,GAAhB,SAAoBqZ,EAAoBlG,kBAQpD,wBAGA,eAAChQ,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASy1C,GAAc,OAAS,SAA9C,SACE,uBAAK1qC,UAAU,MAAf,UAGE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAASC,MAAO,CAAEhL,QAASu1C,GAAa,OAAS,SAAjE,UAEE,eAACnnC,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,iCAAQqZ,EAAoB9F,UAC5B,qBAAIvT,UAAU,OAAd,SAAsBqZ,EAAoB1E,uBAC1C,qBAAI3U,UAAU,OAAd,SAAsBqZ,EAAoB9G,wCAMhD,eAAC8M,GAAA,EAAD,UACG8qB,IACEp6C,KAAOiT,QAAP,OAAemnC,QAAf,IAAeA,OAAf,EAAeA,EAAyB35B,0BAD1C,OAEC25B,QAFD,IAECA,OAFD,EAECA,EAAyB35B,uBAAuBnX,KAAI,SAACmyC,EAAW34C,GAE9D,OADIyL,cAAYC,QAAQC,IAAI,kDAAZ,OAA+D2rC,QAA/D,IAA+DA,OAA/D,EAA+DA,EAAyB35B,wBAEtG,eAACrN,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,GAAI4qC,cAAe,OAAQC,WAAY,QAAnE,SAEGp0B,KAAiB1G,GAChB,uCACE,gBAACnC,GAAA,EAAD,CAAKjO,MAAO,CAAE8Y,UAAW,SAAzB,UACE,eAACiuB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,GAAE,+BAAiC4xC,EAAUvyC,QAEhD,wBACA,gBAAC+tC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAE6mB,WAAY,EAAGhwB,MAAO4K,IAA5C,UACG8pC,EAAUn4B,OAAQ,QAErB,eAAC2zB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAA6B,CAAEnJ,MAAO4K,IAAnD,SACG9H,GAAE,wCAEL,wBACA,gBAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAE6mB,WAAY,EAAGhwB,MAAO4K,IAA5C,UACG8pC,EAAUnU,OAAQ,QAErB,eAAC2P,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAA6B,CAAEnJ,MAAO4K,IAAnD,SACG9H,GAAE,2CAIP,sBAAKqG,MAAO,CAAE+Y,YAAa,IAA3B,SACE,gBAACguB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,cACI7N,EAAI,UAKZ,uCACE,sBAAKoN,MAAO,CAAE6mB,WAAY,IAA1B,SACE,gBAACkgB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,OAAlC,UACG7N,EAAI,EADP,SAIF,gBAACqb,GAAA,EAAD,WACE,eAAC84B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAOkmC,GAAWvf,SAA/B,SACGhtB,GAAE,+BAAiC4xC,EAAUvyC,QAEhD,wBACA,gBAAC+tC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAA6B,CAAEnJ,MAAO4K,IAAnD,UACG9H,GAAE,sCADL,OAGA,eAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAE6mB,WAAY,EAAGhwB,MAAO4K,IAA5C,SACG8pC,EAAUn4B,SAEb,wBACA,gBAAC2zB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAA6B,CAAEnJ,MAAO4K,IAAnD,UACG9H,GAAE,sCADL,IAC6C,OAE7C,eAACotC,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAE6mB,WAAY,EAAGhwB,MAAO4K,IAA5C,SACG8pC,EAAUnU,gBAOxB,OAIL,eAACzT,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAYC,MAAO,CAAEK,aAAc,IAAzD,UACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,SAOG5sB,EAAoBpI,WAGvB,eAACqS,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP6oC,EAAcwC,EAAwBjsC,MACtCysC,IAAe,GACfjB,IACD,EAPH,SASGrwB,EAAoBrI,cAIzB,eAAC9C,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA1D,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,SAAC/F,GACRqyC,GAAaryC,EAAGoxC,EACjB,EALH,SAOG9wB,EAAoBnF,0BAQ/B,gBAAC9Q,GAAA,EAAD,CAAMpD,UAAU,SAASC,MAAO,CAAEhL,QAASu1C,GAAa,QAAU,QAAlE,UACE,eAACnnC,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,gBAAgBC,MAAK,2BAAOc,GAAUJ,OAAjB,IAAwBL,cAAe,KAA3E,SACG+Y,EAAoBzE,YAIzB,gBAACyK,GAAA,EAAD,WACE,qBAAIrf,UAAU,OAAOC,MAAO,CAAE6vB,YAAa,MAE1Cua,KAA8D,KAAhB,OAArBA,SAAqB,IAArBA,QAAA,EAAAA,GAAuBroC,aAAuBjS,KAAOiT,QAAP,OAAeqnC,SAAf,IAAeA,IAAf,UAAeA,GAAuBz1B,eAAtC,aAAe,EAAgC62B,iBAAtH,OACCpB,SADD,IACCA,IADD,UACCA,GAAuBz1B,eADxB,aACC,EAAgC62B,gBAAgBpyC,KAAI,SAACqyC,EAAO74C,GAC1D,OAAO64C,EAAMC,MAAQlC,IAAeA,IAAeiC,EAAMzyB,GACvD,eAAC9V,GAAA,EAAD,CAAanD,UAAU,eAAvB,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAK,2BAAOc,GAAUC,UAAjB,IAA2BlK,MAAO4K,GAA4BG,WAAY,iBAA5F,SACG6pC,EAAMnI,kBAFD1wC,GASR,IACL,IAED,oBAAGoN,MAAO,CAAEnJ,MAAO4K,GAA4BN,SAAUL,GAAUJ,OAAnE,SAA6E0Y,EAAoBtE,oBAElGxW,QAAQC,IAAI,cAAeqiC,MAI9B,eAACjd,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAYC,MAAO,CAAEK,aAAc,IAAzD,UACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,SAOG5sB,EAAoBpI,WAEvB,eAACqS,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACP2rC,IAAc,GACdE,IAAe,GACfjB,IACD,EAPH,SASGrwB,EAAoBrI,cAIzB,eAAC9C,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA1D,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,SAAC/F,GACRqyC,GAAaryC,EAAGoxC,EACjB,EALH,SAOG9wB,EAAoBnF,+BAUnC,eAAC/Q,GAAA,EAAD,CAAKlD,MAAO,CAAEhL,QAASy1C,KAAgB36C,KAAOiT,QAAQ0kC,GAAc,QAAU,QAA9E,SACE,sBAAK1nC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACG+W,KAAiB1G,GAChB,sBAAKrQ,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,sBAAIA,UAAU,OAAd,UACIjQ,KAAOiT,QAAQ69B,GAA8K,GAA9JkH,EAAkB9G,IAAmB8G,EAAkB9G,GAAgBvhC,MAAQqoC,EAAkB9G,GAAgBvhC,MAAQmhC,EAAYI,GAAgBvhC,MADxL,YAEQuhC,EAAiB,MAEzB,qBAAIjhC,UAAU,OAAd,SAAsBqZ,EAAoBvE,yBAI9C,sBAAK9U,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,sBAAIA,UAAU,OAAd,oBACMihC,EAAiB,EADvB,MAEIlxC,KAAOiT,QAAQ69B,GAA8K,GAA9JkH,EAAkB9G,IAAmB8G,EAAkB9G,GAAgBvhC,MAAQqoC,EAAkB9G,GAAgBvhC,MAAQmhC,EAAYI,GAAgBvhC,SAExL,qBAAIM,UAAU,OAAd,SAAsBqZ,EAAoBvE,2BAOlD,gBAACuK,GAAA,EAAD,WAEE,uBAAKrf,UAAU,OAAOC,MAAOc,GAAUJ,MAAvC,UACG0Y,EAAoBxE,QADvB,KACkCgsB,GAAenrB,GAAU,UAACmrB,EAAYI,UAAb,aAAC,EAA6B6H,cAAc,MAEvG,wBAECuB,KACsC,KAAhB,OAArBA,SAAqB,IAArBA,QAAA,EAAAA,GAAuBroC,YADxB,OAECqoC,SAFD,IAECA,OAAuB1K,UAFxB,OAGC0K,SAHD,IAGCA,OAAuB1K,SAASsB,KAC/BlxC,KAAOiT,QAAP,OAAeqnC,SAAf,IAAeA,IAAf,UAAeA,GAAuB1K,SAASsB,UAA/C,aAAe,EAAiDwK,iBAJlE,OAKCpB,SALD,IAKCA,IALD,UAKCA,GAAuB1K,SAASsB,UALjC,aAKC,EAAiDwK,gBAAgBpyC,KAAI,SAACqyC,EAAO74C,GAAO,IAAD,IACjF,OAAO64C,EAAMC,OAAN,UAAc9K,EAAYI,UAA1B,aAAc,EAA6B6H,gBAAgB,UAAAjI,EAAYI,UAAZ,eAA6B6H,eAAgB4C,EAAMzyB,GACnH,eAAC9V,GAAA,EAAD,CAAKnD,UAAU,eAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,KAAKld,MAAK,2BAAOc,GAAUC,UAAjB,IAA2BlK,MAAO4K,GAA4BG,WAAY,iBAA5F,SACG6pC,EAAMnI,mBAOT,IACL,IAED,oBAAGtjC,MAAO,CAAEnJ,MAAO4K,IAAnB,SAAkD2X,EAAoBtE,uBAK1E,gBAACsK,GAAA,EAAD,WACE,qBAAIrf,UAAU,SACZjQ,KAAOiT,QAAQ69B,IACfhnC,OAAOmV,OAAO6xB,EAAYI,GAAgBT,WAAWnnC,KAAI,SAACzB,EAAM/E,GAAO,IAAD,MACpE,OACE,eAACw1C,GAAD,CACEjvC,GAAI8qC,GAEJtsC,KAAMA,EACN0wC,MAAOz1C,EACP01C,WACER,GAAqBA,EAAkB9G,IAAvC,UAA0D8G,EAAkB9G,UAA5E,OAA0D,EAAmCT,WAA7F,UAA0GuH,EAAkB9G,UAA5H,OAA0G,EAAmCT,UAAU3tC,GAAvJ,UAA4Jk1C,EAAkB9G,UAA9K,aAA4J,EAAmCT,UAAU3tC,GAAK,CAAC,EAEjNkkB,aAAcA,IANTlkB,EASV,OAIL,gBAAC+wB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,UACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,sBAAK,aAAW,MAAMld,MAAO,CAAEK,aAAc,EAAGO,UAAW,EAAGiiC,UAAW,QAAzE,SACGzB,IAAkBN,GAAgBA,EAAe,GAAK2J,KAAgB36C,KAAOiT,QAAQ0kC,GACpF,eAAC,GAAD,CACE7W,KAAM9Z,KAAiB1G,GACvBqY,QAASuY,EAAiB,EAC1BtY,MAAOoY,EACPnY,aAAc,SAACF,GACb4Y,IAAkB,GAClBJ,EAAkBxY,EAAU,GAC5BghB,KACApI,IAAkB,EACnB,IAED,WAKV,gBAACn+B,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAYC,MAAO,CAAEK,aAAc,IAAzD,UACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,SAOG5sB,EAAoBpI,WAEtBgwB,EAAiB,GAAKF,EAAe,KACpC,eAACzd,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPwiC,IAAkB,GAClBJ,EAAkBD,EAAiB,GACnCyI,KACApI,IAAkB,EACnB,EARH,SAUGjoB,EAAoBrI,cAK3B,eAAC9C,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,aAAaC,MAAO,CAAEK,aAAc,IAA1D,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,SAAC/F,GACRqyC,GAAaryC,EAAGoxC,EACjB,EALH,SAOG9wB,EAAoBnF,oCAW1C,E,qBCrjCK03B,GAAY,SAAC,GAAD,IAAGv4B,EAAH,EAAGA,OAAQ5P,EAAX,EAAWA,UAAWC,EAAtB,EAAsBA,YAAamoC,EAAnC,EAAmCA,WAAYC,EAA/C,EAA+CA,WAAYlyC,EAA3D,EAA2DA,EAA3D,OAEhB,eADA,CACA,gBAEE,qBAAIqG,MAAO,CAAE4B,WAAY,gBAAzB,SAGGwR,EAAOk2B,kBAEV,qBAAItpC,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoF9H,EAAkB,UAAhByZ,EAAOnV,KAAmB,uBAAyC,SAAhBmV,EAAOnV,KAAkB,sBAAwC,QAAhBmV,EAAOnV,KAAiB,qBAAuBmV,EAAOnV,QAChP,qBAAI+B,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CwR,EAAO3T,SAC5C,OAAN2T,QAAM,IAANA,OAAA,EAAAA,EAAQ5U,UAAWgS,GAAc,GAAK,wBAAY,qBAAIxQ,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CwR,EAAOo2B,YAAc,EAAIj4C,KAAKmH,MAA8C,KAAvC0a,EAAOo2B,YAActzB,OAAOC,UAAkB,IAAM,KAExL,qBAAIpW,UAAU,aAAd,SACE,sBAAKA,UAAU,MAAf,SACGqT,EAAO5U,SAAWgS,GAAc,GAC/B,sBACEzQ,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGsa,EACd,EALH,SAOE,eAACnR,GAAA,EAAD,CAASxC,MAAO9F,EAAE,iCAAlB,SACE,oBAAGoG,UAAU,cAAcC,MAAO,CAAEnJ,MAAO4K,UAI/C,uCACE,sBACE1B,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAGsa,EAChB,EALH,SAQE,eAACnR,GAAA,EAAD,CAASxC,MAAO9F,EAAE,+BAAlB,SACE,oBAAGoG,UAAU,aAAaC,MAAO,CAAEnJ,MAAO4K,UAI9C,sBACE1B,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR+yC,EAAW/yC,EAAGsa,EACf,EALH,SAOE,eAACnR,GAAA,EAAD,CAASxC,MAAO9F,EAAE,gCAAlB,SACE,eAAC,KAAD,QAIJ,sBACEoG,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR8yC,EAAW9yC,EAAGsa,GAAQ,EACvB,EALH,SAOE,eAACnR,GAAA,EAAD,CAASxC,MAAO9F,EAAE,gCAAlB,SACE,oBAAGoG,UAAU,eAAeC,MAAO,CAAEnJ,MAAO4K,mBA9D1C,EAuUHg+B,GA9PA,WAEb,IAAM1hC,EAAWsE,cACXpD,EAAUqD,cAIVoH,GAHWlH,cAGIC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOmK,YAAxB,KAEjC,EAAwCmN,mBAAS,IAAjD,oBAAOC,EAAP,KAAqBC,EAArB,KACA,EAA0CF,mBAAS,IAAnD,oBAAOi1B,EAAP,KAAsBC,EAAtB,KACA,EAA0Cl1B,mBAAS,GAAnD,oBAAsB0Q,GAAtB,WACA,EAAsC1Q,mBAAS,GAA/C,oBAAOqQ,EAAP,KAEA,GAFA,KAEoBnZ,gBAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAELgJ,EAAevU,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACjC5M,QAAQC,IAAI,eAAgByY,GAC5BtU,qBAAU,WAAO,IAAD,IAEd3E,EAAStB,GAAwB,KAAMwC,EAAStF,IAChDqU,EAAKiJ,eAAL,OAAoBC,QAApB,IAAoBA,GAApB,UAAoBA,EAAOzM,YAA3B,aAAoB,EAAa0M,UACjC,IAAInI,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRsU,GACEA,EAAaG,UACbvd,OAAOmV,OAAOiI,EAAaG,UAAU/d,KAAI,SAACge,EAAMxkB,GAC1CwkB,GAAqB,QAAbA,EAAKC,KACfN,EAAgB,QAEnB,GACJ,GAAE,CAACC,IAEJtU,qBAAU,WACR,IAAIspC,EAAWl8C,KAAOyT,OAAOmG,EAAc,CAAElL,OAAQgS,GAAc,KACnEu7B,EAAiBC,GACjB1tC,QAAQC,IAAI,WAAYytC,EACzB,GAAE,CAACtiC,IAEJhH,qBAAU,WAER,IAAIolB,EAAmBv2B,KAAKw2B,KAAK+jB,EAAcxzC,OAAS,GACxDivB,EAAiBO,EAClB,GAAE,CAACZ,EAAa4kB,IAEjB,IAAMnpC,EAAoB,SAAC7J,EAAGsa,GAAY,IAAD,IACvCta,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAC1EnU,EAAQG,KAAK,CAAEC,SAAU,yCAA0CC,MAAO,CAAE8T,OAAQA,EAAQ+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,SAAU1M,KAAI,OAAEyM,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAajL,MACjJ,EAGKsD,EAAkB,SAAChK,EAAGsa,GAAY,IAAD,EACrCta,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAC1EnU,EAAQG,KAAK,CAAEC,SAAU,yCAA0CC,MAAO,CAAE8T,OAAQA,EAAQ+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WACpH,EAGKwoB,EAAoB,SAAC7mC,GACzBA,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,2CAC1B,EAEK4sC,EAAc,SAACnzC,EAAGsa,EAAQg4B,GAAiB,IAAD,EAuB7B,EAWV,EAjCHR,EAAW,GACXC,EAAU,GACVQ,EAAc,IAElBzxC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACwb,EAAShiB,GAAV,OAAgBg4C,EAASxrC,KAAKqW,GAAWb,EAAQi0B,cAAjD,IAEnCjvC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAAC0xC,EAAa1iB,GAAd,OAAoByiB,EAAQzrC,KAAK0rC,EAAYzK,YAA7C,IAEnCzmC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACkyC,EAAiBljB,GAAlB,OAAwBijB,EAAYjsC,KAAKksC,EAAgB7rC,MAAzD,IAG/BpB,cAAYC,QAAQC,IAAI,cAAe8sC,GAE3CvyC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAC1E9U,QAAQC,IAAI,8BAA+B,CACzCssC,QAASA,EACTD,SAAUA,EACVS,YAAaA,EACbj4B,OAAQA,EACR+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAErBi0B,GACFnsC,EAAQG,KAAK,CACXC,SAAU,mCACVC,MAAO,CACLurC,QAASA,EACTD,SAAUA,EACVS,YAAaA,EACbj4B,OAAQA,EACR+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,YAI3BlY,EAAQG,KAAK,CACXC,SAAU,oCACVC,MAAO,CACLurC,QAASA,EACTD,SAAUA,EACVS,YAAaA,EACbj4B,OAAQA,EACR+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAI9B,EAEK+0B,EAAmB,SAACpzC,EAAGsa,GAC3B,IAAIw3B,EAAW,GACXC,EAAU,GACVQ,EAAc,GAElBzxC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACwb,EAAShiB,GAAV,OAAgBg4C,EAASxrC,KAAKqW,GAAWb,EAAQi0B,cAAjD,IAEnCjvC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAAC0xC,EAAa1iB,GAAd,OAAoByiB,EAAQzrC,KAAK0rC,EAAYzK,YAA7C,IAEnCzmC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACkyC,EAAiBljB,GAAlB,OAAwBijB,EAAYjsC,KAAKksC,EAAgB7rC,MAAzD,IAG/BpB,cAAYC,QAAQC,IAAI,cAAe8sC,GAE3CvyC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAC1EnU,EAAQG,KAAK,CAAEC,SAAU,sCAAuCC,MAAO,CAAEurC,QAASA,EAASD,SAAUA,EAAUS,YAAaA,EAAaj4B,OAAQA,IAClJ,EAEGkE,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GACXA,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,OAAQN,EAAMzM,KAAK+M,MAGhF,OAFInZ,cAAYC,QAAQC,IAAI,QAAS+Y,GAGnC,uCACE,eAAC6Q,GAAD,CAAc3B,MAAM,mBAGpB,gBAACvmB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAWC,MAAO,CAAE8Y,UAAWhC,GAArD,SACE,uBAAK/W,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBpG,EAAE,uCACxB,qBAAIoG,UAAU,OAAd,SAAsBpG,EAAE,4CAE1B,eAACsI,GAAA,EAAD,CAASxC,MAAO9F,EAAE,0CAAlB,SACE,sBAAKoG,UAAU,2BAAf,SACE,sBACEA,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR6mC,EAAkB7mC,EACnB,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,SAAiB3J,EAAE,wCACnB,qBAAI2J,MAAM,MAAV,SAAiB3J,EAAE,mCACnB,qBAAI2J,MAAM,MAAV,SAAiB3J,EAAE,oCACnB,qBAAI2J,MAAM,QACV,qBAAIA,MAAM,MAAV,SAAiB3J,EAAE,0CAIvB,mCACE,wBACC7J,KAAOyT,OAAOmG,EAAc,CAAElL,OAAQgS,GAAc,KAAMpX,KAAI,SAACga,EAAQxgB,GACtE,OAAO,eAAC,GAAD,CAAmBwgB,OAAQA,EAAQ5P,UAAWV,EAAiBW,YAAad,EAAmB08B,YAAaM,EAAmBhmC,EAAGA,GAAlH/G,EACxB,kBAOT9C,KAAOiT,QAAQ2G,IACf,eAACxG,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,uBAAKA,UAAU,MAAf,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAWC,MAAO,CAAE8Y,UAAWhC,GAArD,SACE,uBAAK/W,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBpG,EAAE,sCACxB,qBAAIoG,UAAU,OAAd,SAAsBpG,EAAE,0CAE1B,eAACsI,GAAA,EAAD,CAASxC,MAAO9F,EAAE,0CAAlB,SACE,sBAAKoG,UAAU,2BAAf,SACE,sBACEA,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR6mC,EAAkB7mC,EACnB,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,kBAOxE3R,KAAOiT,QAAQ2G,IACfzP,EAAO+I,MAAM5J,KAAI,SAAC6J,EAAMrQ,GACtB,OACE,uCACE,eAACuQ,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,gBAACsD,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,SAAiB3J,EAAE,wCACnB,qBAAI2J,MAAM,MAAV,SAAiB3J,EAAE,iCACnB,qBAAI2J,MAAM,MAAV,SAAiB3J,EAAE,kCACnB,qBAAI2J,MAAM,MAAV,SAAiB3J,EAAE,kCACnB,qBAAI2J,MAAM,MAAV,SAAiB3J,EAAE,wCAGvB,iCACG7J,KAAOyT,OAAOmG,EAAc,CAAElL,OAAQgS,GAAc,GAAIvS,KAAMgF,EAAKhF,OAAQ7E,KAAI,SAACga,EAAQxgB,GACvF,OAAO,eAAC,GAAD,CAAmBwgB,OAAQA,EAAQ5P,UAAWV,EAAiBW,YAAad,EAAmB08B,YAAaM,EAAmBiM,WAAYK,EAAaJ,WAAYK,EAAkBvyC,EAAGA,GAAzK/G,EACxB,WAIP,0BAGL,cAOhB,EChMcu5C,GA1Ie,SAACp0C,GACzBsG,cAAYC,QAAQC,IAAI,QAASxG,GAEpBsK,cACDC,cACCE,cAFjB,IAIA,EAA4BqU,mBAAS,CAAC,GAAtC,oBAAeu1B,GAAf,WACA,EAA4Cv1B,mBAAS,CAAC,GAAtD,oBAAuBw1B,GAAvB,WACA,EAA4Bx1B,mBAAS,CAAC,GAAtC,oBAAey1B,GAAf,WACA,EAAsCz1B,mBAAS,GAA/C,oBAAoByzB,GAApB,WACA,EAAgCzzB,oBAAS,GAAzC,8BAEAnU,qBAAU,WAAO,IAAD,gBACsB,IAGQ,IAGR,IAGD,IATnC,OAAI3K,QAAJ,IAAIA,GAAJ,UAAIA,EAAOgkB,gBAAX,iBAAI,EAAiBzc,aAArB,OAAI,EAAwB8T,QAC1Bg5B,EAAS,OAACr0C,QAAD,IAACA,GAAD,UAACA,EAAOgkB,gBAAR,iBAAC,EAAiBzc,aAAlB,aAAC,EAAwB8T,QAEpC,OAAIrb,QAAJ,IAAIA,GAAJ,UAAIA,EAAOgkB,gBAAX,iBAAI,EAAiBzc,aAArB,OAAI,EAAwBgkC,gBAC1B+I,EAAiB,OAACt0C,QAAD,IAACA,GAAD,UAACA,EAAOgkB,gBAAR,iBAAC,EAAiBzc,aAAlB,aAAC,EAAwBgkC,gBAE5C,OAAIvrC,QAAJ,IAAIA,GAAJ,UAAIA,EAAOgkB,gBAAX,iBAAI,EAAiBzc,aAArB,OAAI,EAAwBC,QAC1B+sC,EAAS,OAACv0C,QAAD,IAACA,GAAD,UAACA,EAAOgkB,gBAAR,iBAAC,EAAiBzc,aAAlB,aAAC,EAAwBC,QAEpC,OAAIxH,QAAJ,IAAIA,GAAJ,UAAIA,EAAOgkB,gBAAX,iBAAI,EAAiBzc,aAArB,OAAI,EAAwB+jC,OAC1BiH,EAAc,OAACvyC,QAAD,IAACA,GAAD,UAACA,EAAOgkB,gBAAR,iBAAC,EAAiBzc,aAAlB,aAAC,EAAwB+jC,MAE1C,GAAE,IAEH,IAkBMkJ,EAAgB,oEACpB,iCACE,+BACE,sBAAKn0B,IAAI,MAAME,IAAKzoB,EAAQ,KAA0CwD,YAExE,wBACA,iCACE,sBAAI2M,MAAO,CAAEnJ,MAAO4K,IAApB,qCAE4C,WAApC,OAAL1J,QAAK,IAALA,GAAA,UAAAA,EAAOgkB,gBAAP,mBAAiBzc,aAAjB,mBAAwBC,cAAxB,eAAgCtB,MAC7B,8CACyC,UAApC,OAALlG,QAAK,IAALA,GAAA,UAAAA,EAAOgkB,gBAAP,mBAAiBzc,aAAjB,mBAAwBC,cAAxB,eAAgCtB,MAChC,yCACA,uCAEN,sBAAI+B,MAAO,CAAEnJ,MAAO4K,IAApB,gDAA+E1J,QAA/E,IAA+EA,GAA/E,UAA+EA,EAAOgkB,gBAAtF,iBAA+E,EAAiBzc,aAAhG,iBAA+E,EAAwBC,cAAvG,aAA+E,EAAgCE,YAGjH,wBAQA,qBAAIO,MAAO,CAAEnJ,MAAO4K,IAApB,SACE,mDAGF,sBAAIzB,MAAO,CAAEnJ,MAAO4K,IAApB,kCAAiE1J,QAAjE,IAAiEA,GAAjE,UAAiEA,EAAOgkB,gBAAxE,iBAAiE,EAAiBzc,aAAlF,aAAiE,EAAwB+jC,SACzF,qBAAIrjC,MAAO,CAAEnJ,MAAO4K,IAApB,kDACA,sBAAKzB,MAAO,CAAEnJ,MAAO4K,GAA4BG,WAAY,gBAA7D,SACQ,OAAL7J,QAAK,IAALA,GAAA,UAAAA,EAAOgkB,gBAAP,mBAAiBzc,aAAjB,SAAwBgkC,iBAAmBxzC,KAAOiT,QAAP,OAAehL,QAAf,IAAeA,GAAf,UAAeA,EAAOgkB,gBAAtB,iBAAe,EAAiBzc,aAAhC,iBAAe,EAAwBgkC,sBAAvC,iBAAe,EAAwC3uB,eAAvD,aAAe,EAAiD62B,iBAA3G,OACCzzC,QADD,IACCA,GADD,UACCA,EAAOgkB,gBADR,iBACC,EAAiBzc,aADlB,iBACC,EAAwBgkC,sBADzB,iBACC,EAAwC3uB,eADzC,aACC,EAAiD62B,gBAAgBpyC,KAAI,SAACqyC,EAAO74C,GAAO,IAAD,QACjF,OAAO64C,EAAMC,OAAN,OAAc3zC,QAAd,IAAcA,GAAd,UAAcA,EAAOgkB,gBAArB,iBAAc,EAAiBzc,aAA/B,aAAc,EAAwB+jC,SAAc,OAALtrC,QAAK,IAALA,GAAA,UAAAA,EAAOgkB,gBAAP,mBAAiBzc,aAAjB,eAAwB+jC,QAASoI,EAAMzyB,GAAK,6BAAYyyB,EAAMnI,gBAAV1wC,GAAgC,IAC3I,IAED,qDAGJ,wBACA,qBAAIoN,MAAO,CAAEnJ,MAAO4K,IAApB,SACE,mDAEF,sBAAKzB,MAAO,CAAE4B,WAAY,gBAA1B,SACGhI,OAAOmV,OAAP,OAAchX,QAAd,IAAcA,GAAd,UAAcA,EAAOgkB,gBAArB,iBAAc,EAAiBzc,aAA/B,aAAc,EAAwB8T,QAAQha,KAAI,SAACga,EAAQxgB,GAAO,IAAD,gCAChE,OACE,uCACE,yDAC0BwgB,EAAO3T,MADjC,IACyC,KADzC,0BACsE2T,EAAOy1B,aAD7E,IAC4F,KAD5F,qBAAQj2C,GAGF,OAALmF,QAAK,IAALA,GAAA,UAAAA,EAAOgkB,gBAAP,mBAAiBzc,aAAjB,SAAwBgkC,gBAAxB,OACDvrC,QADC,IACDA,GADC,UACDA,EAAOgkB,gBADN,iBACD,EAAiBzc,aADhB,iBACD,EAAwBgkC,sBADvB,OACD,EAAwC5D,UADvC,OAED3nC,QAFC,IAEDA,GAFC,UAEDA,EAAOgkB,gBAFN,iBAED,EAAiBzc,aAFhB,iBAED,EAAwBgkC,sBAFvB,OAED,EAAwC5D,SAAS9sC,KAChD9C,KAAOiT,QAAP,OAAehL,QAAf,IAAeA,GAAf,UAAeA,EAAOgkB,gBAAtB,iBAAe,EAAiBzc,aAAhC,iBAAe,EAAwBgkC,sBAAvC,iBAAe,EAAwC5D,SAAS9sC,UAAhE,aAAe,EAAqD44C,iBAHpE,OAICzzC,QAJD,IAICA,GAJD,UAICA,EAAOgkB,gBAJR,iBAIC,EAAiBzc,aAJlB,iBAIC,EAAwBgkC,sBAJzB,iBAIC,EAAwC5D,SAAS9sC,UAJlD,aAIC,EAAqD44C,gBAAgBpyC,KAAI,SAACqyC,EAAOrjB,GAC/E,OAAOqjB,EAAMC,MAAQt4B,EAAOy1B,cAAgBz1B,EAAOy1B,cAAgB4C,EAAMzyB,GACvE,qBAAWhZ,MAAO,CAAEnJ,MAAO4K,GAA4BG,WAAY,gBAAnE,UACG6pC,EAAMnI,eADT,IAC0B,KACvB,OAFKlb,GAIN,IACL,IAED,qDAIP,MAEH,wBACA,eAACllB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,yBACEld,MAAOc,GAAUS,cACjB1C,QAAS,WAER,EACD1F,GAAG,QACHm0B,UAAU,EANZ,yBA1Ec,EAyFtB,OAAOkf,IAAS9O,OAAO,eAAC6O,EAAD,IAAmBE,SAASC,eAAe,QACnE,EC0WKC,I,OAAS,CACbrF,KAAM,GAKNsF,QAAS,CACP/2B,OAAQ,EACR/gB,QAAS,IAEX+3C,GAAI,CACFh2C,MAAO,UACPgwB,WAAY,GACZ9N,YAAa,GAEbD,UAAW,UACXrY,WAAY,QAEdqsC,IAAK,CACHC,SAAU,EACVC,cAAe,OAEjBvtC,MAAO,CAELqZ,UAAW,UAEbm0B,OAAQ,CAENn0B,UAAW,SACXzY,aAAc,IAEhB6sC,SAAU,CAERr3B,OAAQ,GACRpV,WAAY,QAEdmU,QAAS,CAEPnU,WAAY,OACZU,SAAU,GAEV0lB,WAAY,GACZ9N,YAAa,IAEfo0B,KAAM,CACJt3B,OAAQ,GAERiD,UAAW,WAEbs0B,mBAAoB,CAClBv2C,MAAO,UACPgf,OAAQ,GACRxV,aAAc,GAIhBsmB,SAAU,CACR9Q,OAAQ,GACRxV,aAAc,GAEdyY,UAAW,UACX+N,WAAY,IAEdzT,OAAQ,CACNjS,SAAU,GACV0lB,WAAY,IAEdwmB,SAAU,CACRx3B,OAAQ,GACRxV,aAAc,EACdc,SAAU,GACV2X,UAAW,WAEbwR,MAAO,CACLgjB,eAAgB,EAChBC,iBAAkB,IAClB5O,aAAc,SACd7lB,UAAW,UAEb00B,WAAY,CACVv4C,SAAU,WACVkM,SAAU,GACV7Q,OAAQ,GACRH,KAAM,EACNC,MAAO,EACP0oB,UAAW,SACXjiB,MAAO,QAET42C,YAAa,CACXx4C,SAAU,WACVkM,SAAU,GACV7Q,OAAQ,GACRF,MAAO,GACP0oB,UAAW,QACXjiB,MAAO,QAETysC,eAAgB,KAKHoK,GAhmBmB,SAACC,GAAU,IAAD,oBAEpC1uC,EAAUqD,cAEVvE,EAAWsE,cACbhE,cAAYC,QAAQC,IAAI,OAAQovC,GAEpC,MAAsD92B,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KACA,EAA0Dpa,mBAAS,CAAC,GAApE,oBAAOuzB,EAAP,KAA8BC,EAA9B,KAEA,EAA4CxzB,mBAAS,GAArD,oBAAOue,EAAP,KAAuB+E,EAAvB,KACA,EAAwCtjB,mBAAS,GAAjD,oBAAO+2B,EAAP,KAAqBC,EAArB,KAEA,EAA8Bh3B,qBAA9B,oBAAOg0B,EAAP,KAAgBiD,EAAhB,KACA,EAAgCj3B,qBAAhC,oBAAO+zB,EAAP,KAAiBmD,EAAjB,KACA,EAA+Cl3B,mBAAS,KAAxD,oBAAOm3B,EAAP,KAAwBC,EAAxB,KACA,EAA8Bp3B,mBAAS,IAAvC,oBAAOhV,EAAP,KAAgBqsC,EAAhB,KACA,EAA4Br3B,mBAAS,CAAC,GAAtC,oBAAOzD,EAAP,KAAeg5B,GAAf,KACA,GAA8Bv1B,mBAAS,CAAC,GAAxC,sBAAOjC,GAAP,MAAgBu5B,GAAhB,MACA,GAAwCt3B,mBAAS,MAAjD,sBAAOG,GAAP,MAAqBo3B,GAArB,MACA,GAA4Bv3B,mBAAS,CAAC,GAAtC,sBAAOqyB,GAAP,MAAemF,GAAf,MACA,GAA0Bx3B,mBAAS,CAAC,GAApC,sBAAcy3B,IAAd,aAEA,GAAwCz3B,mBAAS,QAAjD,sBAAOC,GAAP,MAAqBC,GAArB,MAGM/M,GAAYvH,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOyK,SAAxB,IACxB+gC,GAA0BtoC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOqK,iBAAxB,IAEtC2kC,GAAe,WAEflwC,cAAYC,QAAQC,IAAI,eAAgB2c,OAAOszB,WACpD,EAEK1lB,GAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,eAAgBuqB,IAC5CpmB,qBAAU,WAAO,IAAD,EACVsM,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAWvB,OARApZ,EAASb,GAAwB8R,EAAOvE,OAIxCyQ,OAAOuzB,iBAAiB,SAAUF,IAElCA,KAEO,kBAAMrzB,OAAOwzB,oBAAoB,SAAUH,GAA3C,CACR,GAAE,IAEH7rC,qBAAU,WACRomB,IACEA,GAAS3R,UACTvd,OAAOmV,OAAO+Z,GAAS3R,UAAU/d,KAAI,SAACge,EAAMxkB,GACtCwkB,GAAqB,QAAbA,EAAKC,KACfN,GAAgB,QAEnB,GACJ,GAAE,CAAC+R,KAEAzqB,cAAYC,QAAQC,IAAI,YAAayL,IACzCtH,qBAAU,WACRmrC,EAAgBD,EAAe,EAChC,GAAE,CAACD,IAEJjrC,qBAAU,WACR,IAAIsoC,EAAwBl7C,KAAOizB,KAAKgoB,GAAyB,CAAEp6B,aAAcqG,KAG5Eg0B,IACHA,EAAwBl7C,KAAOizB,KAAKgoB,GAAyB,CAAEp6B,aAAc,QAI7E05B,EADEW,GAGuB,CAAC,EAE7B,GAAE,CAACD,KAEJroC,qBAAU,WAAO,IAAD,kBAEVrE,cAAYC,QAAQC,IAAI,cAAeyL,IAE3C,IAAIq5B,EAAK,OAAGr5B,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB0B,SAC/BmD,EAAY1K,GAAgB,IAE5B,IAAIj0B,EAAI,OAAGpF,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB2B,QAG1B8D,EAAY,GACZv/B,GAAQtf,KAAO4yB,QAAQtT,KAAUtf,KAAOiT,QAAQqM,IAClDA,EAAKhZ,SAAQ,SAACgZ,EAAMxc,GAClB+7C,EAAUvvC,KAAV,WAAmBxM,EAAI,GACxB,IAEHk7C,EAAWa,GAEX,IAAI3jC,EAAY,OAAGhB,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,iBAAG,EAAmB91B,cAAtB,aAAG,EAA2B7C,uBAAuB,GAAG6C,OACxE66B,EAAoBjjC,GAEpB,IAAI4jC,EAAa,OAAG5kC,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB91B,OAAO3T,MAC9CyuC,EAAWU,GAAgC,IAE3C,IAAIrvC,EAAM,OAAGyK,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB91B,OAChCg5B,GAAU7sC,GAAkB,CAAC,GAE7B,IAAIqV,EAAO,OAAG5K,SAAH,IAAGA,QAAH,EAAGA,GAAW4K,QAGzB,GAFAu5B,GAAWv5B,GAEN9kB,KAAOiT,QAAP,OAAeiH,SAAf,IAAeA,QAAf,EAAeA,GAAWm+B,gBAIxB,CAAC,IAAD,IACLkG,GAAS,OAACrkC,SAAD,IAACA,IAAD,UAACA,GAAWk/B,cAAZ,iBAAC,EAAmB91B,cAApB,aAAC,EAA2BssB,SACtC,KAN+C,CAC9C,IAAImP,EAAK,OAAG7kC,SAAH,IAAGA,QAAH,EAAGA,GAAWm+B,eACnB9pC,cAAYC,QAAQC,IAAI,QAASswC,GACrCR,GAAUQ,EACX,CAID,IAAIC,EAAmB,OAAG9kC,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,iBAAG,EAAmB91B,cAAtB,aAAG,EAA2BssB,SAGrD,GAFA4O,GAASQ,GAEJh/C,KAAOiT,QAAP,OAAeiH,SAAf,IAAeA,QAAf,EAAeA,GAAWoP,qBAK7B6X,EAAuBvgB,QAL4B,CACnD,IAAIq+B,EAAkB,OAAG/kC,SAAH,IAAGA,QAAH,EAAGA,GAAWoP,oBACpC6X,EAAuB8d,GACnB1wC,cAAYC,QAAQC,IAAI,qBAAsBwwC,EACnD,CAIDhxC,EAASlB,GAA+B,CAAEsC,SAAQ,OAAEI,QAAF,IAAEA,OAAF,EAAEA,EAAQJ,UAAYF,IAExE,IAAImY,EAAI,OAAGpN,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB/xB,SAC9Bi3B,GAAgBh3B,EACjB,GAAE,CAACpN,KAEJtH,qBAAU,WACRssC,YAAW,WACT7U,EAAkB/E,EAAiB,EACpC,GAAE,IACJ,GAAE,CAACyV,EAASD,IAEb,IAAItzB,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IAEjB8wB,GAAgB,SAAC,GAAD,IAAGjvC,EAAH,EAAGA,GAAIxB,EAAP,EAAOA,KAAM0wC,EAAb,EAAaA,MAAOC,EAApB,EAAoBA,WAAYxxB,EAAhC,EAAgCA,aAAhC,OACpB,qCAIGA,IAAiB1G,GAChB,gBAAClN,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,GAAI4qC,cAAe,OAAQC,WAAY,OAAQpyB,UAAWhC,GAAtF,UACE,gBAAC7I,GAAA,EAAD,WACE,eAAC/K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,WACE,eAAC84B,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOU,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAvE,SACGrF,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,SAAUE,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAzE,SACGrF,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,oBAK9E,eAAC9/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,UACE,wBAAMjO,MAAO,CAAEnJ,MAAO,OAAQsK,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA5D,UACkB,IAAfh2C,EAAK0rC,MAAL,OACGjqB,QADH,IACGA,OADH,EACGA,EAAqB1G,2BACN,IAAf/a,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBzG,2BACN,IAAfhb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBxG,2BACN,IAAfjb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBvG,2BACN,IAAflb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBtG,2BACN,IAAfnb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBrG,2BACrB,GACb,MAdH,OAcUqG,QAdV,IAcUA,OAdV,EAcUA,EAAqBhG,cAKnC,eAAClQ,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,UACE,wBAAMjO,MAAO,CAAEnJ,MAAO,OAAQsK,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA5D,UACIh2C,EAAKy/B,QAAUz/B,EAAKy/B,OAAO9+B,OAAS,EAAKX,EAAKy/B,OAA/C,OAAwDhe,QAAxD,IAAwDA,OAAxD,EAAwDA,EAAqB/F,UAC7E,MAFH,OAEU+F,QAFV,IAEUA,OAFV,EAEUA,EAAqBjG,wBAqBrC,sBAAKnT,MAAO,CAAE+Y,YAAa,IAA3B,SACE,gBAACguB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOU,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAvE,cACKtF,EAAQ,EAAK,KAAOlvC,EAAK,WAKlC,gBAAC+J,GAAA,EAAD,CAAKlD,MAAO,CAAEK,aAAc,GAAI4qC,cAAe,OAAQC,WAAY,OAAQpyB,UAAWhC,GAAtF,UACE,sBAAK9W,MAAO,CAAE6mB,WAAY,IAA1B,SACE,gBAACkgB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOU,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAvE,UACGx0C,EAAK,EAAI,KAAOkvC,EAAQ,GAD3B,SAIF,gBAACp6B,GAAA,EAAD,WACE,eAAC/K,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,UACE,eAAC6pB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAES,WAAY,MAAOU,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAvE,SACGrF,GAAcA,EAAW3hB,SAAW2hB,EAAW3hB,SAAWhvB,EAAKgvB,WAElE,eAACogB,GAAA,EAAD,CAAOC,OAAK,EAAChnC,MAAO,CAAEiB,UAAW,SAAUE,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAzE,SACGrF,GAAcA,EAAWtF,aAAesF,EAAWtF,aAAerrC,EAAKqrC,oBAK9E,eAAC9/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,wBAAMld,MAAO,CAAEnJ,MAAO,OAAQsK,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA5D,iBACGv0B,QADH,IACGA,OADH,EACGA,EAAqBhG,OADxB,KACkC,IAChB,IAAfzb,EAAK0rC,MAAL,OACGjqB,QADH,IACGA,OADH,EACGA,EAAqB1G,2BACN,IAAf/a,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBzG,2BACN,IAAfhb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBxG,2BACN,IAAfjb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBvG,2BACN,IAAflb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBtG,2BACN,IAAfnb,EAAK0rC,MAAL,OACEjqB,QADF,IACEA,OADF,EACEA,EAAqBrG,2BACrB,UAKpB,eAAC7P,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,wBAAMld,MAAO,CAAEnJ,MAAO,OAAQsK,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA5D,iBACGv0B,QADH,IACGA,OADH,EACGA,EAAqBjG,cADxB,MAC0C,IACtCxb,EAAKy/B,QAAUz/B,EAAKy/B,OAAO9+B,OAAS,EAAKX,EAAKy/B,OAA/C,OAAwDhe,QAAxD,IAAwDA,OAAxD,EAAwDA,EAAqB/F,wBAnHxE,EA6ItB,OACE,qCACE,eAACnQ,GAAA,EAAD,CAAKlD,MAAO,CAAE8Y,UAAWhC,IAAgB3d,GAAIy0C,EAA7C,SACE,gBAAC3/B,GAAA,EAAD,CAAKjO,MAAO2sC,GAAOC,QAAnB,UACE,eAAC1pC,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKjO,MAAO,CAAE8Y,UAAW,SAAzB,UACE,uBAAM/Y,UAAU,OAAOC,MAAO,CAAES,WAAY,IAAKU,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,IAAnF,SACGK,IAEH,wBACA,uBAAMjuC,UAAU,OAAOC,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA9D,gBAEG3jC,SAFH,IAEGA,IAFH,UAEGA,GAAWk/B,cAFd,iBAEG,EAAmB91B,cAFtB,aAEG,EAA2Bk2B,uBAKlC,eAACpmC,GAAA,EAAD,CAAKnD,UAAU,cAAcC,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAApE,SACE,eAAC1/B,GAAA,EAAD,UACE,sBAAKjO,MAAO2sC,GAAOriB,MAAnB,SACE,sBAAKlS,IAAI,OAAOE,IAAKzoB,EAAQ,KAA0CwD,QAAS2M,MAAO,CAAE3O,MAAO,IAAKD,OAAQ,gBAKnH,eAAC8R,GAAA,EAAD,CAAKnD,UAAU,cAAcC,MAAO,CAAES,WAAY,IAAKU,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,IAAzF,SACE,eAAC1/B,GAAA,EAAD,CAAKjO,MAAK,eAAO2sC,GAAOltC,OAAxB,SACE,gCAA2C,WAA3B,OAATuK,SAAS,IAATA,IAAA,UAAAA,GAAWk/B,cAAX,mBAAmB91B,cAAnB,eAA2BnV,MAAmBmb,EAAoBpG,MAA4C,UAA3B,OAAThJ,SAAS,IAATA,IAAA,UAAAA,GAAWk/B,cAAX,mBAAmB91B,cAAnB,eAA2BnV,MAAkBmb,EAAoBnG,KAAOmG,EAAoBlG,UAIjL,eAAChQ,GAAA,EAAD,CAAKnD,UAAU,cAAcC,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAApE,SACE,eAAC1/B,GAAA,EAAD,CAAKjO,MAAK,eAAO2sC,GAAOM,QAAxB,SACE,kCACG7zB,EAAoBvX,QADvB,MACmCA,SAIvC,eAACqB,GAAA,EAAD,CAAKlD,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA5C,SAEE,gBAAC1/B,GAAA,EAAD,WAEE,+BACE,eAAC,SAAD,CACE9U,GAAIi8B,EACJp1B,MAAO,CAAE5O,OAAQ8pB,OAAOszB,WAAY3P,UAAW,KAC/C3oC,KAAM,CACJhB,OAAQ21C,EACRt0C,SAAU,CACR,CACEF,MAAO+iB,EAAoBlF,cAC3B+6B,OAAQpE,EACR30C,KAAM00C,EACN33C,MAAM,EACNhB,gBAAiB,yBACjBE,YAAa,UACbsxB,YAAa,IACbC,qBAAsB,OACtBH,iBAAkB,OAClB2rB,0BAA2B,OAC3BC,sBAAuB,uBAI7B/6C,QAAS,CACPsB,SAAU,CACRC,SAAS,EACTy5C,KAAK,EACLj3C,UAAW,CACTsH,MAAO,SAAU9H,EAAMzB,GAAO,IAAD,IAC3B,OAAOA,EAAKhB,OAAL,UAAYyC,EAAK,UAAjB,aAAY,EAASlF,QAA0B,IAAhBkF,EAAKW,OAAepC,EAAKhB,OAAL,UAAYyC,EAAK,UAAjB,aAAY,EAASlF,OAAS,IACzF,IAIL48C,MAAO,CACLj4C,MAAO,CACLC,aAAa,EACbW,IAAK,EACLxG,IAAK,EACL89C,SAAU,IAGd/6C,YAAY,EACZC,qBAAqB,OAK3B,wBACA,wBAGU,OAATwV,SAAS,IAATA,OAAWm+B,gBACR,OAACn+B,SAAD,IAACA,QAAD,EAACA,GAAWm+B,gBAAgB/uC,KAAI,SAACwb,EAAShiB,GAAV,OAChC,eAACsQ,GAAA,EAAD,UAEE,eAAC+K,GAAA,EAAD,CAAKjO,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,GAAI1Y,aAAc,EAAGc,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI92C,MAAO,SAA7G,SACGigB,KAAiB1G,GACd,kCAAOwE,EAAQnV,MAAf,MAAyB7M,EAAI,KAC7B,sCAAQA,EAAI,EAAZ,KAAiBgiB,EAAQnV,YAND,IADnC,OAYGuK,SAZH,IAYGA,IAZH,UAYGA,GAAWk/B,cAZd,iBAYG,EAAmB91B,cAZtB,aAYG,EAA2BssB,SAAStmC,KAAI,SAACwb,EAAShiB,GAAV,OACxC,eAACsQ,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKjO,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,GAAI1Y,aAAc,EAAGc,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI92C,MAAO,SAA7G,SACGigB,KAAiB1G,GACd,kCAAOwE,EAAQnV,MAAf,MAAyB7M,EAAI,KAC7B,sCAAQA,EAAI,EAAZ,KAAiBgiB,EAAQnV,YALO,SAYhD,wBACA,wBAGA,eAACyD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOE,IAAd,IAAkB1rC,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI70B,UAAWhC,KAA7E,SACE,gCAAOsC,EAAoBzE,cAI/B,eAACzR,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOE,IAAd,IAAkB1rC,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,GAAI70B,UAAWhC,KAAzE,SACE,kCACGsC,EAAoBjF,YADvB,aACuCf,QADvC,IACuCA,OADvC,EACuCA,EAAQo2B,mBAMlDY,IAA0Bt6C,KAAOiT,QAAP,OAAeqnC,QAAf,IAAeA,GAAf,UAAeA,EAAuBz1B,eAAtC,aAAe,EAAgC62B,iBAAzE,OACCpB,QADD,IACCA,GADD,UACCA,EAAuBz1B,eADxB,aACC,EAAgC62B,gBAAgBpyC,KAAI,SAACqyC,EAAO74C,GAC1D,OAAO64C,EAAMC,OAAN,OAAct4B,QAAd,IAAcA,OAAd,EAAcA,EAAQo2B,eAAqB,OAANp2B,QAAM,IAANA,OAAA,EAAAA,EAAQo2B,cAAeiC,EAAMzyB,GACvE,eAAC9V,GAAA,EAAD,CAAKlD,MAAO2sC,GAAOrJ,eAAnB,SACE,eAACr1B,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOS,oBAAd,IAAkCjsC,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,KAA1E,SACE,gCAAOlC,EAAMnI,eAAiBmI,EAAMnI,eAAiB,WAGvD,IACL,IAED,eAACpgC,GAAA,EAAD,CAAKlD,MAAO2sC,GAAOrJ,eAAnB,SACE,eAACr1B,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOS,oBAAd,IAAkCjsC,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,KAA1E,SACE,gCAAOv0B,EAAoBtE,wBAIjC,wBACA,wBACA,eAAC5R,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOE,IAAd,IAAkB1rC,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI70B,UAAWhC,KAA7E,SACE,gCAAOsC,EAAoBxE,cAI9BA,KAAY9kB,KAAOiT,QAAQ6R,IACxBhb,OAAOmV,OAAO6F,IAASxb,KAAI,SAACm2C,EAAe38C,GAAO,IAAD,MACjD,OACE,uCAEE,eAACsQ,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAO/3B,SAAd,IAAuBzT,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI70B,UAAWhC,KAAlF,SAEE,gCAAOoyB,KAAWp5C,KAAOiT,QAAQmmC,IAA1B,UAAoCA,GAAOt2C,UAA3C,aAAoC,EAAW6M,MAA/C,OAAuD2qC,QAAvD,IAAuDA,OAAvD,EAAuDA,EAAuB1K,SAAS9sC,GAAG6M,YAIrG,eAACyD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOE,IAAd,IAAkB1rC,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,GAAI70B,UAAWhC,KAAzE,SAEE,kCACGsC,EAAoBlF,cADvB,MACyCg1B,GAAOt2C,GAAGi2C,aAAepzB,GAAWyzB,GAAOt2C,GAAGi2C,cAAgB+B,EAASh4C,UAKnHw3C,GAAqB,OAAIA,QAAJ,IAAIA,KAAuB1K,UAAhD,OAA4D0K,QAA5D,IAA4DA,KAAuB1K,SAAS9sC,KAAO9C,KAAOiT,QAAP,OAAeqnC,QAAf,IAAeA,GAAf,UAAeA,EAAuB1K,SAAS9sC,UAA/C,aAAe,EAAoC44C,iBAAtJ,OACCpB,QADD,IACCA,GADD,UACCA,EAAuB1K,SAAS9sC,UADjC,aACC,EAAoC44C,gBAAgBpyC,KAAI,SAACqyC,EAAOrjB,GAC9D,OAAOqjB,EAAMC,MAAQ6D,EAAc1G,cAAgB0G,EAAc1G,cAAgB4C,EAAMzyB,GACrF,qCACE,eAAC9V,GAAA,EAAD,CAAKlD,MAAO2sC,GAAOrJ,eAAnB,SACE,eAACr1B,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOS,oBAAd,IAAkCjsC,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,KAA1E,SAEE,gCAAOlC,EAAMnI,uBAIjB,IACL,IAED,eAACpgC,GAAA,EAAD,CAAKlD,MAAO2sC,GAAOrJ,eAAnB,SACE,eAACr1B,GAAA,EAAD,CAAKjO,MAAK,2BAAO2sC,GAAOS,oBAAd,IAAkCjsC,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,KAA1E,SAEE,gCAAOv0B,EAAoBtE,yBAK/BhlB,KAAOiT,QAAQ6R,KACfhb,OAAOmV,OAAO6F,GAAQhiB,GAAG2tC,WAAWnnC,KAAI,SAACzB,EAAMywB,GAAO,IAAD,MACnD,OAAO,eAACggB,GAAD,CAAejvC,GAAIvG,EAAW+E,KAAMA,EAAM0wC,MAAOjgB,EAAGkgB,WAAYY,IAAUA,GAAOt2C,IAAjB,UAAuBs2C,GAAOt2C,UAA9B,OAAuB,EAAW2tC,WAAlC,UAA+C2I,GAAOt2C,UAAtD,OAA+C,EAAW2tC,UAAUnY,GAApE,UAAyE8gB,GAAOt2C,UAAhF,aAAyE,EAAW2tC,UAAUnY,GAAK,CAAC,EAAGtR,aAAcA,IAA1JsR,EACnC,MAGR,IACC,UAKb,ECtTconB,GAzLK,SAACz3C,GAAW,IAAD,QACvBkH,EAAUqD,cACVvE,EAAWsE,cAEjB,EAAgCwU,oBAAS,GAAzC,oBAAO44B,EAAP,KAAiBC,EAAjB,KAEA,EAAsD74B,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KAEMiY,EAAM,OAAGnxC,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,aAAG,EAAiBzc,MAC5B8T,EAAM,OAAGrb,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,iBAAG,EAAiBzc,aAApB,aAAG,EAAwB8T,OAGpBsgB,mBAEbr1B,cAAYC,QAAQC,IAAI,0BAAZ,OAAuCxG,QAAvC,IAAuCA,GAAvC,UAAuCA,EAAOgkB,gBAA9C,aAAuC,EAAiBzc,OACxE,MAAgCuX,mBAAS,IAAzC,oBAAO1V,EAAP,KAAiBwuC,EAAjB,KAEAjtC,qBAAU,WAKR,GADIrE,cAAYC,QAAQC,IAAI,0BAA2B2qC,GACnDA,GAAM,OAAIA,QAAJ,IAAIA,KAAQ91B,OAAQ,CAAC,IAAD,EAEtBpE,EAAS,CAAE/Q,KAAI,OAAEmV,QAAF,IAAEA,OAAF,EAAEA,EAAQnV,KAAM0S,aAAY,OAAEuG,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,UAC5D9Y,cAAYC,QAAQC,IAAI,8BAA+ByQ,GAE3DjR,EAASV,GAAyB2R,GACnC,CACDjR,EAAS1B,GAAkC,CAAE8C,SAAQ,OAAEiU,QAAF,IAAEA,OAAF,EAAEA,EAAQjU,UAAYF,GAC5E,GAAE,CAACiqC,IAGJ,IAAM/X,EAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAC5B/B,EAAwB/G,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOiK,qBAAxB,IAC1C9G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,oBAAqBiL,GACjD,IAAM0+B,EAA0Bp4C,KAAOizB,KAAKvZ,EAAuB,CAAEmH,aAAcuG,EAAMzM,KAAK0M,WAE1F9Y,cAAYC,QAAQC,IAAI,+BAAgC2pC,GAE5D,IAAMC,EAAwC,OAAvBD,QAAuB,IAAvBA,KAAyBxI,SAAzB,OAAoCwI,QAApC,IAAoCA,OAApC,EAAoCA,EAAyBxI,SAA7D,OAAwEtsB,QAAxE,IAAwEA,OAAxE,EAAwEA,EAAQssB,SAEjG9qB,EAAO,OAAGxB,QAAH,IAAGA,OAAH,EAAGA,EAAQssB,SAEpBrhC,cAAYC,QAAQC,IAAI,uBAAwB4pC,GAEhD9pC,cAAYC,QAAQC,IAAI,8BAA+B4yB,QACrCC,IAAlBD,GAAiD,OAAlBA,GAA0BrhC,KAAO4yB,QAAQyO,IAAkBA,EAAc74B,OAAS,EACnH24B,EAAuBE,EAAc,GAAGviB,gBAExCqiB,EAAuBvgB,IAKzB,IAAIk/B,EAAO,CAAE1G,SAAQf,iBAAgB/uB,sBAAqBxE,UAASzT,YAC/D9C,cAAYC,QAAQC,IAAI,OAAQqxC,GACpCt1C,aAAa+e,QAAQtT,GAAoBtL,KAAK6e,UAAUs2B,IACxD7xC,EAAS,CAAEE,KAAM8H,GAAoB5H,QAASyxC,GAC/C,GAAE,CAACze,EAAe3nB,IAEnB,IA0BMqmC,EAAS,WACTJ,GACFC,GAAY,EAEf,EAEGp4B,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GACXA,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,OAAQN,EAAMzM,KAAK+M,MAGhF,OAFInZ,cAAYC,QAAQC,IAAI,QAAS2Y,GAGnC,qCAIE,uBACEnX,UAAW0vC,EAAW,GAAK,QAC3BvvC,OAAK,EACLF,MAAO,CAAE6V,OAAQ45B,EAAW,EAAI,IAChCK,aAAc,WAAQD,GAAU,EAChCE,YAAa,WAAQF,GAAS,EALhC,UAOA,eAACzsC,GAAA,EAAD,CAAYpD,MAAO,CAAEhL,QAASy6C,EAAW,OAAS,SAAlD,SACE,gBAACvsC,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAKjwB,MAAO,CAAEK,aAAc,IAApC,UACE,iCAAQ+Y,EAAoB/E,kBAC5B,qBAAItU,UAAU,OAAd,SAAsBqZ,EAAoB9E,kCAE1C,qBAAIvU,UAAU,OAAd,SAAsBqZ,EAAoB7E,iBAE5C,gBAACtG,GAAA,EAAD,CAAKgiB,GAAG,IAAR,UACE,sBAAKlwB,UAAU,MAAMC,MAAO,CAAE6V,OAAQ,GAAtC,SACE,iCAAQuD,EAAoBhF,cAE9B,+BACE,uBAAKrU,UAAU,MAAMC,MAAO,CAAE6V,OAAQ,GAAtC,UACE,sBACE7V,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR62C,EAAYxuC,EAAW,EAAIA,EAAW,EAAI,EAC3C,EAJH,SAME,oBAAGpB,UAAW,6BAA8BC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,QAE5E,qBAAI1B,UAAU,OAAOC,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,IAA3D,SACG5X,IAEH,sBACEnB,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR62C,EAAYxuC,EAAW,EACxB,EAJH,SAME,oBAAGpB,UAAW,2BAA4BC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,qBAQpF,sBAAKtI,GAAG,4BAA4B6G,MAAO,CAAE/N,gBAAiB,OAAQqP,SAAUmuC,EAAW,IAAO,KAAlG,SACE,eAACO,GAAD,CAAiCrC,KAAMxsC,GAAsB,OAG/D,eAACwiB,GAAA,EAAD,CAAY5jB,UAAU,OAAOC,MAAO,CAAEhL,QAASy6C,EAAW,OAAS,SAAnE,SACE,gBAACvsC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAK6N,GAAG,IAAI/b,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,SAOG5sB,EAAoBpI,aAGzB,eAAC/C,GAAA,EAAD,CAAK6N,GAAG,IAAI/b,UAAU,aAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,SAAC/F,GA5GpB42C,GAAY,GAGG,EAUfV,YAAW,WACT9zB,OAAO1G,OACR,GAAE,IA+FQ,EALH,SAOG4E,EAAoB5E,mBAQlC,EC+EKm4B,GAAS,CACbrF,KAAM,GAKNsF,QAAS,CACP/2B,OAAQ,EACR/gB,QAAS,IAEX+3C,GAAI,CACFh2C,MAAO,UACPgwB,WAAY,GAEZ/N,UAAW,UACXrY,WAAY,QAEdqsC,IAAK,CACHC,SAAU,EACVC,cAAe,OAEjBvtC,MAAO,CAELqZ,UAAW,UAEbm0B,OAAQ,CAENn0B,UAAW,SACXzY,aAAc,IAEhB6sC,SAAU,CAERr3B,OAAQ,GACRpV,WAAY,QAEdmU,QAAS,CAEPnU,WAAY,OACZU,SAAU,GACV0U,OAAQ,IAEVs3B,KAAM,CACJt3B,OAAQ,GAERiD,UAAW,WAEbs0B,mBAAoB,CAClBv2C,MAAO,UACPgf,OAAQ,GACRxV,aAAc,EAEdyY,UAAW,WAEb6N,SAAU,CACR9Q,OAAQ,GACRxV,aAAc,GAEdyY,UAAW,UACX+N,WAAY,IAEdzT,OAAQ,CACNjS,SAAU,GACV0lB,WAAY,IAEdwmB,SAAU,CACRx3B,OAAQ,GACRxV,aAAc,EACdc,SAAU,GACV2X,UAAW,WAEbwR,MAAO,CACLgjB,eAAgB,EAChBC,iBAAkB,IAClB5O,aAAc,SACd7lB,UAAW,UAEb00B,WAAY,CACVv4C,SAAU,WACVkM,SAAU,GACV7Q,OAAQ,GACRH,KAAM,EACNC,MAAO,EACP0oB,UAAW,SACXjiB,MAAO,QAET42C,YAAa,CACXx4C,SAAU,WACVkM,SAAU,GACV7Q,OAAQ,GACRF,MAAO,GACP0oB,UAAW,QACXjiB,MAAO,QAETysC,eAAgB,CACdjjC,aAAc,KAIHqtC,GAjXmB,SAACC,GAAU,IAAD,gBAEpC1uC,EAAUqD,cAEVvE,EAAWsE,cACbhE,cAAYC,QAAQC,IAAI,OAAQovC,GAEpC,MAAsD92B,mBAAS,CAAC,GAAhE,oBAAOuC,EAAP,KAA4B6X,EAA5B,KACA,EAA0Dpa,mBAAS,CAAC,GAApE,oBAA8BwzB,GAA9B,WAEA,EAA4CxzB,mBAAS,GAArD,oBAAOue,EAAP,KAAuB+E,EAAvB,KACA,EAAwCtjB,mBAAS,GAAjD,oBAAO+2B,EAAP,KAAqBC,EAArB,KAEA,EAA8Bh3B,qBAA9B,oBAAOg0B,EAAP,KAAgBiD,EAAhB,KACA,EAAgCj3B,qBAAhC,oBAAO+zB,EAAP,KAAiBmD,EAAjB,KACA,EAA+Cl3B,mBAAS,KAAxD,oBAAOm3B,EAAP,KAAwBC,EAAxB,KACA,EAA8Bp3B,mBAAS,IAAvC,oBAAOhV,EAAP,KAAgBqsC,EAAhB,KACA,EAA4Br3B,mBAAS,CAAC,GAAtC,oBAAeu1B,GAAf,WAEA,EAAwCv1B,mBAAS,MAAjD,oBAAOG,EAAP,KAAqBo3B,GAArB,KACA,GAA4Bv3B,mBAAS,CAAC,GAAtC,sBAAew3B,IAAf,aACA,GAA0Bx3B,mBAAS,CAAC,GAApC,sBAAcy3B,IAAd,aAEA,GAAwCz3B,mBAAS,QAAjD,sBAAOC,GAAP,MAAqBC,GAArB,MAGM/M,GAAYvH,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOyK,SAAxB,IACxB+gC,GAA0BtoC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOqK,iBAAxB,IAEtCkf,GAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,eAAgBuqB,IAC5CpmB,qBAAU,WAAO,IAAD,EAGVsM,EAAS,CACXvE,KAAM,CACJzR,KAAI,OAAEke,SAAF,IAAEA,IAAF,UAAEA,GAAOzM,YAAT,aAAE,EAAa0M,WAGvBpZ,EAASb,GAAwB8R,EAAOvE,MACzC,GAAE,IAEH/H,qBAAU,WACRomB,IACEA,GAAS3R,UACTvd,OAAOmV,OAAO+Z,GAAS3R,UAAU/d,KAAI,SAACge,EAAMxkB,GACtCwkB,GAAqB,QAAbA,EAAKC,KACfN,GAAgB,QAEnB,GACJ,GAAE,CAAC+R,KAEAzqB,cAAYC,QAAQC,IAAI,YAAayL,IACzCtH,qBAAU,WACRmrC,EAAgBD,EAAe,EAChC,GAAE,CAACD,IAEJjrC,qBAAU,WACR,IAAIsoC,EAAwBl7C,KAAOizB,KAAKgoB,GAAyB,CAAEp6B,aAAcqG,IAG5Eg0B,IACHA,EAAwBl7C,KAAOizB,KAAKgoB,GAAyB,CAAEp6B,aAAc,QAI7E05B,EADEW,GAGuB,CAAC,EAE7B,GAAE,CAACD,KAEJroC,qBAAU,WAAO,IAAD,kBAEVrE,cAAYC,QAAQC,IAAI,cAAeyL,IAE3C,IAAIq5B,EAAK,OAAGr5B,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB0B,SAC/BmD,EAAY1K,GAAgB,IAE5B,IAAIj0B,EAAI,OAAGpF,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB2B,QAG1B8D,EAAY,GACZv/B,GAAQtf,KAAO4yB,QAAQtT,KAAUtf,KAAOiT,QAAQqM,IAClDA,EAAKhZ,SAAQ,SAACgZ,EAAMxc,GAClB+7C,EAAUvvC,KAAV,WAAmBxM,EAAI,GACxB,IAEHk7C,EAAWa,GAEX,IAAI3jC,EAAY,OAAGhB,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,iBAAG,EAAmB91B,cAAtB,aAAG,EAA2B7C,uBAAuB,GAAG6C,OACxE66B,EAAoBjjC,GAEpB,IAAI4jC,EAAa,OAAG5kC,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB91B,OAAO3T,MAC9CyuC,EAAWU,GAAgC,IAE3C,IAAIrvC,EAAM,OAAGyK,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB91B,OAChCg5B,EAAU7sC,GAAkB,CAAC,GAErB,OAAGyK,SAAH,IAAGA,OAAWimC,UAGtB,GAAKngD,KAAOiT,QAAP,OAAeiH,SAAf,IAAeA,QAAf,EAAeA,GAAWm+B,gBAIxB,CAAC,IAAD,IACLkG,GAAS,OAACrkC,SAAD,IAACA,IAAD,UAACA,GAAWk/B,cAAZ,iBAAC,EAAmB91B,cAApB,aAAC,EAA2BssB,SACtC,KAN+C,CAC9C,IAAImP,EAAK,OAAG7kC,SAAH,IAAGA,QAAH,EAAGA,GAAWm+B,eACnB9pC,cAAYC,QAAQC,IAAI,QAASswC,GACrCR,GAAUQ,EACX,CAID,IAAIC,EAAmB,OAAG9kC,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,iBAAG,EAAmB91B,cAAtB,aAAG,EAA2BssB,SAGrD,GAFA4O,GAASQ,GAEJh/C,KAAOiT,QAAP,OAAeiH,SAAf,IAAeA,QAAf,EAAeA,GAAWoP,qBAK7B6X,EAAuBvgB,QAL4B,CACnD,IAAIq+B,EAAkB,OAAG/kC,SAAH,IAAGA,QAAH,EAAGA,GAAWoP,oBACpC6X,EAAuB8d,GACnB1wC,cAAYC,QAAQC,IAAI,qBAAsBwwC,EACnD,CAIDhxC,EAASlB,GAA+B,CAAEsC,SAAQ,OAAEI,QAAF,IAAEA,OAAF,EAAEA,EAAQJ,UAAYF,IAExE,IAAImY,EAAI,OAAGpN,SAAH,IAAGA,IAAH,UAAGA,GAAWk/B,cAAd,aAAG,EAAmB/xB,SAC9Bi3B,GAAgBh3B,EACjB,GAAE,CAACpN,KAEJtH,qBAAU,WACRssC,YAAW,WACT7U,EAAkB/E,EAAiB,EACpC,GAAE,IACJ,GAAE,CAACyV,EAASD,IAEb,IAAItzB,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACXA,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,OAAQN,GAAMzM,KAAK+M,MAGhF,OAFInZ,cAAYC,QAAQC,IAAI,QAAS+Y,IAGnC,uCACE,wBACA,wBACA,eAACpU,GAAA,EAAD,CAAKlD,MAAO2sC,GAAOrF,KAAMnuC,GAAIy0C,EAA7B,SACE,gBAAC3/B,GAAA,EAAD,CAAKjO,MAAO2sC,GAAOC,QAAnB,UACE,eAAC1pC,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKjO,MAAO,CAAE8Y,UAAW,SAAzB,UACE,uBAAM/Y,UAAU,OAAOC,MAAO,CAAES,WAAY,IAAKU,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,IAAnF,SACGK,IAEH,wBACA,uBAAMjuC,UAAU,OAAOC,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAA9D,gBAEG3jC,SAFH,IAEGA,IAFH,UAEGA,GAAWk/B,cAFd,iBAEG,EAAmB91B,cAFtB,aAEG,EAA2Bk2B,uBAKlC,eAACpmC,GAAA,EAAD,CAAKnD,UAAU,cAAcC,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAApE,SACE,eAAC1/B,GAAA,EAAD,UACE,sBAAKjO,MAAO2sC,GAAOriB,MAAnB,SACE,sBAAKlS,IAAI,OAAOE,IAAKzoB,EAAQ,KAA0CwD,QAAS2M,MAAO,CAAE3O,MAAO,IAAKD,OAAQ,gBAKnH,eAAC8R,GAAA,EAAD,CAAKnD,UAAU,cAAcC,MAAO,CAAES,WAAY,IAAKU,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,IAAzF,SACE,eAAC1/B,GAAA,EAAD,CAAKjO,MAAK,eAAO2sC,GAAOltC,OAAxB,SACE,gCAA2C,WAA3B,OAATuK,SAAS,IAATA,IAAA,UAAAA,GAAWk/B,cAAX,mBAAmB91B,cAAnB,eAA2BnV,MAAmBmb,EAAoBpG,MAA4C,UAA3B,OAAThJ,SAAS,IAATA,IAAA,UAAAA,GAAWk/B,cAAX,mBAAmB91B,cAAnB,eAA2BnV,MAAkBmb,EAAoBnG,KAAOmG,EAAoBlG,UAIjL,eAAChQ,GAAA,EAAD,CAAKnD,UAAU,cAAcC,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAApE,SACE,eAAC1/B,GAAA,EAAD,CAAKjO,MAAK,eAAO2sC,GAAOM,QAAxB,SACE,kCACG7zB,EAAoBvX,QADvB,MACmCA,SAIvC,eAACqB,GAAA,EAAD,CAAK/J,GAAIi8B,EAAgBp1B,MAAO,CAAEmB,SAAUwsC,EAAI,OAAGA,QAAH,IAAGA,OAAH,EAAGA,EAAMA,KAAO,IAAhE,SAEE,gBAAC1/B,GAAA,EAAD,WACE,sBAAKlO,UAAU,QAAQC,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,GAAI1nB,MAAO,IAAMD,OAAQ,KAAtF,SACE,eAAC,SAAD,CACE8E,KAAM,CACJhB,OAAQ21C,EACRt0C,SAAU,CACR,CACEF,MAAO+iB,EAAoBlF,cAC3B+6B,OAAQpE,EACR30C,KAAM00C,EACN33C,MAAM,EACNhB,gBAAiB,yBACjBE,YAAa,UACbsxB,YAAa,IACbC,qBAAsB,OACtBH,iBAAkB,OAClB2rB,0BAA2B,OAC3BC,sBAAuB,uBAI7B/6C,QAAS,CACPsB,SAAU,CACRC,SAAS,EACTy5C,KAAK,EACLj3C,UAAW,CACTsH,MAAO,SAAU9H,EAAMzB,GAAO,IAAD,IAC3B,OAAOA,EAAKhB,OAAL,UAAYyC,EAAK,UAAjB,aAAY,EAASlF,QAA0B,IAAhBkF,EAAKW,OAAepC,EAAKhB,OAAL,UAAYyC,EAAK,UAAjB,aAAY,EAASlF,OAAS,IACzF,IAIL48C,MAAO,CACLj4C,MAAO,CACLC,aAAa,EACbW,IAAK,EACLxG,IAAK,EACL89C,SAAU,SAOpB,wBACA,wBACU,OAATtlC,SAAS,IAATA,OAAWm+B,gBACR,OAACn+B,SAAD,IAACA,QAAD,EAACA,GAAWm+B,gBAAgB/uC,KAAI,SAACwb,EAAShiB,GAAV,OAChC,eAACsQ,GAAA,EAAD,CAAKlD,MAAO,CAAE8Y,UAAWhC,IAAzB,SACE,eAAC7I,GAAA,EAAD,CAAKjO,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,GAAI1Y,aAAc,EAAGc,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI92C,MAAO,SAA7G,SACGigB,KAAiB1G,GACd,kCAAOwE,EAAQnV,MAAf,MAAyB7M,EAAI,KAC7B,sCAAQA,EAAI,EAAZ,KAAiBgiB,EAAQnV,YALD,IADnC,OAWGuK,SAXH,IAWGA,IAXH,UAWGA,GAAWk/B,cAXd,iBAWG,EAAmB91B,cAXtB,aAWG,EAA2BssB,SAAStmC,KAAI,SAACwb,EAAShiB,GAAV,OACxC,eAACsQ,GAAA,EAAD,CAAKlD,MAAO,CAAE8Y,UAAWhC,IAAzB,SACE,eAAC7I,GAAA,EAAD,CAAKjO,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,GAAI1Y,aAAc,EAAGc,SAAUwsC,GAAW,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMA,MAAO,EAAI,GAAI92C,MAAO,SAA7G,SACGigB,KAAiB1G,GACd,kCAAOwE,EAAQnV,MAAf,MAAyB7M,EAAI,KAC7B,sCAAQA,EAAI,EAAZ,KAAiBgiB,EAAQnV,YALO,SAYhD,wBACA,wBACA,eAACyD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAYC,MAAO,CAAEK,aAAc,IAAzD,SACE,eAACgjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,SAOG5sB,EAAoBpI,sBAQpC,EC5Gcw+B,GAtJK,SAACz3C,GAAW,IAAD,QACvBkH,EAAUqD,cACVvE,EAAWsE,cACjB,EAAsDwU,mBAASnG,IAA/D,oBAAO0I,EAAP,KAA4B6X,EAA5B,KACA,EAAkDpa,mBAAS,CAAC,GAA5D,oBAA0BkxB,GAA1B,WACA,EAAgClxB,oBAAS,GAAzC,oBAAO44B,EAAP,KACMvG,GADN,KACY,OAAGnxC,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,aAAG,EAAiBzc,OAIhC,EAAgCuX,mBAAS,IAAzC,oBAAO1V,EAAP,KAAiBwuC,EAAjB,KAEIr4B,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GACXA,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,OAAQN,EAAMzM,KAAK+M,MAC5EnZ,cAAYC,QAAQC,IAAI,QAAS2Y,GAErC,IAAI9D,EAAM,OAAGrb,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,iBAAG,EAAiBzc,aAApB,aAAG,EAAwB8T,OAEjC/U,cAAYC,QAAQC,IAAI,0BAAZ,OAAuCxG,QAAvC,IAAuCA,GAAvC,UAAuCA,EAAOgkB,gBAA9C,aAAuC,EAAiBzc,OAExEoD,qBAAU,WAKR,GADIrE,cAAYC,QAAQC,IAAI,0BAA2B2qC,GACnDA,GAAM,OAAIA,QAAJ,IAAIA,KAAQ91B,OAAQ,CAAC,IAAD,EAEtBpE,EAAS,CAAE/Q,KAAI,OAAEmV,QAAF,IAAEA,OAAF,EAAEA,EAAQnV,KAAM0S,aAAY,OAAEuG,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,UAC5D9Y,cAAYC,QAAQC,IAAI,8BAA+ByQ,GAE3DjR,EAASV,GAAyB2R,GACnC,CACDjR,EAAS1B,GAAkC,CAAE8C,SAAQ,OAAEiU,QAAF,IAAEA,OAAF,EAAEA,EAAQjU,UAAYF,GAC5E,GAAE,CAACiqC,IAGJ,IAAM/X,EAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAC5B/B,EAAwB/G,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOiK,qBAAxB,IAC1C9G,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,oBAAqBiL,GACjD,IAAM0+B,EAA0Bp4C,KAAOizB,KAAKvZ,EAAuB,CAAEmH,aAAcuG,EAAMzM,KAAK0M,WAE1F9Y,cAAYC,QAAQC,IAAI,+BAAgC2pC,GAE5D,IAAMC,EAAwC,OAAvBD,QAAuB,IAAvBA,KAAyBxI,SAAzB,OAAoCwI,QAApC,IAAoCA,OAApC,EAAoCA,EAAyBxI,SAA7D,OAAwEtsB,QAAxE,IAAwEA,OAAxE,EAAwEA,EAAQssB,SACvGqI,EAAqBI,GAEjB9pC,cAAYC,QAAQC,IAAI,uBAAwB4pC,GAEhD9pC,cAAYC,QAAQC,IAAI,8BAA+B4yB,QACrCC,IAAlBD,GAAiD,OAAlBA,GAA0BrhC,KAAO4yB,QAAQyO,IAAkBA,EAAc74B,OAAS,EACnH24B,EAAuBE,EAAc,GAAGviB,gBAExCqiB,EAAuBvgB,IAKzB,IAAIk/B,EAAO,CAAE1G,SAAQf,iBAAgB/uB,sBAAqBjY,YACtD9C,cAAYC,QAAQC,IAAI,OAAQqxC,GACpCt1C,aAAa+e,QAAQtT,GAAoBtL,KAAK6e,UAAUs2B,IACxD7xC,EAAS,CAAEE,KAAM8H,GAAoB5H,QAASyxC,GAC/C,GAAE,CAACze,EAAe3nB,IAkBnB,OACE,uCACGimC,EAAW,KAAO,eAACtnB,GAAD,CAAc3B,MAAM,UAGvC,uBAAKzmB,UAAW0vC,EAAW,GAAK,QAASvvC,OAAK,EAACF,MAAO,CAAE6V,OAAQ45B,EAAW,EAAI,IAA/E,UACE,eAACrsC,GAAA,EAAD,CAAYpD,MAAO,CAAEhL,QAASy6C,EAAW,OAAS,SAAlD,SACE,gBAACvsC,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAKjwB,MAAO,CAAEK,aAAc,IAApC,UACE,iCAAQ+Y,EAAoB/E,kBAC5B,qBAAItU,UAAU,OAAd,SAAsBqZ,EAAoB9E,kCAE1C,qBAAIvU,UAAU,OAAd,SAAsBqZ,EAAoB7E,iBAE5C,gBAACtG,GAAA,EAAD,CAAKgiB,GAAG,IAAR,UACE,sBAAKlwB,UAAU,MAAMC,MAAO,CAAE6V,OAAQ,GAAtC,SACE,iCAAQuD,EAAoBhF,cAE9B,+BACE,uBAAKrU,UAAU,MAAMC,MAAO,CAAE6V,OAAQ,GAAtC,UACE,sBACE7V,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR62C,EAAYxuC,EAAW,EAAIA,EAAW,EAAI,EAC3C,EAJH,SAME,oBAAGpB,UAAW,6BAA8BC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,QAE5E,qBAAI1B,UAAU,OAAOC,MAAO,CAAE6mB,WAAY,GAAI9N,YAAa,IAA3D,SACG5X,IAEH,sBACEnB,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR62C,EAAYxuC,EAAW,EACxB,EAJH,SAME,oBAAGpB,UAAW,2BAA4BC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,qBAQpF,sBAAKtI,GAAG,4BAA4B6G,MAAO,CAAE/N,gBAAiB,QAA9D,SACE,eAAC,GAAD,CAAiC07C,KAAMxsC,GAAsB,OAG/D,eAACwiB,GAAA,EAAD,CAAY5jB,UAAU,OAAOC,MAAO,CAAEhL,QAASy6C,EAAW,OAAS,SAAnE,SACE,eAACvsC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAK6N,GAAG,IAAI/b,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,SAOG5sB,EAAoBpI,sBAQpC,ECxJKk/B,GAAoB,SAAC,GAAD,IAAG5M,EAAH,EAAGA,eAAgB9/B,EAAnB,EAAmBA,UAAWC,EAA9B,EAA8BA,YAAaqhC,EAA3C,EAA2CA,YAA3C,OAExB,eADA,CACA,gBACE,qBAAI9kC,MAAO,CAAE4B,WAAY,gBAAzB,SAA4C0hC,EAAe3yB,eAC3D,qBAAI3Q,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoF6hC,EAAe7jC,QACnG,qBAAIO,MAAO,CAAE4B,WAAY,gBAAzB,SAA4C0hC,EAAexhC,cAC3D,8BACGwhC,EAAevhC,UACd,gBAACC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,SAKA,gBAACiC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,iBAA1B,UACE,oBAAGA,UAAU,eADf,UAMJ,qBAAIA,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGwqC,EACd,EALH,SAOE,oBAAGvjC,UAAU,cAAcC,MAAO,CAAEw/B,QAAS8D,EAAevhC,UAAY,GAAM,EAAGlL,MAAO4K,UAG5F,eAACQ,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAGwqC,EAChB,EALH,SAOGA,EAAevhC,UAAY,eAAC,KAAD,CAAoB/B,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,UAGtJ,eAACQ,GAAA,EAAD,CAASxC,MAAM,SAASyC,OAAK,EAA7B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBimC,EAAYhsC,EAAGwqC,EAChB,IAGLxkC,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,mCA/DC,EAkUXowC,GA1PoB,SAACp4C,GAElC,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAGhB,GAFiBE,cAEiBqU,mBAAS,KAA3C,oBAAOwuB,EAAP,KAAkB+K,EAAlB,KACA,EAAkEv5B,mBAAS,IAA3E,oBAAOw5B,EAAP,KAAkCC,EAAlC,KAEA5tC,qBAAU,WAAO,IAAD,EACRnD,EAAM,UAAGxH,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBC,OACjClB,cAAYC,QAAQC,IAAI,kBAAmBgB,GAC3CA,IAAWzP,KAAOiT,QAAQxD,IAC5BxB,EAASlB,GAA+B,CAAEsC,SAAUI,EAAOC,KAAOP,IAEpElB,EAAS2Q,KACV,GAAE,IAGH,IAAM6hC,EAAiC9tC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOqK,iBAAxB,IAE7CuN,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAE7BvI,qBAAU,WAAO,IAAD,MAG0K,GAFpLrE,cAAYC,QAAQC,IAAI,mCAAoCgyC,IAE3DzgD,KAAOiT,QAAQwtC,IAAmCA,EAA+B,GAAGpxC,WAAY,UAAAoxC,EAA+B,UAA/B,eAAmCpxC,aAAnC,UAAgDpH,EAAMgkB,SAASzc,aAA/D,iBAAgD,EAAsBC,cAAtE,aAAgD,EAA8BC,OAC7KnB,cAAYC,QAAQC,IAAI,0CAA2CgyC,EAA+B,GAAGpxC,UACrGd,cAAYC,QAAQC,IAAI,YAAZ,UAAyBxG,EAAMgkB,SAASzc,aAAxC,aAAyB,EAAsBC,OAAOC,KAEtE8wC,EAA6BC,GAC7BA,EAA+Bn6C,SAAQ,SAACo6C,GACtCJ,EAAa,GAAD,oBAAK/K,GAAL,CAAgBmL,EAAS7/B,eACtC,MAED2/B,EAA6B,IAC7BF,EAAa,IAEhB,GAAE,CAACG,IAEJ,IAAM5tC,EAAoB,SAAC7J,EAAGwqC,GAC5BxqC,EAAE8J,iBACF,IAAIoM,EAAS,CACXyhC,iBAAkBnN,EAAe9jC,IACjCuC,WAAYuhC,EAAevhC,WAE7BhE,EAASpB,GAAyBqS,EAAQ/P,GAC3C,EAEKqmC,EAAoB,SAACxsC,EAAGwqC,GAC5BxqC,EAAE8J,iBACF,IAAIoM,EAAS,CACXyhC,iBAAkBnN,EAAe9jC,KAEnCd,wBAAa,CACXC,QAAS,kCACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WpE8bqB,IAAChE,EAAU6E,EoE7bvC3B,GpE6b6BlD,EoE7bKmU,EpE6bKtP,EoE7bGT,EpE6bd,uCAAsB,WAAOlB,GAAP,qBAAAC,EAAA,sEAE1DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFkB,SAGnCC,EAA6BvD,GAHM,gBAIrC,aAAb,QADA3E,EAHkD,EAGlDA,YACA,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,0BAAZ,OAAuCrI,QAAvC,IAAuCA,OAAvC,EAAuCA,EAAMA,MAC7DwI,wBAAa,CACXC,QAAS,6BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAO,IAAD,EAER,OAAE3I,QAAF,IAAEA,GAAF,UAAEA,EAAMA,YAAR,OAAE,EAAYiJ,SAEnBO,EAAON,KAAK,CAAEC,SAAU,0CACzB,OAKY,WAAb,OAAJnJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAI,cAC5BG,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,KAvB7G,kDA0BtDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,IACvIW,EAAON,KAAK,iBAEZJ,MAAM,EAAD,IA/BmD,yBAkC1DjB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAlCkB,6EAAtB,uDoE5b7B,GAEH,CACE9H,MAAO,SACPwI,QAAS,WAAS,KAwBzB,EAEKgE,EAA0B,SAAC/J,EAAGwqC,GAClCxqC,EAAE8J,gBACH,EAGKE,EAAkB,SAAChK,EAAGwqC,EAAgBrlC,GAAU,IAAD,EACnDnF,EAAE8J,iBACF,IAAMrD,EAAM,UAAGxH,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBC,OACjClB,cAAYC,QAAQC,IAAI,6CAA8CgB,GACtElB,cAAYC,QAAQC,IAAI,yCAA0C+kC,GAClEjlC,cAAYC,QAAQC,IAAI,+BAAgCN,GACxDI,cAAYC,QAAQC,IAAI,mCAAoC4Y,GAEhEzY,wBAAa,CACXe,MAAO,UACPd,QAAS,uFACTC,QAAS,CACP,CACEvI,MAAO,MACPwI,QAAS,WACPvE,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU,CAAC,IAC3Dvb,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASmlC,IAChDrkC,EAAQG,KAAK,CAAEC,SAAU,gDAAiDC,MAAO,CAAEC,OAAQA,EAAQ8lC,UAAWluB,IAC/G,GAEH,CAAE9gB,MAAO,KAAMwI,QAAS,WAAS,IAEnCC,eAAe,EAAOC,qBAAqB,GAE9C,EAEK4gC,EAAoB,SAAC7mC,EAAGwqC,EAAgBrlC,GAC5CnF,EAAE8J,gBACH,EA4CD,OACE,uCACE,eAAC,GAAD,IAGA,gBAAC3C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,wCACA,qBAAIA,UAAU,OAAd,mCAEF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,mCAAmCyC,OAAK,EAAvD,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IA7DH,SAACA,EAAGwqC,GAAoB,IAAD,IAClDxqC,EAAE8J,iBACF,IAAMrD,EAAM,OAAGxH,QAAH,IAAGA,GAAH,UAAGA,EAAOgkB,gBAAV,iBAAG,EAAiBzc,aAApB,aAAG,EAAwBC,OACnClB,cAAYC,QAAQC,IAAI,aAAc4Y,GAE1C,IAAIyO,EAAY91B,KAAO+1B,OAAO1O,GAAU,SAAU2O,GAChD,OAAOh2B,KAAOizB,KAAKwtB,EAAgC,CAAE5/B,aAAcmV,EAAY9sB,MAChF,IACGqF,cAAYC,QAAQC,IAAI,YAAaqnB,GACrC91B,KAAOiT,QAAQ6iB,GACjBlnB,wBAAa,CACXe,MAAO,QACPd,QAAS,6CACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EAAOC,qBAAqB,IAG7CL,wBAAa,CACXe,MAAO,UACPd,QAAS,uFACTC,QAAS,CACP,CACEvI,MAAO,MACPwI,QAAS,WACPvE,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU,CAAC,IAC3Dvb,EAAS,CAAEE,KAAMiI,GAAsB/H,QAAS,CAAC,IACjDc,EAAQG,KAAK,CAAEC,SAAU,uDAAwDC,MAAO,CAAEC,OAAQA,EAAQ8lC,UAAWzf,IACtH,GAEH,CAAEvvB,MAAO,KAAMwI,QAAS,WAAS,IAEnCC,eAAe,EAAOC,qBAAqB,GAGhD,CAuBuB6gC,CAAqB9mC,EACtB,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,2BACA,qBAAIA,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCxT,KAAOyT,OAAO8sC,EAA2B,CAAC,GAAGj3C,KAAI,SAACkqC,EAAgB1wC,GACjE,OAAO,eAAC,GAAD,CACL89C,GAAI99C,EACJ0wC,eAAgBA,EAChB9/B,UAAWV,EACXW,YAAad,EACbhB,kBAAmBkB,EACnBw8B,YAAaM,EACbmF,YAAaQ,GAEhB,iBAOX,eAACniC,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,eAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQG,KAAK,CAAEC,SAAU,0CAC1B,EALH,oBAUF,eAAC4O,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,4BAOnC,ECjUKmwC,GAAoB,SAAC,GAAD,IAAGjyC,EAAH,EAAGA,KAAM0yC,EAAT,EAASA,UAAW17C,EAApB,EAAoBA,SAAUquC,EAA9B,EAA8BA,eAAgB9/B,EAA9C,EAA8CA,UAAWotC,EAAzD,EAAyDA,YAAaC,EAAtE,EAAsEA,cAAe/L,EAArF,EAAqFA,YAArF,OAExB,eADA,CACA,gBACE,sBAAI9kC,MAAO,CAAE4B,WAAY,gBAAzB,UACG0hC,EAAeoI,KADlB,MAC2BpI,EAAetqB,MAE1C,qBAAIhZ,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoF6hC,EAAeA,eAAiBA,EAAeA,eAAiBA,EAAewN,OACnK,8BACE,uBAAK/wC,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EACzC,EALH,SAOE,oBAAGvjC,UAAU,cAAcC,MAAO,CAAEnJ,MAAO4K,UAG/C,eAACQ,GAAA,EAAD,CAASxC,MAAM,UAAUyC,OAAK,EAA9B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR83C,EAAY93C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EAC3C,EALH,SAOE,oBAAGvjC,UAAU,6BAA6BC,MAAO,CAAEnJ,MAAO4K,UAG9D,eAACQ,GAAA,EAAD,CAASxC,MAAM,YAAYyC,OAAK,EAAhC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR+3C,EAAc/3C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EAC7C,EALH,SAOE,oBAAGvjC,UAAU,+BAA+BC,MAAO,CAAEnJ,MAAO4K,UAGhE,eAACQ,GAAA,EAAD,CAASxC,MAAM,SAASyC,OAAK,EAA7B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBimC,EAAYhsC,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EAC3C,IAGLxkC,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,sBAAsBC,MAAO,CAAEnJ,MAAO4K,iBA9DrC,EA4bXW,GArXQ,SAACrK,GAAW,IAAD,EAE1BgG,EAAWsE,cACXpD,EAAUqD,cAGVyuC,GAFWvuC,cAEiB,CAChCmO,aAAc,KACd1S,KAAM,GACNwB,MAAO,GACPqC,YAAa,GACb6S,QAAS,CACP62B,gBAAiB,GACjBhtC,QAAQ,GAEVkhC,SAAU,GACVlhC,OAAQ,UACRuD,WAAW,IAEb,EAA0D8U,mBAASk6B,GAAnE,oBAAO3G,EAAP,KAA8BC,EAA9B,KACA,EAAsCxzB,mBAAQ,OAACk6B,QAAD,IAACA,GAAD,UAACA,EAA2Bp8B,eAA5B,aAAC,EAAoC62B,iBAAnF,oBAAOwF,EAAP,KAAoBC,EAApB,KACA,EAAsCp6B,mBAAQ,OAACk6B,QAAD,IAACA,OAAD,EAACA,EAA2BrR,UAA1E,oBAAOkB,EAAP,KAAoBC,EAApB,KACA,EAA0BhqB,oBAAS,GAAnC,oBAAO8uB,EAAP,KAAcC,EAAd,KACA,EAAwC/uB,mBAAS,GAAjD,oBAAOotB,EAAP,KAAqBC,EAArB,KAOAxhC,qBAAU,WAAO,IAAD,EACVrE,cAAYC,QAAQC,IAAI,kDAE5B,IAAMgB,EAAM,UAAGxH,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBC,OAoBrC,GAnBIA,IAAWzP,KAAOiT,QAAQxD,KACxBlB,cAAYC,QAAQC,IAAI,qBAAsBgB,GAClD8qC,EAAyB,CACvB15B,aAAcpR,EAAOoR,aACrB1S,KAAMsB,EAAOtB,KACbwB,MAAOF,EAAOE,MACdqC,YAAavC,EAAOuC,YACpB6S,QAAS,CACP62B,gBAAiB,GACjBhtC,QAAQ,GAEVkhC,SAAU,GACVlhC,OAAQ,UACRuD,WAAW,IAEb8+B,EAAc,OAACthC,QAAD,IAACA,OAAD,EAACA,EAAQmgC,WAIrBplC,aAAaC,QAAQ2L,IAAuB,CAC9C,IAAIgrC,EAAuBz2C,KAAKC,MAAMJ,aAAaC,QAAQ2L,KACvD7H,cAAYC,QAAQC,IAAI,qCAAsC2yC,GAC9D7yC,cAAYC,QAAQC,IAAI,yBAC5B4yC,EAAiCD,EAClC,CAED,OAAO,WAAS,CACjB,GAAE,IAGH,IAAME,EAAyB3uC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOqK,iBAAxB,IAC3ClH,qBAAU,WAAO,IAAD,EACVrE,cAAYC,QAAQC,IAAI,wDACxBF,cAAYC,QAAQC,IAAI,qCAAsC6yC,GAClE,IAAMj6B,EAAQ,UAAGpf,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsB6X,SACnC9Y,cAAYC,QAAQC,IAAI,aAAc4Y,GAC1C,IAAMk6B,EAAuBD,EAAyBA,EAAuB,GAAK,KAC9E/yC,cAAYC,QAAQC,IAAI,0BAA2B8yC,GACnDA,IAAyBvhD,KAAOiT,QAAQsuC,KACtChzC,cAAYC,QAAQC,IAAI,8BAA+B8yC,GAC3D/2C,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU+3B,IAC1DF,EAAiCE,GACjCzL,GAAS,GAEZ,GAAE,CAACwL,IAGJ,IAAME,EAAsB7uC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOwK,2BAAxB,IACxCrH,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,kEACxBF,cAAYC,QAAQC,IAAI,yBAA0B+yC,QAE1BlgB,IAAxBkgB,GAA6D,OAAxBA,GAAiCxhD,KAAOiT,QAAQuuC,KACvFh3C,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAUg4B,IAC1DH,EAAiCG,GAEpC,GAAE,CAACA,IAEJ,IAAMH,EAAmC,SAACD,GAA0B,IAAD,EAGwF,KAFrJ7yC,cAAYC,QAAQC,IAAI,4CAA6C2yC,GAErEA,IAAyBphD,KAAOiT,QAAQmuC,KAA8C,OAApBA,QAAoB,IAApBA,GAAA,UAAAA,EAAsBv8B,eAAtB,SAA+B62B,iBAA/B,OAAkD0F,QAAlD,IAAkDA,KAAsBxR,YAC5I2K,EAAyBv6C,KAAOiT,QAAQmuC,GAAwBH,EAA4BG,GAC5FD,EAAmC,OAApBC,QAAoB,IAApBA,GAAA,UAAAA,EAAsBv8B,eAAtB,SAA+B62B,gBAA/B,OAAiD0F,QAAjD,IAAiDA,GAAjD,UAAiDA,EAAsBv8B,eAAvE,aAAiD,EAA+B62B,gBAAkB,IACjH3K,EAAmC,OAApBqQ,QAAoB,IAApBA,KAAsBxR,SAAtB,OAAiCwR,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAsBxR,SAAW,KAE7ErhC,cAAYC,QAAQC,IAAI,4CAA6C2yC,GAGvE7yC,cAAYC,QAAQC,IAAI,2BAA4B6rC,GACpD/rC,cAAYC,QAAQC,IAAI,iBAAkByyC,GAC1C3yC,cAAYC,QAAQC,IAAI,iBAAkBqiC,EAC/C,EAEK2Q,EAAiB,uCAAG,WAAOz4C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GAArC,iBAAAtlC,EAAA,yDACxBlF,EAAE8J,iBAEW,YAAT3E,EAHoB,gCAIamY,GAAa46B,EAAa,WAAY/7C,EAAU,MAJ7D,OAIlBu8C,EAJkB,OAKlBnzC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACnD1hD,KAAOiT,QAAQyuC,IAClBP,EAAeO,GAPK,0BASJ,YAATvzC,EATa,wBAUlBuzC,EAAyB5Q,EAVP,UAWuCxqB,GAAao7B,EAAuBb,GAAWnF,gBAAiB,WAAYv2C,EAAU,MAX7H,QAWtBu8C,EAAuBb,GAAvB,gBAXsB,OAYlBtyC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACnD1hD,KAAOiT,QAAQyuC,IAClB3Q,EAAe2Q,GAdK,QAkBxBC,IAlBwB,4CAAH,8DAsBjBC,EAAmB,uCAAG,WAAO54C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GAArC,iBAAAtlC,EAAA,yDAC1BlF,EAAE8J,iBAEW,YAAT3E,EAHsB,gCAIWmY,GAAa46B,EAAa,SAAU/7C,EAAU,MAJzD,OAIpBu8C,EAJoB,OAKpBnzC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACnD1hD,KAAOiT,QAAQyuC,IAClBP,EAAeO,GAPO,0BASN,YAATvzC,EATe,wBAUpBuzC,EAAyB5Q,EACzBviC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACpDnzC,cAAYC,QAAQC,IAAI,cAAeoyC,GACvCtyC,cAAYC,QAAQC,IAAI,aAActJ,GAblB,UAcqCmhB,GAAao7B,EAAuBb,GAAWnF,gBAAiB,SAAUv2C,EAAU,MAdzH,QAcxBu8C,EAAuBb,GAAvB,gBAdwB,OAepBtyC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACnD1hD,KAAOiT,QAAQyuC,IAClB3Q,EAAe2Q,GAjBO,QAqB1BC,IArB0B,4CAAH,8DAyBnBnM,EAAiB,uCAAG,WAAOxsC,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GAArC,iBAAAtlC,EAAA,yDACxBlF,EAAE8J,iBAEW,YAAT3E,EAHoB,gCAIamY,GAAa46B,EAAa,SAAU/7C,EAAU,MAJ3D,OAIlBu8C,EAJkB,OAKlBnzC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACnD1hD,KAAOiT,QAAQyuC,IAClBP,EAAeO,GAPK,0BASJ,YAATvzC,EATa,wBAUlBuzC,EAAyB5Q,EAVP,UAWuCxqB,GAAao7B,EAAuBb,GAAWnF,gBAAiB,SAAUv2C,EAAU,MAX3H,QAWtBu8C,EAAuBb,GAAvB,gBAXsB,OAYlBtyC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACnD1hD,KAAOiT,QAAQyuC,IAClB3Q,EAAe2Q,GAdK,QAkBxBC,IAlBwB,4CAAH,8DAsBjB3uC,EAAkB,SAAChK,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GACrDxqC,EAAE8J,iBACFwnC,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EACpCtmC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDnrC,EAAQG,KAAK,CAAEC,SAAU,qDAAsDC,MAAO,CAAErB,KAAMA,EAAM0yC,UAAWA,EAAW17C,SAAUA,IACrI,EAGK2qC,EAAuB,SAAC9mC,EAAGmF,EAAM0yC,EAAW17C,GAChD6D,EAAE8J,iBACFwnC,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EACpCtmC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDnrC,EAAQG,KAAK,CAAEC,SAAU,qDAAsDC,MAAO,CAAErB,KAAMA,EAAM0yC,UAAWA,EAAW17C,SAAUA,IACrI,EAEKw8C,EAA6B,WACjCrH,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EAChCviC,cAAYC,QAAQC,IAAI,0BAA2B6rC,GACvDC,EAAyBD,GACzB9vC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDlG,EAAgBD,EAAe,EAChC,EAYD,OACE,uCACE,eAAC,GAAD,IAGA,gBAAChkC,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBqqC,EAAsB3qC,MAAQ2qC,EAAsB3qC,MAAQ,oBAClF,qBAAIM,UAAU,OAAd,wCAEF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,yBAAyByC,OAAK,EAA7C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR8mC,EAAqB9mC,EAAG,UAAW,IAAK,EACzC,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,6BACA,qBAAIA,MAAM,MAAV,0BAGJ,wBAAOnK,GAAI8qC,EAAX,SACG+M,GACCA,EAAY53C,KAAI,SAACkqC,EAAgB1wC,GAC/B,OACE,eAAC,GAAD,CAEEqL,KAAM,UACN0yC,UAAW,KACX17C,SAAUrC,EACV0wC,eAAgBA,EAChB9/B,UAAWV,EACX8tC,YAAaW,EACbV,cAAea,EACf5M,YAAaQ,GARR1yC,EAWV,gBAOZguC,GACCA,EAAYtoC,OAAS,GACrBsoC,EAAYxnC,KAAI,SAACwb,EAAShiB,GACxB,OACE,eAACsQ,GAAA,EAAD,CAAanD,UAAU,OAAvB,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsB6U,EAAQnV,QAC9B,qBAAIM,UAAU,OAAd,uCAEF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,yBAAyByC,OAAK,EAA7C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR8mC,EAAqB9mC,EAAG,UAAWlG,GAAI,EACxC,EALH,SAOE,oBAAGmN,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,6BACA,qBAAIA,MAAM,MAAV,0BAGJ,kCACU,OAAPsR,QAAO,IAAPA,OAAA,EAAAA,EAAS42B,mBACR,OAAC52B,QAAD,IAACA,OAAD,EAACA,EAAS42B,iBAAiBpyC,KAAI,SAACkqC,EAAgBlb,GAC9C,OACE,eAAC,GAAD,CAEEnqB,KAAM,UACN0yC,UAAW/9C,EACXqC,SAAUmzB,EACVkb,eAAgBA,EAChB9/B,UAAWV,EACX8tC,YAAaW,EACbV,cAAea,EACf5M,YAAaQ,GARRld,EAWV,eAhDHx1B,EAuDb,IAGH,eAACuQ,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,eAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,CAAK/J,GAAI8qC,EAAT,UACE,gBAACh2B,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPvE,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU,CAAC,IAC3D4B,OAAOjc,QAAQguB,MAChB,EANH,kBAWA,eAAC5J,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WAtJnBR,cAAYC,QAAQC,IAAI,WAAYonC,GACpCA,EACF5nC,EAASrB,GAAqB0tC,EAAuBnrC,KAErDmrC,EAAqB,iBAAuBA,EAAsB5qC,IAClEzB,EAASpB,GAAyBytC,EAAuBnrC,IAmJ5C,EALH,qBAUF,eAACgP,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,4BAOnC,ECrbKmwC,GAAoB,SAAC,GAAD,IAAGjyC,EAAH,EAAGA,KAAM0yC,EAAT,EAASA,UAAW17C,EAApB,EAAoBA,SAAUquC,EAA9B,EAA8BA,eAAgB9/B,EAA9C,EAA8CA,UAAWotC,EAAzD,EAAyDA,YAAaC,EAAtE,EAAsEA,cAAe/L,EAArF,EAAqFA,YAArF,OAExB,eADA,CACA,gBACE,sBAAI9kC,MAAO,CAAE4B,WAAY,gBAAzB,UACG0hC,EAAeoI,KADlB,MAC2BpI,EAAetqB,MAE1C,qBAAIhZ,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoF6hC,EAAeA,iBACnG,8BACE,uBAAKvjC,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EACzC,EALH,SAOE,oBAAGvjC,UAAU,cAAcC,MAAO,CAAEw/B,QAAS8D,EAAevhC,UAAY,GAAM,SAGlF,eAACE,GAAA,EAAD,CAASxC,MAAM,UAAUyC,OAAK,EAA9B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR83C,EAAY93C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EAC3C,EALH,SAOE,oBAAGvjC,UAAU,6BAA6BC,MAAO,CAAEnJ,MAAO4K,UAG9D,eAACQ,GAAA,EAAD,CAASxC,MAAM,YAAYyC,OAAK,EAAhC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR+3C,EAAc/3C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EAC7C,EALH,SAOE,oBAAGvjC,UAAU,+BAA+BC,MAAO,CAAEnJ,MAAO4K,UAGhE,eAACQ,GAAA,EAAD,CAASxC,MAAM,SAASyC,OAAK,EAA7B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBimC,EAAYhsC,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,EAC3C,IAGLxkC,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,sBAAsBC,MAAO,CAAEnJ,MAAO4K,iBA9DrC,EAgiBXW,GAzdQ,SAACrK,GAAW,IAAD,EAE1BgG,EAAWsE,cACXpD,EAAUqD,cAGVyuC,GAFWvuC,cAEiB,CAChCmO,aAAc,KACd1S,KAAM,GACNwB,MAAO,GACPqC,YAAa,GACb6S,QAAS,CACP62B,gBAAiB,GACjBhtC,QAAQ,GAEVkhC,SAAU,GACVlhC,OAAQ,UACRuD,WAAW,IAEb,EAA0D8U,mBAASk6B,GAAnE,oBAAO3G,EAAP,KAA8BC,EAA9B,KACA,EAAsCxzB,mBAAQ,OAACk6B,QAAD,IAACA,GAAD,UAACA,EAA2Bp8B,eAA5B,aAAC,EAAoC62B,iBAAnF,oBAAOwF,EAAP,KAAoBC,EAApB,KACA,EAAsCp6B,mBAAQ,OAACk6B,QAAD,IAACA,OAAD,EAACA,EAA2BrR,UAA1E,oBAAOkB,EAAP,KAAoBC,EAApB,KACA,EAA0BhqB,oBAAS,GAAnC,oBAAO8uB,EAAP,KACA,GADA,KACwC9uB,mBAAS,KAAjD,oBAAOgvB,EAAP,KAAqBC,EAArB,KACA,EAA4DjvB,mBAAS,IAArE,oBACA,GADA,UACwCA,mBAAS,IAAjD,oBAAOotB,EAAP,KAAqBC,EAArB,KAGM5C,EAAU5N,mBAOhBhxB,qBAAU,WAAO,IAAD,IACXrE,cAAYC,QAAQC,IAAI,kDAC3B,IAAIozC,EAAgB,CAAC,EAGfpyC,EAAM,UAAGxH,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBC,OACjCA,IAAWzP,KAAOiT,QAAQxD,KACzBlB,cAAYC,QAAQC,IAAI,gBAAiBgB,GAC5CoyC,EAAgB,CACdhhC,aAAcpR,EAAOoR,aACrB1S,KAAMsB,EAAOtB,KACbwB,MAAOF,EAAOE,MACdqC,YAAavC,EAAOuC,YACpB6S,QAAS,CACP62B,gBAAiB,GACjBhtC,QAAQ,GAEVkhC,SAAU,GACVlhC,OAAQ,UACRuD,WAAW,GAEb8+B,EAAc,OAACthC,QAAD,IAACA,OAAD,EAACA,EAAQmgC,WAIzB,IAAM2F,EAAS,UAAGttC,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsB+lC,UAQxC,GAPIA,IAAcv1C,KAAOiT,QAAQsiC,KAC/BsM,EAAa,aAAmBtM,EAChCS,EAAgBT,IAElBgF,EAAyBsH,GAGrBr3C,aAAaC,QAAQ2L,IAAuB,CAC9C,IAAIgrC,EAAuBz2C,KAAKC,MAAMJ,aAAaC,QAAQ2L,KACxD7H,cAAYC,QAAQC,IAAI,qCAAsC2yC,GAC9D7yC,cAAYC,QAAQC,IAAI,yBAC3B4yC,EAAiCD,EAClC,CAID,OAFAnzC,EAAS2Q,MAEF,WAAQ,CAChB,GAAE,IAGH,IAAM4iC,EAAsB7uC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOwK,2BAAxB,IACxCrH,qBAAU,WACLrE,cAAYC,QAAQC,IAAI,kEACxBF,cAAYC,QAAQC,IAAI,yBAA0B+yC,QAEzBlgB,IAAxBkgB,GAA6D,OAAxBA,GAAiCxhD,KAAOiT,QAAQuuC,KACvFh3C,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAUg4B,IACvDjzC,cAAYC,QAAQC,IAAI,yBAC3B4yC,EAAiCG,GAEpC,GAAE,CAACA,IAEJ,IAAMH,EAAmC,SAACD,GAA0B,IAAD,EAGjE,GAFG7yC,cAAYC,QAAQC,IAAI,4CAA6C2yC,GAEpEA,IAAyBphD,KAAOiT,QAAQmuC,KAA8C,OAApBA,QAAoB,IAApBA,GAAA,UAAAA,EAAsBv8B,eAAtB,SAA+B62B,iBAA/B,OAAkD0F,QAAlD,IAAkDA,KAAsBxR,UAAW,CAAC,IAAD,IACvJ2K,EAAyBv6C,KAAOiT,QAAQmuC,GAAwBH,EAA4BG,GAC5FD,EAAmC,OAApBC,QAAoB,IAApBA,GAAA,UAAAA,EAAsBv8B,eAAtB,SAA+B62B,gBAA/B,OAAiD0F,QAAjD,IAAiDA,GAAjD,UAAiDA,EAAsBv8B,eAAvE,aAAiD,EAA+B62B,gBAAkB,IACjH3K,EAAmC,OAApBqQ,QAAoB,IAApBA,KAAsBxR,SAAtB,OAAiCwR,QAAjC,IAAiCA,OAAjC,EAAiCA,EAAsBxR,SAAW,IAEjF,IAAIkS,EAAgB9hD,KAAOizB,KAAKmuB,EAAqBrL,aAAc,CAAE7sC,KAAMk4C,EAAqBvgC,eAEhG2wB,EAAQ7Y,QAAQiZ,cAAc,WAA9B,OAA0CkQ,QAA1C,IAA0CA,OAA1C,EAA0CA,EAAexiC,MAAM,EAChE,MACI/Q,cAAYC,QAAQC,IAAI,4CAA6C2yC,GAGvE7yC,cAAYC,QAAQC,IAAI,2BAA4B6rC,GACpD/rC,cAAYC,QAAQC,IAAI,iBAAkByyC,GAC1C3yC,cAAYC,QAAQC,IAAI,iBAAkBqiC,EAC9C,EAEKj+B,EAAoB,SAAC7J,EAAGyG,GAC5BzG,EAAE8J,gBACH,EAGKC,EAA0B,SAAC/J,EAAGyG,GAClCzG,EAAE8J,gBACH,EAGKE,EAAkB,SAAChK,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GACrDxqC,EAAE8J,iBAECvE,cAAYC,QAAQC,IAAI,iCAAkConC,GAC1DtnC,cAAYC,QAAQC,IAAI,6CAA8CN,GAEzEmsC,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EACpCtmC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDnrC,EAAQG,KAAK,CAAEC,SAAU,qDAAsDC,MAAO,CAAErB,KAAMA,EAAM0yC,UAAWA,EAAW17C,SAAUA,IACrI,EAGK0qC,EAAoB,SAAC7mC,EAAGyG,EAAQtB,GACpCnF,EAAE8J,gBACH,EAGKg9B,EAAuB,SAAC9mC,EAAGmF,EAAM0yC,EAAW17C,GAChD6D,EAAE8J,iBAECvE,cAAYC,QAAQC,IAAI,iCAAkConC,GAC1DtnC,cAAYC,QAAQC,IAAI,6CAA8CN,GACzEmsC,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EACpCtmC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDnrC,EAAQG,KAAK,CAAEC,SAAU,qDAAsDC,MAAO,CAAErB,KAAMA,EAAM0yC,UAAWA,EAAW17C,SAAUA,IACrI,EAYKs8C,EAAiB,uCAAG,WAAOz4C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GAArC,iBAAAtlC,EAAA,yDACxBlF,EAAE8J,iBAEW,YAAT3E,EAHoB,gCAIamY,GAAa46B,EAAa,WAAY/7C,EAAU,MAJ7D,OAIlBu8C,EAJkB,OAKnBnzC,cAAYC,QAAQC,IAAI,2BAA4BizC,GAClD1hD,KAAOiT,QAAQyuC,IAClBP,EAAeO,GAPK,0BASJ,YAATvzC,EATa,wBAUlBuzC,EAAyB5Q,EAVP,UAWuCxqB,GAAao7B,EAAuBb,GAAWnF,gBAAiB,WAAYv2C,EAAU,MAX7H,QAWtBu8C,EAAuBb,GAAvB,gBAXsB,OAYnBtyC,cAAYC,QAAQC,IAAI,2BAA4BizC,GAClD1hD,KAAOiT,QAAQyuC,IAClB3Q,EAAe2Q,GAdK,QAkBxBC,IAlBwB,4CAAH,8DAsBjBC,EAAmB,uCAAG,WAAO54C,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GAArC,iBAAAtlC,EAAA,yDAC1BlF,EAAE8J,iBAEW,YAAT3E,EAHsB,gCAIWmY,GAAa46B,EAAa,SAAU/7C,EAAU,MAJzD,OAIpBu8C,EAJoB,OAKrBnzC,cAAYC,QAAQC,IAAI,2BAA4BizC,GAClD1hD,KAAOiT,QAAQyuC,IAClBP,EAAeO,GAPO,0BASN,YAATvzC,EATe,wBAUpBuzC,EAAyB5Q,EAC1BviC,cAAYC,QAAQC,IAAI,2BAA4BizC,GACpDnzC,cAAYC,QAAQC,IAAI,cAAeoyC,GACvCtyC,cAAYC,QAAQC,IAAI,aAActJ,GAbjB,UAcqCmhB,GAAao7B,EAAuBb,GAAWnF,gBAAiB,SAAUv2C,EAAU,MAdzH,QAcxBu8C,EAAuBb,GAAvB,gBAdwB,OAerBtyC,cAAYC,QAAQC,IAAI,2BAA4BizC,GAClD1hD,KAAOiT,QAAQyuC,IAClB3Q,EAAe2Q,GAjBO,QAqB1BC,IArB0B,4CAAH,8DAyBnBnM,EAAiB,uCAAG,WAAOxsC,EAAGmF,EAAM0yC,EAAW17C,EAAUquC,GAArC,iBAAAtlC,EAAA,yDACxBlF,EAAE8J,iBAEW,YAAT3E,EAHoB,gCAIamY,GAAa46B,EAAa,SAAU/7C,EAAU,MAJ3D,OAIlBu8C,EAJkB,OAKnBnzC,cAAYC,QAAQC,IAAI,2BAA4BizC,GAClD1hD,KAAOiT,QAAQyuC,IAClBP,EAAeO,GAPK,0BASJ,YAATvzC,EATa,wBAUlBuzC,EAAyB5Q,EAVP,UAWuCxqB,GAAao7B,EAAuBb,GAAWnF,gBAAiB,SAAUv2C,EAAU,MAX3H,QAWtBu8C,EAAuBb,GAAvB,gBAXsB,OAYnBtyC,cAAYC,QAAQC,IAAI,2BAA4BizC,GAClD1hD,KAAOiT,QAAQyuC,IAClB3Q,EAAe2Q,GAdK,QAkBxBC,IAlBwB,4CAAH,8DAqBjBA,EAA6B,WACjCrH,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EACjCviC,cAAYC,QAAQC,IAAI,0BAA2B6rC,GACtDC,EAAyBD,GACzB9vC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDlG,EAAgBD,EAAe,EAChC,EAED,OACE,uCACE,eAAC,GAAD,IAGA,gBAAChkC,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC/Z,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,UACE,eAACF,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,WACE,eAACoR,GAAA,EAAD,CAAWxG,IAAI,KAAK9Y,UAAU,iCAA9B,sBAGA,uBAAMA,UAAU,2BAAhB,wCAIN,eAACqf,GAAA,EAAD,UACE,eAAClc,GAAA,EAAD,CAAKlD,MAAO,CAAEY,UAAW,GAAIP,cAAe,IAA5C,SACE,eAAC4N,GAAA,EAAD,UACE,eAAC,KAAD,CACEyd,cAAe,CACbmmB,SAAU,IAEZhmB,SAAU,SAAC9c,EAAQ2zB,GACbrkC,cAAYC,QAAQC,IAAIwQ,GAE5B,IAAI+iC,EAAoB1H,EACxB0H,EAAiB,aAAmB/iC,EAAO8iC,SAC3CC,EAAiB,aAAmBjM,CACrC,EACDlD,SAAUrB,EAXZ,SAaG,SAACvpC,GAAD,OACC,eAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOlsB,MAAO,CAAEY,WAAY,IAAMirB,SAAU9zB,EAAMo0B,aAA7D,SACE,eAACjpB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,UACE,eAAC6rB,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SACE,gBAACqjB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8iC,SACpB7tB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAMo0B,aACdnsB,MAAOc,GAAUC,SACjBkjB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ+kB,UAAY9kB,QAAQh1B,EAAM8P,OAAOgqC,UACtD7kB,WAAYj1B,EAAM+0B,QAAQ+kB,UAAY95C,EAAM8P,OAAOgqC,SACnDvkB,UAAWqY,EAbb,UAeE,yBAAepuC,MAAM,IAAT,IACXsuC,EAAazsC,KAAI,SAAC6iB,EAAKrpB,GACtB,OACE,yBAAgB2E,MAAO0kB,EAAIjjB,KAA3B,SACGijB,EAAI7M,MADMxc,EAIhB,cA3BZ,iBA0Cf,eAACsQ,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBqqC,EAAsB3qC,MAAQ2qC,EAAsB3qC,MAAQ,oBAClF,qBAAIM,UAAU,OAAd,wCAEF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,yBAAyByC,OAAK,EAA7C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR8mC,EAAqB9mC,EAAG,UAAW,IAAK,EACzC,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,6BACA,qBAAIA,MAAM,MAAV,0BAGJ,wBAAOnK,GAAI8qC,EAAX,SACG+M,GACCA,EAAY53C,KAAI,SAACkqC,EAAgB1wC,GAC/B,OACE,eAAC,GAAD,CAEEqL,KAAM,UACN0yC,UAAW,KACX17C,SAAUrC,EACV0wC,eAAgBA,EAChB9/B,UAAWV,EACX8tC,YAAaW,EACbV,cAAea,EACf5M,YAAaQ,GARR1yC,EAWV,gBAOZguC,GACCA,EAAYtoC,OAAS,GACrBsoC,EAAYxnC,KAAI,SAACwb,EAAShiB,GACxB,OACE,eAACsQ,GAAA,EAAD,CAAanD,UAAU,OAAvB,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsB6U,EAAQnV,QAC9B,qBAAIM,UAAU,OAAd,uCAEF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,yBAAyByC,OAAK,EAA7C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR8mC,EAAqB9mC,EAAG,UAAWlG,GAAI,EACxC,EALH,SAOE,oBAAGmN,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,6BACA,qBAAIA,MAAM,MAAV,0BAGJ,kCACU,OAAPsR,QAAO,IAAPA,OAAA,EAAAA,EAAS42B,mBACR,OAAC52B,QAAD,IAACA,OAAD,EAACA,EAAS42B,iBAAiBpyC,KAAI,SAACkqC,EAAgBlb,GAC9C,OACE,eAAC,GAAD,CAEEnqB,KAAM,UACN0yC,UAAW/9C,EACXqC,SAAUmzB,EACVkb,eAAgBA,EAChB9/B,UAAWV,EACXW,YAAad,EACbhB,kBAAmBkB,EACnBw8B,YAAaM,EACbiR,YAAaW,EACbV,cAAea,EACf5M,YAAaQ,GAXRld,EAcV,eAnDHx1B,EA0Db,IAGH,eAACuQ,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,eAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPvE,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU,CAAC,IAC3D4B,OAAOjc,QAAQguB,MAChB,EANH,kBAWA,eAAC5J,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,YA/SQ,WAAO,IAAD,EAClCR,cAAYC,QAAQC,IAAI,WAAYonC,GAEvC,IAAImM,EAAoB1H,EAExB0H,EAAiB,SAAjB,UAAgC/5C,EAAMgkB,SAASzc,aAA/C,aAAgC,EAAsBC,OAAOC,IAE7DzB,EAASrB,GAAqBo1C,EAAmB7yC,GAClD,CAwSiB8yC,EACD,EALH,qBAUF,eAAC9jC,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,4BAOnC,ECliBKwtB,GAA2BnC,KAAW,CAC1CsgB,KAAMtgB,KAAW,mBAAmBC,SAAS,oBAE7CrS,GAAIoS,KAAW,mBAAmBC,SAAS,qBAI3CiY,eAAgBlY,OAAagR,KAAK,yBAA0B,CAC1DC,IAAI,EACJ5iC,KAAM2xB,OAAaC,SAAS,gCAG9BylB,KAAM1lB,OAAagR,KAAK,eAAgB,CACtCC,IAAI,EACJ5iC,KAAM2xB,OAAaC,SAAS,uCA2UjB2mB,GAvUmB,SAACj6C,GAAW,IAAD,EACrCgG,EAAWsE,cAGjB,GAFgBC,cAEgBuU,mBAAS,IAAzC,oBAAOo7B,EAAP,KAAiBC,EAAjB,KAEMnB,EAA4B,CAChCpgC,aAAc,KACd1S,KAAM,GACNwB,MAAO,GACPqC,YAAa,GACb6S,QAAS,CACP62B,gBAAiB,GACjBhtC,QAAQ,GAEVkhC,SAAU,GACVlhC,OAAQ,UACRuD,WAAW,GAEb,EAA0D8U,mBAASk6B,GAAnE,oBAAO3G,EAAP,KAA8BC,EAA9B,KACA,EAAsCxzB,mBAAQ,OAACk6B,QAAD,IAACA,GAAD,UAACA,EAA2Bp8B,eAA5B,aAAC,EAAoC62B,iBAAnF,oBAAOwF,EAAP,KAAoBC,EAApB,KACA,EAAsCp6B,mBAAQ,OAACk6B,QAAD,IAACA,OAAD,EAACA,EAA2BrR,UAA1E,oBAAOkB,EAAP,KAAoBC,EAApB,KACA,EAAwBhqB,mBAAS,IAAjC,oBACA,GADA,UACgCA,oBAAU,IAA1C,oBACA,GADA,UACkCA,mBAAS,KAA3C,oBAEA,GAFA,UAEkCA,mBAAS,KAA3C,oBAAOs7B,EAAP,KAAkBC,EAAlB,KACA,EAA4Cv7B,oBAAU,GAAtD,oBAAOw7B,EAAP,KAAuBC,EAAvB,KACA,EAA0Cz7B,oBAAU,GAApD,oBAAO07B,EAAP,KAAsBC,EAAtB,KAEMhnB,EAASC,aAAU,CACvBC,cAAe,CACbggB,KAAM,EACN1yB,GAAI,EACJsqB,eAAgB,GAChBwN,KAAM,GACN7yC,KAAM,GACN0yC,UAAW,GACXtQ,YAAa,GACboS,wBAAwB,EACxBC,cAAc,GAEhB9mB,iBAAkB2B,GAClB1B,SAAU,SAAC9c,EAAQ+c,GAQjB,GAPIztB,cAAYC,QAAQC,IAAI,eAAgB4zC,GACxC9zC,cAAYC,QAAQC,IAAI,oBAAqB8zC,GAC7Ch0C,cAAYC,QAAQC,IAAI,mBAAoBg0C,GAC5Cl0C,cAAYC,QAAQC,IAAI,4BAA6B6rC,GACrD/rC,cAAYC,QAAQC,IAAI,kBAAmByyC,GAC3C3yC,cAAYC,QAAQC,IAAI,kBAAmBqiC,GAE3C2R,GAAiB,EACD,YAAdJ,GACFnB,EAAYuB,GAAZ,KAAqC/mB,EAAOzc,OAAO28B,KACnDsF,EAAYuB,GAAZ,GAAmC/mB,EAAOzc,OAAOiK,GACjDg4B,EAAYuB,GAAZ,eAA+C/mB,EAAOzc,OAAOu0B,eAC7D0N,EAAYuB,GAAZ,KAAqC/mB,EAAOzc,OAAO+hC,KACnDE,EAAYuB,GAAZ,UAA0C/mB,EAAOzc,OAAO4hC,UACxDK,EAAYuB,GAAZ,YAA4C/mB,EAAOzc,OAAOsxB,YAC1DsS,KACuB,YAAdR,GACTvR,EAAYyR,GAAgB7G,gBAAgB+G,GAA5C,KAAqE/mB,EAAOzc,OAAO28B,KACnF9K,EAAYyR,GAAgB7G,gBAAgB+G,GAA5C,GAAmE/mB,EAAOzc,OAAOiK,GACjF4nB,EAAYyR,GAAgB7G,gBAAgB+G,GAA5C,eAA+E/mB,EAAOzc,OAAOu0B,eAC7F1C,EAAYyR,GAAgB7G,gBAAgB+G,GAA5C,KAAqE/mB,EAAOzc,OAAO+hC,KACnFlQ,EAAYyR,GAAgB7G,gBAAgB+G,GAA5C,UAA0E/mB,EAAOzc,OAAO4hC,UACxF/P,EAAYyR,GAAgB7G,gBAAgB+G,GAA5C,YAA4E/mB,EAAOzc,OAAOsxB,YAC1FsS,KAEIt0C,cAAYC,QAAQC,IAAI,gDAEzB,CACL,IAAIiY,EAAO,CAAC,EAQZ,GAPAA,EAAI,KAAWgV,EAAOzc,OAAO28B,KAC7Bl1B,EAAI,GAASgV,EAAOzc,OAAOiK,GAC3BxC,EAAI,eAAqBgV,EAAOzc,OAAOu0B,eACvC9sB,EAAI,KAAWgV,EAAOzc,OAAO+hC,KAC7Bt6B,EAAI,UAAgBgV,EAAOzc,OAAO4hC,UAClCn6B,EAAI,YAAkBgV,EAAOzc,OAAOsxB,YAElB,YAAd8R,EACFnB,EAAY5xC,KAAKoX,GACjBm8B,SACK,GAAkB,YAAdR,EAAyB,CAClC,GAAIvR,EAAYyR,GAAgB7G,gBAC9B5K,EAAYyR,GAAgB7G,gBAAgBpsC,KAAKoX,OAC5C,CACL,IAAIo8B,EAAsB,CAACp8B,GAC3BoqB,EAAYyR,GAAZ,gBAAiDO,EACjDhS,EAAYyR,GAAZ,UAA2CzR,EAAYyR,GAAgB7yC,GACxE,CACDmzC,GACD,MACKt0C,cAAYC,QAAQC,IAAI,+CAE/B,CACF,IAGGo0C,EAAgB,WAChBt0C,cAAYC,QAAQC,IAAI,wBAAyBitB,EAAOzc,OAAOu0B,gBAC9B,KAAjC9X,EAAOzc,OAAOu0B,gBAAgD,KAAvB9X,EAAOzc,OAAO+hC,KAEvD+B,EAAuB,KAEvBzI,EAAqB,QAArB,gBAAsD4G,EACtD5G,EAAqB,SAAexJ,EACpCtmC,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAU8wB,IAC1DrsC,EAAS,CAAEE,KAAMiI,GAAsB/H,QAASisC,IAChDlvB,OAAOjc,QAAQguB,OAElB,EAEDvqB,qBAAU,WACR,IAAK,IAAD,YAI8C,MAK2G,YARvJwuC,EAAuB,GACvB4B,EAAmB,GACnBC,EAAmB,GACvB,GAAIz4C,aAAaC,QAAQ2L,IAKvB,GAJAgrC,EAAuBz2C,KAAKC,MAAMJ,aAAaC,QAAQ2L,KACnD7H,cAAYC,QAAQC,IAAI,sBAAuB2yC,GAG/CA,IAAyBphD,KAAOiT,QAAQmuC,KAA8C,QAApB,EAAAA,SAAA,mBAAsBv8B,eAAtB,SAA+B62B,iBAA/B,UAAkD0F,SAAlD,OAAkD,EAAsBxR,UACxIrhC,cAAYC,QAAQC,IAAI,wBAC5B8rC,EAAyB6G,GACzBD,EAAc,UAACC,SAAD,iBAAC,EAAsBv8B,eAAvB,aAAC,EAA+B62B,iBAC9CsH,EAAgB,UAAG5B,SAAH,iBAAG,EAAsBv8B,eAAzB,aAAG,EAA+B62B,gBAElD3K,EAAc,UAACqQ,SAAD,aAAC,EAAsBxR,UACrCqT,EAAgB,UAAG7B,SAAH,aAAG,EAAsBxR,cAErCrhC,cAAYC,QAAQC,IAAI,4CAA6C2yC,GAI7E,IAAM8B,EAAS,UAAGj7C,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBrB,KAClCg1C,EAAc,UAAGl7C,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBqxC,UACvCuC,EAAa,UAAGn7C,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBrK,SAM5C,GAJAm9C,EAAY,UAACr6C,EAAMgkB,SAASzc,aAAhB,aAAC,EAAsBrB,MACnCq0C,EAAiB,UAACv6C,EAAMgkB,SAASzc,aAAhB,aAAC,EAAsBqxC,WACxC6B,EAAgB,UAACz6C,EAAMgkB,SAASzc,aAAhB,aAAC,EAAsBrK,UAEnCnF,KAAO0yC,SAAS0Q,IAAkBA,GAAiB,EAAG,CACxD,IAAMC,EAAyB,YAAdH,EAA0BF,EAAiBI,GAAiBH,EAAiBE,GAAgBzH,gBAAgB0H,GAC1H70C,cAAYC,QAAQC,IAAI,cAAe40C,GACvCA,GACF3nB,EAAOzc,OAAO28B,KAAe,OAARyH,QAAQ,IAARA,KAAUzH,KAAV,OAAiByH,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAUzH,KAAO,EACvDlgB,EAAOzc,OAAOiK,GAAKm6B,EAASn6B,GAAKm6B,EAASn6B,GAAK,EAC/CwS,EAAOzc,OAAOu0B,eAAyB,OAAR6P,QAAQ,IAARA,KAAU7P,eAAV,OAA2B6P,QAA3B,IAA2BA,OAA3B,EAA2BA,EAAU7P,eAAiB,GACrF9X,EAAOzc,OAAO+hC,KAAe,OAARqC,QAAQ,IAARA,KAAUrC,KAAV,OAAiBqC,QAAjB,IAAiBA,OAAjB,EAAiBA,EAAUrC,KAAO,GACvDtlB,EAAOzc,OAAO4hC,UAAoB,OAARwC,QAAQ,IAARA,KAAUxC,UAAV,OAAsBwC,QAAtB,IAAsBA,OAAtB,EAAsBA,EAAUxC,UAAY,GACtEnlB,EAAOzc,OAAOsxB,YAAsB,OAAR8S,QAAQ,IAARA,KAAU9S,YAAV,OAAwB8S,QAAxB,IAAwBA,OAAxB,EAAwBA,EAAU9S,YAAc,IAExEhiC,cAAYC,QAAQC,IAAI,oBAE/B,MACKF,cAAYC,QAAQC,IAAI,oBAC5BitB,EAAOzc,OAAO28B,KAAO,EACrBlgB,EAAOzc,OAAOiK,GAAK,EACnBwS,EAAOzc,OAAOu0B,eAAiB,GAC/B9X,EAAOzc,OAAO+hC,KAAO,GACrBtlB,EAAOzc,OAAO4hC,UAA0B,YAAdwB,EAA0BE,EAAiB,GACrE7mB,EAAOzc,OAAOsxB,YAAc,GAE9B6R,EAAYD,EAAW,EAGxB,CAFC,MAAOplB,GACHxuB,cAAYC,QAAQC,IAAI,0BAA2BsuB,EACxD,CAED,OAAO,WAAQ,CAChB,GAAE,IAGH,IAAMykB,EAAsB7uC,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOwK,2BAAxB,IACxCrH,qBAAU,gBACoB0uB,IAAxBkgB,GAA6D,OAAxBA,GAAiCxhD,KAAOiT,QAAQuuC,IACvFh3C,aAAa+e,QAAQnT,GAAsBzL,KAAK6e,UAAUg4B,GAE7D,GAAE,CAACA,IAEJ,IAAMuB,EAAyB,SAACvP,EAAgB8P,IACjC,IAATA,GAAiB9P,IACnB9X,EAAOzc,OAAO0jC,wBAAyB,IAG5B,IAATW,GAAkB9P,IACpB9X,EAAOzc,OAAO2jC,cAAe,EAC7BlnB,EAAOzc,OAAO0jC,wBAAyB,GAGpCnP,IACCjlC,cAAYC,QAAQC,IAAI,0BAA2B+kC,GACvD9X,EAAOzc,OAAO0jC,wBAAyB,EAE1C,EAED,OACE,uCACE,eAAC,GAAD,IAEA,eAACxyC,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAO5G,GAAI84C,EAA1B,SACE,sBAAKlyC,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,qBAAIA,UAAU,OAAd,gCAGF,gBAACksB,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAUL,EAAOW,aAAcC,QAASZ,EAAOa,YAAjE,UACE,eAACjN,GAAA,EAAD,UACE,gBAACkN,GAAA,EAAD,CAAWvsB,UAAU,OAArB,UACE,gBAAC,KAAD,CAAMwsB,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,4BAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAGvP,GAAI,EAA7B,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,aACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAO28B,KACrB1nB,SAAUwH,EAAOkB,aAAa,QAC9BG,MAAOrB,EAAOsB,QAAQ4e,MAAQ3e,QAAQvB,EAAO3jB,OAAO6jC,MACpD1e,WAAYxB,EAAOsB,QAAQ4e,MAAQlgB,EAAO3jB,OAAO6jC,SAGrD,eAAC,KAAD,CAAM/zC,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAGvP,GAAI,EAA7B,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,WACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOiK,GACrBgL,SAAUwH,EAAOkB,aAAa,MAC9BG,MAAOrB,EAAOsB,QAAQ9T,IAAM+T,QAAQvB,EAAO3jB,OAAOmR,IAClDgU,WAAYxB,EAAOsB,QAAQ9T,IAAMwS,EAAO3jB,OAAOmR,UAKrD,gBAAC,KAAD,CAAMuT,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,kBAAnC,SACE,oBAAGA,UAAU,qBAEf,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,eAAC7I,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,iBACN0tB,QAAQ,WACRxsB,MAAOi0B,EAAOzc,OAAOu0B,eACrBtf,SAAUwH,EAAOkB,aAAa,kBAC9BkW,OAAQ,SAAC9pC,GAAD,OAAO+5C,EAAuBrnB,EAAOzc,OAAOu0B,gBAAgB,EAA5D,EACR3W,WAAS,EACTC,KAAM,EACNC,MAAOrB,EAAOsB,QAAQwW,gBAAkBvW,QAAQvB,EAAO3jB,OAAOy7B,gBAC9DtW,WAAYxB,EAAOsB,QAAQwW,gBAAkB9X,EAAO3jB,OAAOy7B,sBAIjE,gBAAC,KAAD,CAAM/W,WAAS,EAACzW,QAAS,EAAG0W,WAAW,SAASxsB,MAAOc,GAAUV,KAAjE,UACE,eAAC,KAAD,CAAMzI,MAAI,EAACmkB,GAAI,EAAG2Q,GAAI,EAAG1sB,UAAU,oBACnC,eAAC,KAAD,CAAMpI,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,sBAAKzsB,MAAOc,GAAUM,UAAtB,qDAmCR,eAACuiB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,kBASA,eAAC5J,GAAA,EAAD,CAAQrjB,MAAOc,GAAUS,cAAe1K,MAAM,UAAUoH,KAAK,SAA7D,qBAIF,eAACgQ,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,kCAUzC,ECtVKszC,GAAkB,SAAC,GAAD,QAAGxkB,EAAH,EAAGA,UAAWN,EAAd,EAAcA,aAAcrH,EAA5B,EAA4BA,YAAalc,EAAzC,EAAyCA,aAAcxH,EAAvD,EAAuDA,UAAWC,EAAlE,EAAkEA,YAAlE,OAEtB,eADA,CACA,gBACE,qBAAIzD,MAAO,CAAE4B,WAAY,gBAAzB,SAA4C2sB,GAAgBrH,EAAc,GAAK2H,EAAY,IAC3F,qBAAI7uB,MAAO,CAAE4B,WAAY,gBAAzB,gBAA4CoJ,QAA5C,IAA4CA,GAA5C,UAA4CA,EAAcyP,eAA1D,aAA4C,EAAuBrL,OACnE,qBAAIpP,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,gBAA+EuJ,QAA/E,IAA+EA,OAA/E,EAA+EA,EAAcoE,OAC7F,qBAAIpP,MAAO,CAAE4B,WAAY,gBAAzB,gBAA4CoJ,QAA5C,IAA4CA,OAA5C,EAA4CA,EAAc/M,OAE1D,qBAAI+B,MAAO,CAAE4B,WAAY,gBAAzB,SAAwD,OAAZoJ,QAAY,IAAZA,GAAA,UAAAA,EAAc6rB,mBAAd,SAA2Br4B,OAAS,MAAQ,OACxF,qBAAIuB,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGkS,EACd,EALH,SAOE,oBAAGjL,UAAU,aAAaC,MAAO,CAAEnJ,MAAO4K,UAG9C,eAACQ,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR,IAAIkW,EAAS,CACX2nB,eAAgB3rB,EAAaxL,IAC7BhB,QAASwM,EAAaxM,QAExBiF,EAAY3K,EAAGkW,EAChB,EATH,SAWGhE,EAAaxM,OAAS,eAAC,KAAD,CAAoBwB,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,iBAlCjI,EA+MTg+B,GApKA,WAEb,IAAM1hC,EAAWsE,cACXpD,EAAUqD,cAIVisB,GAHW/rB,cAGIvI,EAAOu0B,gBAC5B,EAAsC3X,mBAAS,GAA/C,oBAAOqQ,EAAP,KAAoBC,EAApB,KACA,EAA8CtQ,mBAAS,IAAvD,oBAAOuQ,EAAP,KAAwBC,EAAxB,KACA,EAA0CxQ,mBAAS,GAAnD,oBAAOyQ,EAAP,KAAsBC,EAAtB,KAEA,EAAkC1Q,mBAAS,IAA3C,oBAAO2Q,EAAP,KAAkBiH,EAAlB,KACA,EAA4C5X,mBAAS,IAArD,oBAAO4Q,EAAP,KAAuBC,EAAvB,KAGM4rB,EAAsB7wC,aAAY,SAACnD,GAAD,OAAWA,EAAM0L,aAAaL,gBAA9B,IAExCjI,qBAAU,WAER3E,EAAShB,KACV,GAAE,CAACu2C,IAGJ,IAAM5oC,EAAkBjI,aAAY,SAACnD,GAAD,OAAWA,EAAM0L,aAAaN,eAA9B,IAGpChI,qBAAU,WAER,IAAImlB,EAAc/3B,KAAOyT,OAAOmH,GAAiB,SAAU/S,GAAO,IAAD,EAC/D,OAASA,EAAKyX,KAAKmkC,cAAehhD,QAAQi1B,EAAU+rB,gBAAkB,IAAK,OAAC57C,QAAD,IAACA,GAAD,UAACA,EAAM8iB,eAAP,aAAC,EAAerL,KAAKmkC,eAAehhD,QAAQi1B,EAAU+rB,gBAAkB,CACpJ,IAGKC,EAAqB1jD,KAAO2jD,QAAQ5rB,EAAa,CAAC,SAAA6rB,GAAU,OAAIA,EAAWtkC,KAAKmkC,aAApB,GAAoC,CAAC,QACvGpsB,EAAe,GACfO,EAAkB8rB,EACnB,GAAE,CAAC9oC,EAAiB8c,IAGrB9kB,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,0BAA2BkpB,EAAenvB,QAEtE,IAAIwvB,EAAmBv2B,KAAKw2B,KAAKN,EAAenvB,OAASi2B,GAIzD,GAHAhH,EAAiBO,GAGbL,GAAkBA,EAAenvB,OAAS,EAAG,CAE/C,IAAI0vB,GAAcd,EAAc,GAAKqH,EAAe,EAAI,GAAKrH,EAAc,GAAKqH,EAC5EtG,EAAWf,EAAcqH,EAAe9G,EAAenvB,OAASmvB,EAAenvB,OAAS4uB,EAAcqH,EAEtGrG,EAAep4B,KAAOoE,MAAMuzB,EAAgBO,EAAYC,GACxDC,GAAgBA,EAAa5vB,OAAS,EACxC+uB,EAAmBa,GAEnBb,EAAmB,GAEtB,MACCA,EAAmB,GAEtB,GAAE,CAACH,EAAaO,IAEjB,IAAM9kB,EAAoB,SAAC7J,EAAGkS,GAC5BlS,EAAE8J,iBACF7E,EAASjB,GAAmBkO,GAAc,EAAO/L,GAClD,EAEK6D,EAAkB,SAAChK,EAAGkS,EAAc/M,GACxCnF,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,qCAAsCC,MAAO,CAAEu9B,IAAK7xB,IAC9E,EAEKnI,EAA0B,SAAC/J,EAAGyG,GAClCzG,EAAE8J,gBACH,EAEK+8B,EAAoB,SAAC7mC,EAAGyG,EAAQtB,GACpCnF,EAAE8J,gBACH,EAED,OACE,uCACE,eAAC,GAAD,IAGA,eAAC3C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UACE,gBAAC9K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,gBAACmD,GAAA,EAAD,WACE,gBAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,UACE,qBAAIlwB,UAAU,OAAd,sCACA,qBAAIA,UAAU,OAAd,uDAEF,eAACkO,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC3D,GAAA,EAAD,CAAWtsB,MAAO,CAAEK,aAAc,GAAlC,SACE,gBAAC6vB,GAAA,EAAD,CAAYnwB,UAAU,0BAAtB,UACE,eAACowB,GAAA,EAAD,CAAiBC,UAAU,UAA3B,SACE,eAACC,GAAA,EAAD,UACE,oBAAGtwB,UAAU,4BAGjB,eAAC,KAAD,CACEA,UAAU,2BACVuwB,YAAY,qBACZryB,KAAK,OACL+lB,SAAU,SAAClrB,GAET21B,EAAa31B,EAAEwV,OAAO/W,MACvB,gBAQb,gBAAC8L,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,QACV,qBAAIA,MAAM,MAAV,qBACA,qBAAIA,MAAM,MAAV,kBACA,qBAAIA,MAAM,MAAV,kBAEA,qBAAIA,MAAM,MAAV,0BACA,qBAAIA,MAAM,MAAV,0BAGJ,iCACG8jB,GACCA,EAAgB9uB,OAAS,GACzB8uB,EAAgBhuB,KAAI,SAAC4R,EAAcpY,GAEjC,OAAO,eAAC,GAAD,CAAyBi8B,UAAWj8B,EAAG27B,aAAcA,EAAcrH,YAAaA,EAAalc,aAAcA,EAAcxH,UAAWV,EAAiBW,YAAad,EAAmBhB,kBAAmBkB,EAAyBw8B,YAAaM,GAAxN/sC,EAC9B,SAIP,eAAC+wB,GAAA,EAAD,UACE,eAACzgB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACGoK,GAAiBA,EAAgB,EAChC,eAAC,KAAD,CACEmB,QAASvB,EACTwB,MAAOpB,EACPqB,aAAc,SAACF,GACbtB,EAAesB,EAChB,IAED,sBAUvB,E,+DCouBckrB,GA56BM,SAAC33B,GAAU,IAAD,sCACzB3d,cAAYC,QAAQC,IAAI,OAAQyd,GACpC,MAA0BnF,mBAAS,CAAC,GAApC,oBAAO9e,EAAP,KAAc67C,EAAd,KAGAlxC,qBAAU,WACR,IAAMmxC,EAAS73B,EAAKD,SAASzc,MAAMu9B,IACnC+W,EAASC,GACLx1C,cAAYC,QAAQC,IAAI,SAAUs1C,GAClCx1C,cAAYC,QAAQC,IAAI,QAASxG,EACtC,GAAE,IAGH,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAsCuU,mBAAS,SAA/C,oBAAOsX,EAAP,KAAoBC,EAApB,KACA,EAAgDvX,mBAAS,CAAC,GAA1D,oBAAOi9B,EAAP,KAAyBC,EAAzB,KACA,EAAoCl9B,mBAAS,SAA7C,oBAAOm9B,EAAP,KAAmBC,EAAnB,KAEMxwC,EAAc,SAAC3K,EAAGkW,GAEtB,GADAlW,EAAE8J,kBACoB,IAAlBoM,EAAOxQ,OAAkB,CAAC,IAAD,EACvBuQ,EAAS,CACX4nB,eAAgB3nB,EAAOklC,MACvBhhB,OAAQlkB,EAAOkkB,OACfihB,YAAY,EACZC,eAAgBplC,EAAO4mB,YAErBvR,EAAY,CACd7H,KAAM,2BACNld,MAAO,CAAEq3B,eAAc,UAAE3a,EAAKD,SAASzc,aAAhB,aAAE,EAAqBu9B,IAAIr9B,MAGpDzB,EAASs1B,GAA6BtkB,EAAQ9P,EAASolB,GACxD,KAAM,CAAC,IAAD,EACDtV,EAAS,CACX4nB,eAAgB3nB,EAAOklC,MACvBhhB,OAAQlkB,EAAOkkB,OACfihB,YAAY,EACZC,eAAgBplC,EAAO4mB,YAErBvR,EAAY,CACd7H,KAAM,2BACNld,MAAO,CAAEq3B,eAAc,UAAE3a,EAAKD,SAASzc,aAAhB,aAAE,EAAqBu9B,IAAIr9B,MAEpDzB,EAASs1B,GAA6BtkB,EAAQ9P,EAASolB,GACxD,CACF,EAsCKgwB,EAAY,SAACv7C,EAAGkW,GAGpB,GAFI3Q,cAAYC,QAAQC,IAAI,QAExByQ,EAAO4mB,WAAY,CACrB,IAAInrB,EAAO,CACTmP,OAAQ5K,EAAO4mB,YAEbv3B,cAAYC,QAAQC,IAAI,SAAUkM,GACtC1M,EAAS9C,GAAuBwP,EAAMxL,IACtCA,EAAQG,KAAK,CAAEC,SAAU,kCAAmCC,MAAO,CAAEsX,YAAanM,IACnF,CACF,EAYD,OACE,uCACE,eAAC,GAAD,IAGA,eAACxK,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UACE,eAAC9K,GAAA,EAAD,UACE,gBAACic,GAAA,EAAD,WACE,gBAAC6M,GAAA,EAAD,CAAMC,KAAK,OAAX,UACE,sBAAKnsB,UAAU,qBAAqBC,MAAOc,GAAUJ,MAArD,oCAGA,uBAAKX,UAAU,UAAf,UACE,qBAAIA,UAAU,SACd,gBAACkO,GAAA,EAAD,CACEjO,MAAO,CACLhL,QAAyB,UAAhBm5B,EAA0B,QAAU,QAFjD,UAKE,qBAAIpuB,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,oCAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAIE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,WACN8C,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAO0iB,eAAT,aAAE,EAAgBrL,KACvB6U,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,QAQhB,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAIE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,4BACN8C,GAAG,gBACHiW,KAAK,gBACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAOqX,KACd6U,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,WAMlB,qBAAIvtB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,mCAGA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAIE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,wBACN8C,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAOkG,KACdgmB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,QAKhB,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAIE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,kCACN8C,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAOs3B,eACdpL,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,WAMlB,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAIE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,wBACN8C,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAOw3B,QACdxvB,UAAW,6CACXutB,UAAU,QAKhB,eAACrf,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SAIE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAM,uBACN8C,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAOk7B,oBACdlzB,UAAW,6CACX4yB,WAAY,CACVI,aACE,eAACF,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CACEj0B,QAAS,SAAC/F,IAtK5B,SAACA,EAAGm6B,GAGpB,GAFA30B,QAAQC,IAAI,sBAAuB00B,GACnCn6B,EAAE8J,kBACG9S,KAAOiT,QAAQkwB,GAAsB,CACxC,IAAIhY,EAAiBhhB,EAAOC,eAAiB,+BAAiC+4B,EAC1E50B,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,CACF,CA+JqCq5B,CAAUx7C,EAAD,OAAIf,QAAJ,IAAIA,OAAJ,EAAIA,EAAOk7B,oBACrB,EAHH,SAKE,oBAAGlzB,UAAU,aAAaC,MAAO,CAAEnJ,MAAO4K,GAAiCsX,aAAc,WAKjGuU,UAAU,WAKlB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAO,CAAE6V,OAAQ,EAAG/gB,QAAS,GAApD,SACE,wBAAOiL,UAAU,qBAAqBg6B,QAAQ,kBAA9C,mEAMJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAOc,GAAUP,MAA7B,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,OAAsC,KAA1B,OAALQ,QAAK,IAALA,GAAA,UAAAA,EAAO8+B,mBAAP,eAAoBr4B,QAAkB,MAAQ,KACrDylB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,sBACHiW,KAAK,sBACL2U,QAAQ,WACR1tB,MAAM,UACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAO8+B,mBAAT,aAAE,EAAoBE,QAC3Bh3B,UAAW,6CACXutB,UAAU,SAIhB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,sCAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAOc,GAAUP,MAA7B,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,gCACHiW,KAAK,gCACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAOggC,qCAAT,aAAE,EAAsCC,OAC7Cj4B,UAAW,6CACXutB,UAAU,MAGd,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,uCACHiW,KAAK,uCACL2U,QAAQ,WACR1tB,MAAM,SACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAOggC,qCAAT,aAAE,EAAsCX,OAC7Cr3B,UAAW,6CACXutB,UAAU,SAIhB,wBAEA,eAACpqB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,gBAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,UACE,wBAAOR,UAAU,qBAAqBg6B,QAAQ,kBAA9C,uCAIA,eAACnW,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,gBACHiW,KAAK,gBACL2U,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,OAAF,EAAEA,EAAOi/B,cACd/S,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,WAKlB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,4EAMJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAOc,GAAUP,MAA7B,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,uBACHiW,KAAK,uBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,OAAwC,KAA5B,OAALQ,QAAK,IAALA,GAAA,UAAAA,EAAOm/B,qBAAP,eAAsB14B,QAAkB,MAAQ,KACvDylB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,wBACHiW,KAAK,wBACL2U,QAAQ,WACR1tB,MAAM,SACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAOm/B,qBAAT,aAAE,EAAsBE,OAC7BnT,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,SAIhB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,oFAMJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAOc,GAAUP,MAA7B,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,6BACHiW,KAAK,6BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,OAA8C,KAAlC,OAALQ,QAAK,IAALA,GAAA,UAAAA,EAAOu/B,2BAAP,eAA4B94B,QAAkB,MAAQ,KAC7DylB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,8BACHiW,KAAK,8BACL2U,QAAQ,WACR1tB,MAAM,SACNs2B,WAAS,EACTC,KAAK,IACLr1B,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAOu/B,2BAAT,aAAE,EAA4BF,OACnCnT,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,SAIhB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,4LAKJ,wBAEA,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAOc,GAAUP,MAA7B,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL/Y,MAAM,SACN0tB,QAAQ,WACRxsB,OAAsC,KAA1B,OAALQ,QAAK,IAALA,GAAA,UAAAA,EAAO0/B,mBAAP,eAAoBj5B,QAAkB,MAAQ,KACrDylB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,sBACHiW,KAAK,sBACL/Y,MAAM,SACNs2B,WAAS,EACTC,KAAM,EACN7I,QAAQ,WACRxsB,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAO0/B,mBAAT,aAAE,EAAoBL,OAC3BnT,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,SAKhB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC4c,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,qHAMJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAOc,GAAUP,MAA7B,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,0BACHiW,KAAK,0BACL2U,QAAQ,WACR1tB,MAAM,SACNkB,OAA2C,KAA/B,OAALQ,QAAK,IAALA,GAAA,UAAAA,EAAO6/B,wBAAP,eAAyBp5B,QAAkB,MAAQ,KAC1DylB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAACrM,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,2BACHiW,KAAK,2BACL2U,QAAQ,WACR1tB,MAAM,SACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAK,OAAEQ,QAAF,IAAEA,GAAF,UAAEA,EAAO6/B,wBAAT,aAAE,EAAyBR,OAChCnT,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,SAIhB,wBAEA,qBAAIvtB,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,4BAIA,eAACuC,GAAA,EAAD,CAAKlD,MAAO,CAAE6vB,WAAY,EAAGhJ,WAAY,GAAzC,SACE,gBAACxjB,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,sBACA,qBAAIA,MAAM,MAAV,0BACA,qBAAIA,MAAM,MAAV,oBACA,qBAAIA,MAAM,MAAV,yBANN,OAUGvL,QAVH,IAUGA,GAVH,UAUGA,EAAO49B,YAVV,aAUG,EAAav8B,KAAI,SAACzB,EAAMywB,GAAP,OAChB,iCACE,gCACE,qBACEpoB,MAAO,CACL4B,WAAY,eACZ/K,MAAO4K,IAHX,SAMG9J,EAAKyX,OAER,qBAAIpP,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CjK,EAAKkiB,QACjD,qBAAI7Z,MAAO,CAAE4B,WAAY,gBAAzB,UAA4D,IAAhBjK,EAAK6G,OAAkB,MAAQ,OAC3E,qBACEwB,MAAO,CACL4B,WAAY,eACZ/K,MAAO4K,IAHX,SAME,uBAAK1B,UAAU,MAAf,UACE,sBACEA,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,UAAWtL,MAAO4K,IACnC5C,QAAS,WACPuvB,EAAe,QACf2lB,EAAoBp8C,GACpBs8C,EAAc,OACf,EAPH,SASE,oBAAGl0C,UAAU,iBAGf,eAACkC,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBAAKnC,UAAU,iBAAiBC,MAAO,CAAEmC,OAAQ,WAAjD,SACGxK,EAAK6G,OACJ,eAAC,KAAD,CACEwB,MAAO,CACLnJ,MAAO4K,IAET5C,QAAS,SAAC/F,GACR,IAAIkW,EAAS,CACXklC,MAAOn8C,EAAMyH,IACb0zB,OAAQv7B,EAAK6H,IACbhB,OAAQ7G,EAAK6G,OACbo3B,WAAYj+B,EAAKi+B,YAEnBnyB,EAAY3K,EAAGkW,EAChB,IAGH,eAAC,KAAD,CACEhP,MAAO,CACLnJ,MAAO4K,IAET5C,QAAS,SAAC/F,GACR,IAAIkW,EAAS,CACXklC,MAAOn8C,EAAMyH,IACb0zB,OAAQv7B,EAAK6H,IACbhB,OAAQ7G,EAAK6G,OACbo3B,WAAYj+B,EAAKi+B,YAEnBnyB,EAAY3K,EAAGkW,EAChB,QAMT,eAAC/M,GAAA,EAAD,CAASxC,MAAM,cAAcyC,OAAK,EAAlC,SACE,sBAAKnC,UAAU,iBAAiBC,MAAO,CAAEmC,OAAQ,WAAjD,SACGxK,EAAKi+B,WACJ,eAAC,KAAD,CACE51B,MAAO,CACLnJ,MAAO4K,IAET5C,QAAS,SAAC/F,IA/lB9B,SAACA,EAAGkW,GACpB3Q,cAAYC,QAAQC,IAAI,WAAYyQ,GAExC,IAAIvE,EAAOuE,EAAO4mB,WAElB,GADIv3B,cAAYC,QAAQC,IAAI,OAAQkM,GAC/BuE,EAAO4mB,YAAa,EAAQ,CAC/B,IAAI7mB,EAAS,CACX4nB,eAAgB3nB,EAAOklC,MACvBhhB,OAAQlkB,EAAOkkB,OACfihB,WAAYnlC,EAAOxQ,OACnB+1C,aAAc9pC,EACd2pC,eAAgB,MAElB11C,wBAAa,CACXe,MAAO,cACPd,QAAS,wDACTC,QAAS,CACP,CACEvI,MAAO,MACPwI,QAAS,WACHR,cAAYC,QAAQC,IAAI,SAAUwQ,GAKtChR,EAASs1B,GAA6BtkB,EAAQ9P,EAJ9B,CACdud,KAAM,2BACNld,MAAO,CAAEilB,QAAQ,KAGpB,GAEH,CAAEluB,MAAO,KAAMwI,QAAS,WAAQ,IAElCC,eAAe,EACfC,qBAAqB,GAExB,CACF,CAokB2Cy1C,CAAc17C,EAND,CACXo7C,MAAOn8C,EAAMyH,IACb0zB,OAAQv7B,EAAK6H,IACbhB,OAAQ7G,EAAK6G,OACbo3B,WAAYj+B,EAAKi+B,YAGpB,IAGH,eAAC,KAAD,CACE51B,MAAO,CACLnJ,MAAO4K,GACP+9B,QAAS,IAEX3gC,QAAS,SAAC/F,GAAQ,QAM1B,eAACmJ,GAAA,EAAD,CAASxC,MAAM,eAAeyC,OAAK,EAAnC,SACE,sBAAKnC,UAAU,iBAAiBC,MAAO,CAAEmC,OAAQ,WAAjD,SACGxK,EAAKi+B,WACJ,eAAC,KAAD,CACE51B,MAAO,CACLnJ,MAAO4K,IAET5C,QAAS,SAAC/F,GACR,IAAIkW,EAAS,CACXklC,MAAOn8C,EAAMyH,IACb0zB,OAAQv7B,EAAK6H,IACbhB,OAAQ7G,EAAK6G,OACbo3B,WAAYj+B,EAAKi+B,YAEnBye,EAAUv7C,EAAGkW,EACd,IAGH,eAAC,KAAD,CACEhP,MAAO,CACLnJ,MAAO4K,GACP+9B,QAAS,IAEX3gC,QAAS,SAAC/F,GACR,IAAIkW,EAAS,CACXklC,MAAOn8C,EAAMyH,IACb0zB,OAAQv7B,EAAK6H,IACbhB,OAAQ7G,EAAK6G,OACbo3B,WAAYj+B,EAAKi+B,YAEnBye,EAAUv7C,EAAGkW,EACd,iBAhID,kBAgJ5B,eAACid,GAAA,EAAD,CAAMC,KAAK,OAAX,SACE,uBAAKnsB,UAAU,UAAf,UAGE,qCACE,gBAACkO,GAAA,EAAD,CACEjO,MAAO,CACLhL,QAAyB,SAAhBm5B,EAAyB,QAAU,QAFhD,UAKE,qBAAIpuB,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,4BAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACy5B,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,eAACF,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,YACHiW,KAAK,YACL2U,QAAQ,WACR1tB,MAAM,aACNkB,MAAK,OAAEu8C,QAAF,IAAEA,OAAF,EAAEA,EAAkB1kC,KACzB6U,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,QAKhB,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACy5B,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,eAACF,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,oBACHiW,KAAK,oBACL2U,QAAQ,WACR1tB,MAAM,gDACNkB,OAA0C,KAAnB,OAAhBu8C,QAAgB,IAAhBA,OAAA,EAAAA,EAAkBrb,cAAwB,MAAQ,KACzDxU,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,WAKlB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,qCAKJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACujB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,yBACHiW,KAAK,yBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAuD,QAAhC,OAAhBu8C,QAAgB,IAAhBA,GAAA,UAAAA,EAAkBnb,yBAAlB,eAAqCX,QAAkB,EAAvD,OAA2D8b,QAA3D,IAA2DA,GAA3D,UAA2DA,EAAkBnb,yBAA7E,aAA2D,EAAqCX,OACvG/T,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAKjwB,MAAO,CAAEK,aAAc,IAApC,SACE,eAACujB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,gCACHiW,KAAK,gCACL2U,QAAQ,WACR1tB,MAAM,SACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAK,OAAEu8C,QAAF,IAAEA,GAAF,UAAEA,EAAkBnb,yBAApB,aAAE,EAAqCvB,OAC5CnT,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,SAIhB,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,eAAC6J,GAAA,EAAD,CAAahW,WAAS,EAAtB,SACE,wBAAO/jB,UAAU,qBAAqBg6B,QAAQ,kBAA9C,0CAMJ,eAAC9rB,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACujB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAM,SACNkB,MAAK,OAAEu8C,QAAF,IAAEA,GAAF,UAAEA,EAAkB9c,qBAApB,aAAE,EAAiC8B,UACxC7U,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,MAId,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,KAAKjwB,MAAO,CAAEK,aAAc,IAApC,SACE,eAACujB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,qBACHiW,KAAK,qBACL2U,QAAQ,WACR1tB,MAAM,SACNs2B,WAAS,EACTC,KAAM,EACNr1B,MAAK,OAAEu8C,QAAF,IAAEA,GAAF,UAAEA,EAAkB9c,qBAApB,aAAE,EAAiCI,OACxCnT,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACXutB,UAAU,SAIhB,wBACA,wBAEA,gBAACpqB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACy5B,GAAA,EAAD,CAAahW,WAAS,EAAC9jB,MAAOc,GAAUP,MAAxC,SACE,eAACqjB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACR1tB,MAAM,6BACNkB,MAAK,OAAEu8C,QAAF,IAAEA,OAAF,EAAEA,EAAkBvkB,QACzBxvB,UAAW,6CACXutB,UAAU,QAKhB,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACujB,GAAA,EAAD,CAAWE,WAAS,EAAC3qB,GAAG,YAAYiW,KAAK,YAAY/Y,MAAM,eAAe0tB,QAAQ,WAAWxsB,MAAK,OAAEu8C,QAAF,IAAEA,OAAF,EAAEA,EAAkBj6B,MAAO9Z,UAAW,6CAA8CutB,UAAU,MAGlM,eAACrf,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,eAACujB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,cACHiW,KAAK,cACL2U,QAAQ,WACR1tB,MAAM,iBACNkB,MAAK,OAAEu8C,QAAF,IAAEA,OAAF,EAAEA,EAAkBjiB,QACzBlF,WAAS,EACTC,KAAM,EACN7sB,UAAW,6CACXutB,UAAU,SAIhB,6BAMJ,wBAEA,sBAAKvtB,UAAU,YAAf,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WAEY,SAAfm1C,GACF/0C,EAAQG,KAAK,qCAEf8b,OAAOjc,QAAQguB,MAChB,EATH,wCAwBvB,E,SCn6BYzvB,GAAiB,SAAC3C,EAAUoE,GAAX,8CAAuB,WAAOlB,GAAP,yBAAAC,EAAA,kEAEjDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IACpC60B,GAAc,GACI,GACI,GACA,EACtByhB,GAAe,GAEf55C,EAASgU,OAToC,wBAU/C4lC,GAAe,EAVgC,UAWvB92C,GAAa9C,EAAUmE,MAAOC,GAXP,0CAe7CP,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAf/H,mDAmB3CV,cAAYC,QAAQC,IAAI,kDAnBmB,YAsB7C1D,EAASiU,KAtBoC,wBAuB/C2lC,GAAe,EAvBgC,UAwBnB72C,GAAW/C,EAAUmE,MAAOC,GAxBT,0CA4B7CP,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IA5B/H,mDAgC3CV,cAAYC,QAAQC,IAAI,kDAhCmB,YAmC7C1D,EAAS6S,KAnCoC,wBAoC/C+mC,GAAe,EApCgC,UAqCnBC,GAAW75C,EAAUmE,MAAOC,GArCT,0CAyC7CP,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAzC/H,mDA6C3CV,cAAYC,QAAQC,IAAI,kDA7CmB,YAgD5B,IAAjBk2C,EAhD6C,qBAiD3C55C,EAASi7B,KAjDkC,kCAkDzB6e,GAAe95C,EAAUmE,MAAOC,GAlDP,QAkD7C+zB,EAlD6C,kBAqD1CA,EArD0C,wBAsD7Ct0B,wBAAa,CAAEC,QAAS,yEAA0EC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAtD/I,4CA2D1BX,GAAmBvD,GA3DO,iBA2DzC3E,EA3DyC,EA2DzCA,KACJmI,cAAYC,QAAQC,IAAI,gBAAiBrI,GACxB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QACRE,wBAAa,CACXC,QAAS,qBACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACPI,EAAQ+mC,QACT,MAImB,WAAb,OAAJ9vC,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CACXC,QAAS,0BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACPI,EAAQ+mC,QACT,OAlFwC,kDAwF7C3nC,cAAYC,QAAQC,IAAR,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIE,EAAQG,KAAK,iBAEbV,wBAAa,CACXC,QAAS,0BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACPI,EAAQ+mC,QACT,MApGwC,yBA0GjDjoC,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA1GS,6EAAvB,uDA8GxBw2C,GAAc,uCAAG,WAAO5lC,EAAQ9P,GAAf,2BAAAjB,EAAA,mEAEf+Q,EAAO+mB,KAFQ,gBAGbz3B,cAAYC,QAAQC,IAAI,kBAAmBwQ,EAAO+mB,MAHrC,6BAMbz3B,cAAYC,QAAQC,IAAI,kBANX,mBAOV,GAPU,cAUfF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,WAAYH,EAAO+mB,MAZd,U3E3BQj7B,E2EyCQmU,E3EzCKnV,EAAIiB,KAAK,4BAA6BD,G2E2B3D,WAcfsU,EAde,OAef9Q,cAAYC,QAAQC,IAAI,oBAAqB4Q,IAE7CA,IAAOA,EAAIjZ,MAA4B,YAApBiZ,EAAIjZ,KAAKsI,QAAyB1O,KAAOiT,QAAQoM,EAAIjZ,KAAKA,MAjB9D,wBAkBbmI,cAAYC,QAAQC,IAAI,kCAAmC4Q,EAAIjZ,KAAKA,MACxE6Y,EAAM,KAAWI,EAAIjZ,KAAKA,KAAKkZ,KAnBd,mBAqBV,GArBU,kCAuBV,GAvBU,iEA0Bf/Q,cAAYC,QAAQC,IAAI,+BAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIE,EAAQG,KAAK,kBAETg0B,EADC,sCACc,KAAOl0B,gBADrB,iBACc,EAAiBhJ,YAD/B,aACc,EAAuByI,QAC1CD,wBAAa,CAAEC,QAASy0B,EAAcx0B,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAhChH,mBAmCZ,GAnCY,wE3E3BO,IAAClE,C2E2BR,8BAAH,wDAyCP4C,GAAiB,SAAC5C,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,2BAAAC,EAAA,kEAEhDD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,KAEpCtD,EAASgU,OAJmC,iCAKlBlR,GAAa9C,EAAUmE,MAAOU,GALZ,wCAS5ChB,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAThI,kDAa1CV,cAAYC,QAAQC,IAAI,kDAbkB,YAgB5C1D,EAASiU,KAhBmC,kCAiBlBlR,GAAW/C,EAAUmE,MAAOU,GAjBV,0CAqB5ChB,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IArBhI,mDAyB1CV,cAAYC,QAAQC,IAAI,kDAzBkB,yBA4BzBH,GAAmBvD,GA5BM,QA4B1CqE,EA5B0C,OA6BxChJ,EAASgJ,EAAThJ,KACJmI,cAAYC,QAAQC,IAAI,qBAAsBrI,GAC7B,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRT,EAAS,CAAEE,KAAMgJ,GAAiB9I,QAASJ,IAC3CW,wBAAa,CACXC,QAAS,oBACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACPqc,OAAOa,SAASwI,QAAO,EACxB,OAKY,WAAb,OAAJruB,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KA/CtH,kDAkD5C,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERg0B,EADC,sCACc,KAAOl0B,gBADrB,iBACc,EAAiBhJ,YAD/B,aACc,EAAuByI,QAC1CD,wBAAa,CAAEC,QAASy0B,EAAcx0B,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAE/HV,cAAYC,QAAQC,IAAR,MAzDgC,yBA6DhDR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA7DQ,6EAAtB,uDAiExBR,GAAY,uCAAG,WAAOoR,EAAQ/P,EAAOU,GAAtB,2BAAA1B,EAAA,mEAEb+Q,EAAOF,OAFM,gBAGfvQ,QAAQC,IAAI,iBAAkBwQ,EAAOF,QAHtB,6BAMfvQ,QAAQC,IAAI,iBANG,mBAQR,GARQ,cAWbF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,SAAUH,EAAOF,QAbd,UAgBDzQ,GAAiB4Q,GAhBhB,eAgBbG,EAhBa,OAiBjB7Q,QAAQC,IAAI,oBAAqB4Q,GAE7BA,GAAOA,EAAIjZ,MAA4B,YAApBiZ,EAAIjZ,KAAKsI,SAAyB1O,KAAOiT,QAAQoM,EAAIjZ,KAAKA,QAC/EoI,QAAQC,IAAI,mCAAoC4Q,EAAIjZ,KAAKA,MACzD6Y,EAAM,OAAaI,EAAIjZ,KAAKA,KAAKkZ,MArBlB,mBAyBV,GAzBU,yCA4Bb,2CAAOlQ,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERiQ,EADC,sCACa,KAAOnQ,gBADpB,iBACa,EAAiBhJ,YAD9B,aACa,EAAuByI,QACzCD,wBAAa,CAAEC,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAChIgQ,EAAOF,OAAS,MAlCD,mBAqCV,GArCU,0DAAH,0DAyCZjR,GAAU,uCAAG,WAAOmR,EAAQ/P,EAAOU,GAAtB,2BAAA1B,EAAA,mEAEX+Q,EAAOD,KAFI,gBAGTzQ,cAAYC,QAAQC,IAAI,iBAAkBwQ,EAAOD,MAHxC,6BAMTzQ,cAAYC,QAAQC,IAAI,iBANf,mBAQN,GARM,cAWXF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,OAAQH,EAAOD,MAbd,UAgBC1Q,GAAe4Q,GAhBhB,eAgBXG,EAhBW,OAiBf7Q,QAAQC,IAAI,oBAAqB4Q,GAE7BA,GAAOA,EAAIjZ,MAA4B,YAApBiZ,EAAIjZ,KAAKsI,SAAyB1O,KAAOiT,QAAQoM,EAAIjZ,KAAKA,QAC3EmI,cAAYC,QAAQC,IAAI,mCAAoC4Q,EAAIjZ,KAAKA,MACzE6Y,EAAM,KAAWI,EAAIjZ,KAAKA,KAAKkZ,MArBlB,mBAyBR,GAzBQ,yCA4BX,2CAAOlQ,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERiQ,EADC,sCACa,KAAOnQ,gBADpB,iBACa,EAAiBhJ,YAD9B,aACa,EAAuByI,QACzCD,wBAAa,CAAEC,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAChIgQ,EAAOO,eAAiB,KACxBP,EAAOQ,iBAAmB,MAnCb,mBAqCR,GArCQ,0DAAH,0DAyCVmlC,GAAU,uCAAG,WAAO3lC,EAAQ/P,EAAOU,GAAtB,2BAAA1B,EAAA,mEAEX+Q,EAAOrB,KAFI,gBAGTrP,cAAYC,QAAQC,IAAI,iBAAkBwQ,EAAOrB,MAHxC,6BAMTrP,cAAYC,QAAQC,IAAI,iBANf,mBAQN,GARM,cAWXF,cAAYC,QAAQC,IAAI,wBACtByQ,EAAS,IAAIC,UACZC,OAAO,OAAQH,EAAOrB,MAbd,U3EpNQ7S,E2EoOQmU,E3EpOKnV,EAAIiB,KAAK,wBAAyBD,G2EoNvD,eAgBXsU,EAhBW,OAiBf7Q,QAAQC,IAAI,oBAAqB4Q,GAE7BA,GAAOA,EAAIjZ,MAA4B,YAApBiZ,EAAIjZ,KAAKsI,SAAyB1O,KAAOiT,QAAQoM,EAAIjZ,KAAKA,QAC3EmI,cAAYC,QAAQC,IAAI,mCAAoC4Q,EAAIjZ,KAAKA,MACzE6Y,EAAM,KAAWI,EAAIjZ,KAAKA,KAAKkZ,MArBlB,mBAyBR,GAzBQ,yCA4BX,2CAAOlQ,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERiQ,EADC,sCACa,KAAOnQ,gBADpB,iBACa,EAAiBhJ,YAD9B,aACa,EAAuByI,QACzCD,wBAAa,CAAEC,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAChIgQ,EAAOO,eAAiB,KACxBP,EAAOQ,iBAAmB,MAnCb,mBAqCR,GArCQ,kC3EpNO,IAAC1U,C2EoNR,wBAAH,0DAyCH6C,GAAiB,SAAC7C,EAAU6E,GAAX,8CAAsB,WAAO3B,GAAP,2BAAAC,EAAA,6DAC9CK,cAAYC,QAAQC,IAAI,WAAY1D,GADU,SAGhDkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHQ,SAIzBC,GAAmBvD,GAJM,OAI1CqE,EAJ0C,OAKxChJ,EAASgJ,EAAThJ,KACJmI,cAAYC,QAAQC,IAAI,qBAAsBrI,GAC7B,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACRT,EAAS,CAAEE,KAAMkJ,GAAiBhJ,QAASjI,IAC3CwI,wBAAa,CACXC,QAAS,oBACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAER,OAKY,WAAb,OAAJ3I,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAvBtH,kDA0B5C,2CAAOG,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERg0B,EADC,sCACc,KAAOl0B,gBADrB,iBACc,EAAiBhJ,YAD/B,aACc,EAAuByI,QAC1CD,wBAAa,CAAEC,QAASy0B,EAAcx0B,QAAS,CAAC,CAAEvI,MAAO,MAAOwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAE/HV,cAAYC,QAAQC,IAAR,MAjCgC,yBAqChDR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IArCQ,6EAAtB,uDClWxBy2C,GAAiB,SAAC,GAAD,IAAG/nC,EAAH,EAAGA,SAAUrJ,EAAb,EAAaA,UAAwBqxC,GAArC,EAAwBpxC,YAAxB,EAAqCoxC,WAAwB/P,GAA7D,EAAgDzF,YAAhD,EAA6DyF,aAA7D,OAErB,eADA,CACA,gBACE,qBAAI9kC,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CiL,EAASpN,QAErD,qBAAIO,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CiL,EAAS/K,cAErD,qBAAI9B,MAAO,CAAE4B,WAAY,gBAAzB,SAAkE,UAAtBiL,EAASioC,SAAuBjoC,EAASipB,KAAO,OAE5F,qBAAI/1B,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAG+T,EACd,EALH,SAOE,oBAAG9M,UAAU,cAAcC,MAAO,CAAEw/B,QAAS3yB,EAAS9K,UAAY,GAAM,SAI5E,eAACE,GAAA,EAAD,CAASxC,MAAM,gBAAgByC,OAAK,EAApC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR+7C,EAAU/7C,EAAG+T,EACd,EALH,SAOE,oBAAG9M,UAAU,mBAIjB,eAACkC,GAAA,EAAD,CAASxC,MAAM,kBAAkByC,OAAK,EAAtC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBimC,EAAYhsC,EAAG+T,EAChB,IAGL/N,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,mCAvDF,EAgEjBg1C,GAAkC,SAAC,GAAD,IAAGloC,EAAH,EAAGA,SAAwBmoC,GAA3B,EAAaC,aAAb,EAA2BD,cAA8BE,GAAzD,EAAyCC,eAAzC,EAAyDD,gBAAzD,OAEtC,eADA,CACA,gBACE,sBAAIl1C,MAAO,CAAE4B,WAAY,gBAAzB,UAA2C,6BAAIiL,EAASglC,WAAxD,MAAyEhlC,EAASioC,YAClF,qBAAI90C,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CiL,EAASgC,OAAShC,EAASgC,OAAShC,EAASiC,KAAOjC,EAASiC,KAAOjC,EAASa,KAAOb,EAASa,KAAO,OAChJ,qBAAI3N,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UAEE,eAACkC,GAAA,EAAD,CAASxC,MAAM,gBAAgByC,OAAK,EAApC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRk8C,EAAal8C,EAAG+T,EACjB,EALH,SAOE,oBAAG9M,UAAU,mBAIjB,eAACkC,GAAA,EAAD,CAASxC,MAAM,kBAAkByC,OAAK,EAAtC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR4F,wBAAa,CACXe,MAAO,iBACPb,QAAS,CACP,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,GACjC,CACExI,MAAO,MAAOwI,QAAS,WACrBq2C,EAAep8C,EAAG+T,EACnB,IAGL/N,eAAe,EACfC,qBAAqB,GAExB,EAjBH,SAmBE,oBAAGgB,UAAU,mCAxCe,EAmTzBqC,GAlQQ,WAErB,IAAMrE,EAAWsE,cACXpD,EAAUqD,cAIVqJ,GAHWnJ,cAGGC,aAAY,SAACnD,GAAD,OAAWA,EAAMuN,SAASlB,WAA1B,KAG1BypC,EAAkB3yC,aAAY,SAACnD,GAAD,OAAWA,EAAMuN,SAASnP,cAA1B,IAE9ByZ,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAC7B,EAAgD4L,mBAAS,MAAzD,oBAAOw+B,EAAP,KAAyBC,EAAzB,KAEA5yC,qBAAU,WACR3E,EAAS2Q,KACV,GAAE,IAEHhM,qBAAU,WACR3E,EDzI4B,uCAAM,WAAOA,GAAP,mBAAAC,EAAA,sEAElCD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFN,S3EkGPtD,O2E9FJuD,E3E8FiBvE,EAAIiB,KAAK,wBAAyBD,G2ElGxC,gBAI1B3E,EAJ0B,EAI1BA,KACJmI,cAAYC,QAAQC,IAAI,gBAAiBrI,GACxB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,QACRT,EAAS,CAAEE,KAAMiJ,GAAoB/I,QAAO,OAAEjI,QAAF,IAAEA,OAAF,EAAEA,EAAMA,OAC1B,WAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACXH,cAAYC,QAAQC,IAAIrI,GAC5BwI,yBAAY,GAAGC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,GAAxJ,gCAA8K,GAA9K,sCAA0M,GAA1M,KAVoB,kDAa9BV,cAAYC,QAAQC,IAAR,MAbkB,yBAelCR,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAfN,+C3EkGR,IAACtD,C2ElGO,8BAAN,sDC0I7B,GAAE,CAACu6C,IAGJ,IAAMzyC,EAAoB,SAAC7J,EAAG+T,GAG5B,GAFA/T,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,WAAYsO,GACpCA,IAAa/c,KAAOiT,QAAQ8J,KAAiC,IAApBA,EAASrO,OAAiB,CACrE,IAAIuQ,EAAS,CACXwmC,WAAY1oC,EAASrN,IACrBhB,QAAQ,GAEVT,EAASN,GAAesR,EAAQ9P,GACjC,KAAM,CACL,IAAI8P,EAAS,CACXwmC,WAAY1oC,EAASrN,IACrBhB,QAAQ,GAEVT,EAASN,GAAesR,EAAQ9P,GACjC,CACF,EAEKu2C,EAAkB,SAAC18C,EAAG+T,GAC1BvO,QAAQC,IAAI,WAAYsO,GACxB/T,EAAE8J,iBACF,IAAIqY,EAAiBhhB,EAAOC,eAAiB,oBAAsB2S,EAASipB,KACxEz3B,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,EAEKnY,EAAkB,SAAChK,EAAG+T,EAAU5O,GACpCnF,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,+BAAgCC,MAAO,CAAEuN,SAAUA,IAC7E,EAEKy4B,EAAoB,SAACxsC,EAAG+T,GACxBxO,cAAYC,QAAQC,IAAI,WAAYsO,GACxC/T,EAAE8J,iBACF,IAAImM,EAAS,CACXwmC,WAAY1oC,EAASrN,IACrBi2C,iBAAkB5oC,EAASioC,SAC3BY,aAAc7oC,EAASa,KACvBioC,eAAgB9oC,EAASgC,OACzB+mC,aAAc/oC,EAASiC,MAEzB/Q,EAASL,GAAeqR,EAAQ9P,GACjC,EAEK0gC,EAAoB,SAAC7mC,EAAG+T,EAAU5O,GACtCnF,EAAE8J,gBACH,EAEKizC,EAAqB,SAAC/8C,EAAG+T,GAG7B,GAFAvO,QAAQC,IAAI,WAAYsO,GACxB/T,EAAE8J,iBACwB,UAAtBiK,EAASioC,SAAsB,CACjC,IAAI75B,EAAiBhhB,EAAOC,eAAiB,oBAAsB2S,EAASipB,KACxEz3B,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,MAAM,GAA0B,sBAAtBpO,EAASioC,SAAkC,CACpD,IAAI75B,EAAiBhhB,EAAOC,eAAiB,gBAAkB2S,EAASa,KACpErP,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,MAAM,GAA0B,WAAtBpO,EAASioC,SAAuB,CACzC,IAAI75B,EAAiBhhB,EAAOC,eAAiB,kBAAoB2S,EAASgC,OACtExQ,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,MAAM,GAA0B,SAAtBpO,EAASioC,SAAqB,CACvC,IAAI75B,EAAiBhhB,EAAOC,eAAiB,wBAA0B2S,EAASiC,KAC5EzQ,cAAYC,QAAQC,IAAI,mBAAoB0c,GAChDC,OAAOC,KAAKF,EAAgB,SAC7B,CACF,EAEK66B,EAAqB,SAACh9C,EAAG+T,EAAU5O,GACvCnF,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,mCAAoCC,MAAO,CAAEuN,SAAUA,EAAUkpC,MAAM,IACjG,EAEKC,EAAuB,SAACl9C,EAAG+T,GAC/BvO,QAAQC,IAAI,WAAYsO,GACxB/T,EAAE8J,iBACF,IAAImM,EAAS,CACXwmC,WAAY1oC,EAASrN,IACrBi2C,iBAAkB5oC,EAASioC,SAC3BY,aAAc7oC,EAASa,KACvBioC,eAAgB9oC,EAASgC,OACzB+mC,aAAc/oC,EAASiC,MAEzB/Q,EAASL,GAAeqR,EAAQ9P,GACjC,EAEKg3C,EAAuB,SAACn9C,EAAG+T,EAAU5O,GACzCnF,EAAE8J,gBACH,EAYD,OACE,uCACE,eAAC,GAAD,IAGA,eAAC3C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,uBAAKA,UAAU,MAAf,UACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,2BACA,qBAAIA,UAAU,OAAd,6CAEF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,mBAAmByC,OAAK,EAAvC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IA9BH,SAACA,EAAG+T,EAAU5O,GACzCnF,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,gCAC1B,CA4BuBugC,CAAqB9mC,EACtB,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,yBACA,qBAAIA,MAAM,MAAV,kBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCqI,EAAYvS,KAAI,SAACyT,EAAUja,GAAX,OACK,IAApBia,EAASrO,QAAyC,UAAtBqO,EAASioC,SACnC,eAAC,GAAD,CAEEjoC,SAAUA,EACVrJ,UAAWV,EACXW,YAAad,EACbkyC,UAAWW,EACXnW,YAAaM,EACbmF,YAAaQ,GANR1yC,GAOL,IAVW,aAgBvB,wBACA,wBAEA,gBAACuQ,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,gBAAf,UACE,qBAAIA,UAAU,OAAd,4CACA,qBAAIA,UAAU,OAAd,0DAEF,sBAAKA,UAAU,gBAAf,SACE,gBAAC6jB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAO89C,EACPrxB,SAAU,SAAClrB,GAAQw8C,EAAoBx8C,EAAEwV,OAAO/W,MAAQ,EACxD0sB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CARb,UAUE,yBAAexI,MAAM,IAAT,IACX4f,EAAS/d,KAAI,SAACzB,EAAM/E,GAAP,OACZ,yBAAwB2E,MAAOI,EAAKqB,KAApC,SACGrB,EAAKyX,MADKzX,EAAKqB,KADN,SAOlB,sBAAK+G,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,mBAAmByC,OAAK,EAAvC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IAhGA,SAACA,EAAG+T,EAAU5O,GAC5CnF,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,mCAAoCC,MAAO,CAAEuN,SAAUA,EAAUkpC,MAAM,IACjG,CA8FuBG,CAAwBp9C,EAAG6S,EAC5B,EALH,SAOE,oBAAG5L,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,sBACA,qBAAIA,MAAM,MAAV,kBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACExT,KAAOyT,OAAOoI,EAAa,CAAEkmC,SAAUwD,IAAqBj8C,KAAI,SAACyT,EAAUja,GAAX,MACzC,sBAAtBia,EAASioC,UAA0D,WAAtBjoC,EAASioC,UAA+C,SAAtBjoC,EAASioC,SACvF,eAAC,GAAD,CAEEjoC,SAAUA,EACVooC,aAAca,EACdd,aAAca,EACdV,eAAgBc,EAChBf,eAAgBc,GALXpjD,GAML,IAT4D,sBAmBnF,ECtXKitC,GAAeC,KAAW,CAC9BqW,SAAUrW,OAAazU,WACvB0U,MAAOD,OAAazU,WAAW75B,IAAI,GAAGwG,IAAI,OAwP7Bo+C,GArPQ,SAACr+C,GACtB,IAAMupC,EAAU5N,mBACVz0B,EAAUqD,cACVvE,EAAWsE,cAEjB,EAAgCwU,mBAAS,CAAC,GAA1C,oBAAOhK,EAAP,KAAiBwpC,EAAjB,KACA,EAA4Bx/B,oBAAS,GAArC,oBAAOuW,EAAP,KAAeC,EAAf,KAEA3qB,qBAAU,WAAO,IAAD,EACR4zC,EAAY,UAAGv+C,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBuN,SACvCypC,IAAiBxmD,KAAOiT,QAAQuzC,KAClCD,EAAYC,GACZjpB,GAAU,GAEb,GAAE,IAEH3qB,qBAAU,WACuD,IAAD,EAA1D4+B,EAAQ7Y,SAAW5b,IAAa/c,KAAOiT,QAAQ8J,KACjD,UAAAy0B,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,QAAS70B,EAASpN,OAAO,GACvD6hC,EAAQ7Y,QAAQiZ,cAAc,cAAe70B,EAAS/K,aAAa,GACnEw/B,EAAQ7Y,QAAQiZ,cAAc,WAAY70B,EAASioC,UAAU,GAC7DxT,EAAQ7Y,QAAQiZ,cAAc,WAAY70B,EAASglC,UAAU,GAC7DvQ,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAASipB,MAAM,GACrDwL,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAASa,MAAM,GACrD4zB,EAAQ7Y,QAAQiZ,cAAc,SAAU70B,EAASgC,QAAQ,GACzDyyB,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAASiC,MAAM,GAExD,GAAE,CAACjC,IAGJ,IAAMgpB,EAAgB,uCAAG,WAAO/8B,GAAP,eAAAkF,EAAA,sDACvB,IACQ83B,EAAOh9B,EAAEwV,OAAO6lB,MAAM,GACxB91B,cAAYC,QAAQC,IAAIu3B,GACxBwL,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,OAAQ5L,GAAM,EAI/C,CAFC,MAAOM,GACH/3B,cAAYC,QAAQC,IAAI,aAAc63B,EAC3C,CATsB,2CAAH,sDAatB,OACE,uCACE,eAAC,GAAD,IAGA,eAACn2B,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,2BACA,qBAAIA,UAAU,OAAd,6CAEF,sBAAKA,UAAU,iBAGnB,eAACqf,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACbqU,MAAO,GACPoC,YAAa,GACbgU,SAAU,QACVtE,SAAU,GACV0E,KAAM,GACN7oC,KAAM,GACNmB,OAAQ,GACRC,KAAM,IAER8c,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACjBpkC,QAAQC,IAAI,kBAAmBwQ,GAC/B,IAAIC,EAAS,CACXvP,MAAOsP,EAAOgxB,MACdj+B,YAAaiN,EAAOozB,YACpB2S,SAAU/lC,EAAOonC,SACjBtE,SAAU9iC,EAAO8iC,SACjB/b,KAAM/mB,EAAOwnC,KACb7oC,KAAMqB,EAAOrB,KACbmB,OAAQE,EAAOF,OACfC,KAAMC,EAAOD,MAEX8tB,EAAQ,CACVn9B,MAAOsP,EAAOgxB,MACdj+B,YAAaiN,EAAOozB,YACpB2S,SAAU/lC,EAAOonC,SACjBtE,SAAU9iC,EAAO8iC,SACjB/b,KAAM/mB,EAAOwnC,KACb7oC,KAAMqB,EAAOrB,KACbmB,OAAQE,EAAOF,OACfC,KAAMC,EAAOD,KACbymC,WAAY1oC,EAASrN,KAEnBqN,EAASipB,KACX/3B,EAASN,GAAem/B,EAAO39B,IAE/BlB,EAASP,GAAewR,EAAQ/P,GAEnC,EACD0jC,SAAUrB,EAzCZ,SA2CG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOlsB,MAAO,CAAEY,WAAY,IAAMirB,SAAU9zB,EAAMo0B,aAA7D,UACE,eAACjpB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,qBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOonC,SACpBnyB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3BzI,YAAa,CAAEC,QAAQ,GACvBlkB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqpB,UAAYppB,QAAQh1B,EAAM8P,OAAOsuC,UACtDnpB,WAAYj1B,EAAM+0B,QAAQqpB,UAAYp+C,EAAM8P,OAAOsuC,SACnD7oB,UAAU,EAbZ,SAgBE,yBAAoB/1B,MAAM,QAA1B,4BAAY,eAOlB,eAAC2L,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,kBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgxB,MACpB/b,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAM20B,aAAa,SAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQiT,OAAShT,QAAQh1B,EAAM8P,OAAOk4B,OACnD/S,WAAYj1B,EAAM+0B,QAAQiT,OAAShoC,EAAM8P,OAAOk4B,YAKtD,eAAC78B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,uBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOozB,YACpBne,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAM20B,aAAa,eAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqV,aAAepV,QAAQh1B,EAAM8P,OAAOs6B,aACzDnV,WAAYj1B,EAAM+0B,QAAQqV,aAAepqC,EAAM8P,OAAOs6B,kBAK5D,eAACj/B,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACG7C,EACC,uCACE,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAM,0BACNkB,MAAOQ,EAAMgX,OAAOwnC,KACpBv2C,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQypB,MAAQxpB,QAAQh1B,EAAM8P,OAAO0uC,MAClDvpB,WAAYj1B,EAAM+0B,QAAQypB,MAAQx+C,EAAM8P,OAAO0uC,KAC/CjpB,SAAUF,IAEZ,qBAAIrtB,UAAU,aAAd,gDAGF,eAAC6jB,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACLnR,KAAK,OACL8lB,QAAQ,WACR1tB,MAAM,0BACNskC,UAAU,EACV3W,SAAU,SAAClrB,GACT+8B,EAAiB/8B,EAClB,EACD8hC,gBAAiB,CAAE/G,QAAQ,GAC3B7zB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQypB,MAAQxpB,QAAQh1B,EAAM8P,OAAO0uC,MAClDvpB,WAAYj1B,EAAM+0B,QAAQypB,MAAQx+C,EAAM8P,OAAO0uC,aAhG1D,MAyGL,eAAC5yB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,kBASA,eAAC3iB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACHyiC,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQ0D,cAEnB,EAPH,oCAoBnB,EClPK0T,GAAeC,KAAW,CAC9BqW,SAAUrW,OAAazU,WACvBwmB,SAAU/R,OAAazU,aA0lBV+qB,GAvlBQ,SAACr+C,GAAW,IAAD,EAC1BupC,EAAU5N,mBACVz0B,EAAUqD,cACVvE,EAAWsE,cAEjB,EAAgCwU,mBAAS,CAAC,GAA1C,oBAAOhK,EAAP,KAAiBwpC,EAAjB,KACA,EAA4Bx/B,oBAAS,GAArC,oBAAOuW,EAAP,KAAeC,EAAf,KAEA,EAAkCxW,mBAAS,IAA3C,oBAAOwuB,EAAP,KAAkB+K,EAAlB,KACA,EAA0Cv5B,mBAAS,IAAnD,oBAAO2/B,EAAP,KAAsBC,EAAtB,KACA,EAA0C5/B,mBAAS,IAAnD,oBAAO6/B,EAAP,KAAsBC,EAAtB,KACA,EAAwB9/B,oBAAS,GAAjC,oBAAO+/B,EAAP,KAAaC,EAAb,KAEA,EAAwBhgC,mBAAS,IAAjC,oBAAaigC,GAAb,WACA,EAAwBjgC,mBAAS,IAAjC,oBAAakgC,GAAb,WAEM5/B,EAAW1U,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IACzB5M,cAAYC,QAAQC,IAAI,aAAc4Y,GAE1CzU,qBAAU,WAAO,IAAD,IACR4zC,EAAY,UAAGv+C,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBuN,SACrCkpC,EAAI,UAAGh+C,EAAMgkB,SAASzc,aAAlB,aAAG,EAAsBy2C,KACnCz3C,QAAQC,IAAI,eAAgB+3C,GACxBA,IAAiBxmD,KAAOiT,QAAQuzC,KAClCD,EAAYC,IACC,IAATP,GACF1oB,GAAU,IAIdtvB,EAAS2Q,KACV,GAAE,IAEHhM,qBAAU,WACuD,IAAD,EAA1D4+B,EAAQ7Y,SAAW5b,IAAa/c,KAAOiT,QAAQ8J,KACjD,UAAAy0B,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,QAAS70B,EAASpN,OAAO,GACvD6hC,EAAQ7Y,QAAQiZ,cAAc,cAAe70B,EAAS/K,aAAa,GACnEw/B,EAAQ7Y,QAAQiZ,cAAc,WAAY70B,EAASioC,UAAU,GAC7DxT,EAAQ7Y,QAAQiZ,cAAc,WAAY70B,EAASglC,UAAU,GAC7DvQ,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAASipB,MAAM,GACrDwL,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAAS5O,MAAM,GACrDqjC,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAASa,MAAM,GACrD4zB,EAAQ7Y,QAAQiZ,cAAc,SAAU70B,EAASgC,QAAQ,GACzDyyB,EAAQ7Y,QAAQiZ,cAAc,OAAQ70B,EAASiC,MAAM,GAExD,GAAE,CAACjC,IAGJ,IAAMmqC,EAAY,uCAAG,WAAO7/B,GAAP,+BAAAnZ,EAAA,sDAEf4nB,EAAYzO,EACZ8/B,EAAgB9/B,EAChB+/B,EAAgB//B,EAChBggC,EAAa,GACbC,EAAW,GACXC,EAAW,GACfz9C,OAAOmV,OAAOlC,GAAUzT,KAAI,SAACzB,EAAM/E,GACX,WAAlB+E,EAAKm9C,UAAuBqC,EAAW/3C,KAAKzH,EAAKk6C,UAC/B,SAAlBl6C,EAAKm9C,UAAqBsC,EAASh4C,KAAKzH,EAAKk6C,UAC3B,sBAAlBl6C,EAAKm9C,UAAkCuC,EAASj4C,KAAKzH,EAAKk6C,SAC/D,IAEQp/C,EAAQ,EAdE,YAcCA,EAAQ0kD,EAAW7+C,QAdpB,kCAgBIwiB,MAAM,GAAD,OAAI5gB,iBAAJ,0BAAoCk9C,EAAS3kD,GAA7C,eAAkE,CAAEsoB,OAAQ,SAhBrF,eAiBNC,KACT4K,EAAY91B,KAAO+1B,OAAOD,EAAW,CAAE5sB,KAAMm+C,EAAW1kD,MAlBzC,QAc4BA,IAd5B,uBAqBnB29C,EAAaxqB,GACTvnB,cAAYC,QAAQC,IAAI,YAAaqnB,GAEhCnzB,EAAQ,EAxBE,aAwBCA,EAAQ2kD,EAAS9+C,QAxBlB,kCA0BIwiB,MAAM,GAAD,OAAI5gB,iBAAJ,gCAA0Ck9C,EAAS3kD,GAAnD,aAAsE,CAAEsoB,OAAQ,SA1BzF,eA2BNC,KACTi8B,EAAgBnnD,KAAO+1B,OAAOoxB,EAAe,CAAEj+C,KAAMo+C,EAAS3kD,MA5B/C,QAwB0BA,IAxB1B,wBA+BnBgkD,EAAiBQ,GACb54C,cAAYC,QAAQC,IAAI,gBAAiB04C,GAEpCxkD,EAAQ,EAlCE,aAkCCA,EAAQ4kD,EAAS/+C,QAlClB,kCAoCIwiB,MAAM,GAAD,OAAI5gB,iBAAJ,wBAAkCk9C,EAAS3kD,GAA3C,sBAAuE,CAAEsoB,OAAQ,SApC1F,eAqCNC,KACTk8B,EAAgBpnD,KAAO+1B,OAAOqxB,EAAe,CAAEl+C,KAAMq+C,EAAS5kD,MAtC/C,QAkC0BA,IAlC1B,wBAyCnBkkD,EAAiBO,GACb74C,cAAYC,QAAQC,IAAI,gBAAiB24C,GA1C1B,4CAAH,sDA6ClBx0C,qBAAU,WACJyU,EACF6/B,EAAa7/B,GAEbi5B,EAAaj5B,EAEhB,GAAE,CAACtK,EAAUsK,IAGd,IAAMmgC,EAAoB,uCAAG,WAAOx+C,EAAGqe,GAAV,eAAAnZ,EAAA,sDAC3B,IACQ83B,EAAOh9B,EAAEwV,OAAO6lB,MAAM,GACxB91B,cAAYC,QAAQC,IAAIu3B,GACxBwL,EAAQ7Y,UACNqN,EAAK1mB,OAAS+H,EAAW,sBAC3B0/B,GAAQ,GACRvV,EAAQ7Y,QAAQiZ,cAAc,OAAQ5L,GAAM,KAE5C+gB,GAAQ,GACRn4C,wBAAa,CACXe,MAAO,QACPd,QAAS,0BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,KAkB5B,CAdC,MAAOq3B,GACH/3B,cAAYC,QAAQC,IAAI,aAAc63B,GAC1C13B,wBAAa,CACXe,MAAO,QACPd,QAASy3B,EAAIz3B,QACbC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAExB,CAtC0B,2CAAH,wDA0CpBw4C,EAAsB,uCAAG,WAAOz+C,EAAGqe,GAAV,eAAAnZ,EAAA,sDAC7B,IAEQ83B,EAAOh9B,EAAEwV,OAAO6lB,MAAM,GAC5B71B,QAAQC,IAAIu3B,GACRA,IACEA,EAAK1mB,OAAS+H,EAAW,eAC3B0/B,GAAQ,GACRvV,EAAQ7Y,QAAQiZ,cAAc,SAAU5L,GAAM,KAE9C+gB,GAAQ,GACRn4C,wBAAa,CACXe,MAAO,QACPd,QAAS,0BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,KAkB5B,CAdC,MAAOq3B,GACH/3B,cAAYC,QAAQC,IAAI,aAAc63B,GAC1C13B,wBAAa,CACXe,MAAO,QACPd,QAASy3B,EAAIz3B,QACbC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAExB,CAvC4B,2CAAH,wDA2CtBy4C,EAAoB,uCAAG,WAAO1+C,EAAGqe,GAAV,eAAAnZ,EAAA,sDAC3B,IAEQ83B,EAAOh9B,EAAEwV,OAAO6lB,MAAM,GACxB91B,cAAYC,QAAQC,IAAIu3B,GACxBA,IACEA,EAAK1mB,OAAS+H,EAAW,aAC3B0/B,GAAQ,GACRvV,EAAQ7Y,QAAQiZ,cAAc,OAAQ5L,GAAM,KAE5C+gB,GAAQ,GACRn4C,wBAAa,CACXe,MAAO,QACPd,QAAS,0BACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAQqc,OAAOa,SAASwI,QAAO,EAAQ,IAGpDzlB,eAAe,EACfC,qBAAqB,KAkB5B,CAdC,MAAOq3B,GACH/3B,cAAYC,QAAQC,IAAI,aAAc63B,GAC1C13B,wBAAa,CACXe,MAAO,QACPd,QAASy3B,EAAIz3B,QACbC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,GAExB,CAvC0B,2CAAH,wDA0C1B,OACE,uCACE,eAAC,GAAD,IAGA,eAACkB,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,2BACA,qBAAIA,UAAU,OAAd,6CAEF,sBAAKA,UAAU,iBAGnB,eAACqf,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,eAAa,GACXqU,MAAO,GACPoC,YAAa,GACbgU,SAAU,GACVtE,SAAU,IAJC,0BAKD,IALC,sBAML,IANK,sBAOL,IAPK,wBAQH,IARG,sBASL,IATK,GAWbjmB,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACjBpkC,QAAQC,IAAI,kBAAmBwQ,GAC/B,IAAIC,EAAS,CACXvP,MAAOsP,EAAOgxB,MACdj+B,YAAaiN,EAAOozB,YACpB2S,SAAU/lC,EAAOonC,SACjBrgB,KAAM/mB,EAAOwnC,KACb1E,SAAU9iC,EAAO8iC,SACjBnkC,KAAMqB,EAAOrB,KACbmB,OAAQE,EAAOF,OACfC,KAAMC,EAAOD,MAEX8tB,EAAQ,CACVn9B,MAAOsP,EAAOgxB,MACdj+B,YAAaiN,EAAOozB,YACpB2S,SAAU/lC,EAAOonC,SACjBrgB,KAAM/mB,EAAOwnC,KACb1E,SAAU9iC,EAAO8iC,SACjBnkC,KAAMqB,EAAOrB,KACbmB,OAAQE,EAAOF,OACfC,KAAMC,EAAOD,KACbymC,WAAY1oC,EAASrN,KAEnBqN,EAASipB,KACX/3B,EAASN,GAAem/B,EAAO39B,IAE/BlB,EAASP,GAAewR,EAAQ/P,GAEnC,EACD0jC,SAAUrB,EA1CZ,SA4CG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOlsB,MAAO,CAAEY,WAAY,IAAMirB,SAAU9zB,EAAMo0B,aAA7D,UACE,gBAACjpB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC0G,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,qBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOonC,SACpBnyB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B7tB,QAASi4C,EAAQ/+C,EAAMgX,OAAOonC,UAC9BlyB,YAAa,CAAEC,QAAQ,GACvBlkB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQqpB,UAAYppB,QAAQh1B,EAAM8P,OAAOsuC,UACtDnpB,WAAYj1B,EAAM+0B,QAAQqpB,UAAYp+C,EAAM8P,OAAOsuC,SACnD7oB,SAAUF,EAdZ,UAgBE,yBAAe71B,MAAM,IAAT,IACZ,yBAAgCA,MAAM,oBAAtC,8BAAY,qBAGZ,yBAAqBA,MAAM,SAA3B,mBAAY,UAGZ,yBAAmBA,MAAM,OAAzB,iBAAY,aAMW,WAA1BQ,EAAMgX,OAAOonC,SACZ,eAACloC,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC0G,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8iC,SACpB7tB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B7tB,QAASk4C,EAAQh/C,EAAMgX,OAAO8iC,UAC9B5tB,YAAa,CAAEC,QAAQ,GACvBlkB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ+kB,UAAY9kB,QAAQh1B,EAAM8P,OAAOgqC,UACtD7kB,WAAYj1B,EAAM+0B,QAAQ+kB,UAAY95C,EAAM8P,OAAOgqC,SACnDvkB,SAAUF,EAdZ,UAgBE,yBAAe71B,MAAM,IAAT,IACX8tC,EAAUjsC,KAAI,SAACzB,EAAM/E,GAAP,OACb,yBAAwB2E,MAAOI,EAAKqB,KAApC,SACGrB,EAAKyX,MADKzX,EAAKqB,KADL,SAQnB,GAGyB,SAA1BjB,EAAMgX,OAAOonC,SACZ,eAACloC,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC0G,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8iC,SACpB7tB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B7tB,QAASk4C,EAAQh/C,EAAMgX,OAAO8iC,UAC9B5tB,YAAa,CAAEC,QAAQ,GACvBlkB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ+kB,UAAY9kB,QAAQh1B,EAAM8P,OAAOgqC,UACtD7kB,WAAYj1B,EAAM+0B,QAAQ+kB,UAAY95C,EAAM8P,OAAOgqC,SACnDvkB,SAAUF,EAdZ,UAgBE,yBAAe71B,MAAM,IAAT,IACXi/C,EAAcp9C,KAAI,SAACzB,EAAM/E,GAAP,OACjB,yBAAwB2E,MAAOI,EAAKqB,KAApC,SACGrB,EAAKyX,MADKzX,EAAKqB,KADD,SAQvB,GAGyB,sBAA1BjB,EAAMgX,OAAOonC,SACZ,eAACloC,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC0G,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8iC,SACpB7tB,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B7tB,QAASk4C,EAAQh/C,EAAMgX,OAAO8iC,UAC9B5tB,YAAa,CAAEC,QAAQ,GACvBlkB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ+kB,UAAY9kB,QAAQh1B,EAAM8P,OAAOgqC,UACtD7kB,WAAYj1B,EAAM+0B,QAAQ+kB,UAAY95C,EAAM8P,OAAOgqC,SACnDvkB,SAAUF,EAdZ,UAgBE,yBAAe71B,MAAM,IAAT,IACXm/C,EAAct9C,KAAI,SAACzB,EAAM/E,GAAP,OACjB,yBAAwB2E,MAAOI,EAAKqB,KAApC,SACGrB,EAAKyX,MADKzX,EAAKqB,KADD,SAQvB,MAIuB,sBAA1BjB,EAAMgX,OAAOonC,UAAoCp+C,EAAMgX,OAAO8iC,SAC7D,gBAAC3uC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACG7C,EACC,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAM,OACNkB,MAAOQ,EAAMgX,OAAOrB,KACpB1N,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQpf,MAAQqf,QAAQh1B,EAAM8P,OAAO6F,MAClDsf,WAAYj1B,EAAM+0B,QAAQpf,MAAQ3V,EAAM8P,OAAO6F,KAC/C4f,SAAUF,IAGZ,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACLnR,KAAK,OACL8lB,QAAQ,WACR1tB,MAAM,OACNskC,UAAU,EACV3W,SAAU,SAAClrB,GACTw+C,EAAqBx+C,EAAGf,EAAMgX,OAAO8iC,SACtC,EACDjX,gBAAiB,CAAE/G,QAAQ,GAC3B7zB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQpf,MAAQqf,QAAQh1B,EAAM8P,OAAO6F,MAClDsf,WAAYj1B,EAAM+0B,QAAQpf,MAAQ3V,EAAM8P,OAAO6F,SAKrD,eAAC,KAAD,CAAM6e,WAAS,EAACzW,QAAS,EAAG0W,WAAW,OAAOxsB,MAAO,CAAE6mB,WAAY,GAAIhwB,MAAO,WAA9E,SACE,eAAC,KAAD,CAAMc,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,aAAb,wFAAmGhI,EAAMgX,OAAO8iC,SAAhH,+BAKN,GAGyB,WAA1B95C,EAAMgX,OAAOonC,UAAyBp+C,EAAMgX,OAAO8iC,SAClD,gBAAC3uC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACG7C,EACC,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,SACHiW,KAAK,SACL2U,QAAQ,WACR1tB,MAAM,aACNkB,MAAOQ,EAAMgX,OAAOF,OACpB7O,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQje,QAAUke,QAAQh1B,EAAM8P,OAAOgH,QACpDme,WAAYj1B,EAAM+0B,QAAQje,QAAU9W,EAAM8P,OAAOgH,OACjDye,SAAUF,IAGZ,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,SACHiW,KAAK,SACLnR,KAAK,OACL8lB,QAAQ,WACR1tB,MAAM,aACNskC,UAAU,EACV3W,SAAU,SAAClrB,GACTy+C,EAAuBz+C,EAAGf,EAAMgX,OAAO8iC,SACxC,EACDjX,gBAAiB,CAAE/G,QAAQ,GAC3B7zB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQje,QAAUke,QAAQh1B,EAAM8P,OAAOgH,QACpDme,WAAYj1B,EAAM+0B,QAAQje,QAAU9W,EAAM8P,OAAOgH,WAKvD,eAAC,KAAD,CAAM0d,WAAS,EAACzW,QAAS,EAAG0W,WAAW,OAAOxsB,MAAO,CAAE6mB,WAAY,GAAIhwB,MAAO,WAA9E,SACE,eAAC,KAAD,CAAMc,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,aAAb,iFAA4FhI,EAAMgX,OAAO8iC,SAAzG,wBAKN,GAGyB,SAA1B95C,EAAMgX,OAAOonC,UAAuBp+C,EAAMgX,OAAO8iC,SAChD,gBAAC3uC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACG7C,EACC,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAM,qBACNkB,MAAOQ,EAAMgX,OAAOD,KACpB9O,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQhe,MAAQie,QAAQh1B,EAAM8P,OAAOiH,MAClDke,WAAYj1B,EAAM+0B,QAAQhe,MAAQ/W,EAAM8P,OAAOiH,KAC/Cwe,SAAUF,IAGZ,eAACxJ,GAAA,EAAD,CACEE,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACLnR,KAAK,OACL8lB,QAAQ,WACR1tB,MAAM,qBACNskC,UAAU,EACV3W,SAAU,SAAClrB,GACT0+C,EAAqB1+C,EAAGf,EAAMgX,OAAO8iC,SACtC,EACDjX,gBAAiB,CAAE/G,QAAQ,GAC3B7zB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQhe,MAAQie,QAAQh1B,EAAM8P,OAAOiH,MAClDke,WAAYj1B,EAAM+0B,QAAQhe,MAAQ/W,EAAM8P,OAAOiH,SAKrD,eAAC,KAAD,CAAMyd,WAAS,EAACzW,QAAS,EAAG0W,WAAW,OAAOxsB,MAAO,CAAE6mB,WAAY,GAAIhwB,MAAO,WAA9E,SACE,eAAC,KAAD,CAAMc,MAAI,EAACmkB,GAAI,GAAI2Q,GAAI,GAAvB,SACE,oBAAG1sB,UAAU,aAAb,gFAA2FhI,EAAMgX,OAAO8iC,SAAxG,sBAKN,KAzQL,MA+QL,eAACluB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,kBASA,eAAC3iB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB+rB,UAAWspB,EACX//C,MAAM,UACNgI,QAAS,WACHyiC,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQ0D,cAEnB,EARH,oCAqBnB,E,8CCvmBYsrB,I,OAAb,2KAEE,WACC9mD,KAAK+mD,aAAe,IAAIC,GAAJ,2BAChBhnD,KAAKoH,OADW,IAEnBw0B,UAAWigB,IAASoL,YAAYjnD,QAEjC,GAPH,mCASE,WACC,OAAO,CACP,GAXH,kCAaE,WACCA,KAAK+mD,aAAaG,SAClB,GAfH,oBAiBE,WACO,OAAO,0CACV,KAnBN,GAA2BpkB,IAAMqkB,YCa3BC,GAA0B,CAC9B,WAAc,CACZ,KAAQ,IAEV,MAAS,CACP,OAAU,CACR,UAAY,KA2IHC,GAtIA,SAACjgD,GAGd,IAAMkgD,EAAYvkB,mBAGlB,GAFiBrxB,cAEqCwU,mBAAS,OAA/D,oBAAOqhC,EAAP,KAA4BC,EAA5B,KAGAz1C,qBAAU,WACR01C,GACD,GAAE,IAEH,IAAMA,EAAe,uCAAG,oCAAAp6C,EAAA,6DAChBgR,EAAS,CAAEuP,SAAU,qBADL,SAECngB,GAAoB4Q,GAFrB,gBAEd9Y,EAFc,EAEdA,KACJmI,cAAYC,QAAQC,IAAI,eAAgBrI,GAExCA,GAAQA,EAAKA,MAAQA,EAAKA,KAAKoC,OAAS,IACtC+/C,EAAeN,GAEfO,EAAapiD,EAAKA,KAAKkD,KAAI,YAA+E,IAA5Em/C,EAA2E,EAA3EA,WAAY12C,EAA+D,EAA/DA,QAASpC,EAAsD,EAAtDA,MAAOgb,EAA+C,EAA/CA,QAAS+9B,EAAsC,EAAtCA,KAAMC,EAAgC,EAAhCA,kBAAmBj6C,EAAa,EAAbA,OAE9F,MAAO,CAAE+5C,aAAY12C,UAASpC,QAAOgb,UAASi+B,UAD5BvqC,KAAOwqC,IAAIH,GAAMjP,OAAO,yBACekP,oBAAmBj6C,SAC7E,IACGH,cAAYC,QAAQC,IAAI,eAAgB+5C,GAG5CD,EAAY,WAAZ,MACE,CACEE,WAAY,CAAEt6C,KAAM,UACpB4D,QAAS,CAAE5D,KAAM,UACjBwB,MAAO,CAAExB,KAAM,UACfwc,QAAS,CAAExc,KAAM,UACjBy6C,UAAW,CAAEz6C,KAAM,UACnBw6C,kBAAmB,CAAEx6C,KAAM,UAC3BO,OAAQ,CAAEP,KAAM,YARpB,oBAUKq6C,IAILD,EAAY,MAAY,CACtB,KAAQ,CACN,CAAE,WAAc,UAAW,KAAQ,QAErC,QAAW,CACT,CAAE,WAAc,SAAU,KAAQ,QAEpC,SAAY,CACV,CAAE,WAAc,aAAc,YAAe,UAE/C,OAAU,CAAE,UAAY,IAE1BF,EAAuBE,IAzCH,2CAAH,qDA+DrB,OACE,uCACE,eAAC,GAAD,IAGA,eAACp4C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAGE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UAEE,gBAAC9K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAGE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,gCACA,qBAAIA,UAAU,OAAd,8CAMN,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAC,EAAlB,SAEGk4C,IAAwBpoD,KAAOiT,QAAQm1C,GACtC,qCACE,eAAC,GAAD,CACEjkB,IAAKgkB,EACLW,SAAS,EACTC,qBA3CK,SAACD,GACxB,IAAIE,EAAOF,EAAQG,UACnBH,EAAQG,QAAU,WAMhB,cALOD,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,GACLA,CACR,CACF,EAkCmB5sC,OAAQgsC,EACRc,eAnDG,WACjBf,EAAUxvB,SAAWwvB,EAAUxvB,QAAQivB,cACrCr5C,cAAYC,QAAQC,IAAI,WAAY05C,EAAUxvB,QAAQivB,aAAauB,YAE1E,MAkDiB,OAMN,eAACt1B,GAAA,EAAD,CAAY5jB,UAAU,oBAanC,ECuFcm5C,GA1LgB,WAC7B,IAAM5X,EAAU5N,mBAEV31B,EAAWsE,cACXpD,EAAUqD,cAGhB,GAFiBE,cAE6BqU,mBAAS,KAAvD,oBAAOsiC,EAAP,KAAwBC,EAAxB,KACA,EAAwDviC,mBAAS,CAAC,GAAlE,oBAAOwiC,EAAP,KAA6BC,EAA7B,KACA,EAAgEziC,mBAAS,IAAzE,oBAAiC0iC,GAAjC,WACA,EAAwC1iC,mBAAS,IAAjD,oBAAqB2iC,GAArB,WACA,EAAwC3iC,mBAAS,IAAjD,oBAAO4iC,EAAP,KAAqBC,EAArB,KAEA,EAAoB3rC,eAAZpU,EAAR,EAAQA,EAAR,EAAWqU,KAEXtL,qBAAU,WAER3E,EAAS4Q,MACT5Q,EAAShB,KACV,GAAE,IAEH,IAAM48C,EAAel3C,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWpB,UAA5B,IAC3BK,EAAkBjI,aAAY,SAACnD,GAAD,OAAWA,EAAM0L,aAAaN,eAA9B,IAEpChI,qBAAU,WACLrE,cAAYC,QAAQC,IAAI,kBAAmBk7C,GAC1CA,IAAiB3pD,KAAOiT,QAAQ02C,KAC/Bp7C,cAAYC,QAAQC,IAAI,oBAC3BR,EAAStB,GAAwB,CAAEmd,OAAQ6/B,GAAgBx6C,EAAStF,KAEtE6/C,EAAgB1pD,KAAOizB,KAAK42B,EAAc,CAAEn6C,IAAK25C,IAClD,GAAE,CAACM,IAGJ,IAMM5jB,EAAgB,uCAAG,WAAO/8B,EAAGf,GAAV,eAAAiG,EAAA,sDACvB,IACQ83B,EAAO/9B,EAAMR,MAAMqiD,QACtBv7C,cAAYC,QAAQC,IAAIu3B,GACvBwL,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,UAAW5L,GAAM,EAIlD,CAFC,MAAOM,GACJ/3B,cAAYC,QAAQC,IAAI,aAAc63B,EAC1C,CATsB,2CAAH,wDAYtB,OACE,uCACE,eAAC,GAAD,IAGA,eAACn2B,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SACE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,eAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,6CACA,qBAAIA,UAAU,OAAd,oDAEF,sBAAKA,UAAU,kCAGnB,eAACqf,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACbkuB,QAAS,GACTjG,aAAc,MACdkG,KAAM,IAERlX,SAAUrB,EANZ,SAQG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAX,UACE,eAAChpB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,gBAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,UACHiW,KAAK,UACL2U,QAAQ,WACR1tB,MAAM,UACN2tB,SAAU,SAAClrB,GAGTsgD,EAAmBtgD,EAAEwV,OAAO/W,OAC5Bs+B,EAAiB/8B,EAAGf,EACrB,EACDksB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAdb,UAgBE,yBAAexI,MAAM,IAAT,IACXoiD,GACCA,EAAavgD,KAAI,SAACzB,EAAM/E,GAAP,OACf,yBAAuB2E,MAAOI,EAAK6H,IAAnC,SACG7H,EAAKyX,MADKzX,EAAK6H,IADH,WAQzB,wBAEA,eAAC0D,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,gBAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,eACHiW,KAAK,eACL2U,QAAQ,WACR1tB,MAAM,eACNkB,MAAOuiD,KAAOviD,MACdysB,SAAU,SAAClrB,GAET,IAAIkS,EAAelb,KAAOizB,KAAKrY,EAAiB,CAAElL,IAAK1G,EAAEwV,OAAO/W,QAChE+hD,EAAwBtuC,GAA8B,CAAC,GACvDuuC,EAA4BzgD,EAAEwV,OAAO/W,MACtC,EACD0sB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAfb,UAiBE,yBAAexI,MAAM,IAAT,IACXmT,GACC5a,KAAOyT,OAAOmH,EAAiB,CAAE+P,QAAS,CAAEjb,IAAK25C,KAAqB//C,KAAI,SAACzB,EAAM/E,GAAP,OACxE,0BAAuB2E,MAAOI,EAAK6H,IAAnC,UACG5M,EAAE,EADL,KACU+E,EAAKyX,OADFzX,EAAK6H,IADsD,WAQlF,wBAEA,eAAC0D,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,gBAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAM,WAEN2tB,SAAU,SAAClrB,GAET4gD,EAAgB5gD,EAAEwV,OAAO/W,OAxHjC,SAACuB,GACnBA,EAAE8J,iBACF3D,EAAQG,KAAK,CAAEC,SAAU,kCAAmCoL,KAAM3R,EAAEwV,OAAO/W,OAC5E,CAsH2BwiD,CAAYjhD,EACb,EACDmrB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAdb,UAgBE,yBAAexI,MAAM,IAAT,KACVzH,KAAOiT,QAAQs2C,IACfvpD,KAAO4yB,QAAQ22B,EAAqB1jB,OACpC0jB,EAAqB1jB,KAAKv8B,KAAI,SAACzB,EAAM/E,GAAP,OAE1B,cADF,CACE,UAAuB2E,MAAOI,EAAKi+B,WAAnC,SACGj+B,EAAKyX,MADKzX,EAAK6H,IAFQ,WAUtC,0BA9FH,iBAyGlB,ECzOKu4C,GAA0B,CAC9BiC,WAAY,CACV9jD,KAAM,IAERhC,MAAO,CACL+lD,OAAQ,CACNC,UAAU,IAGdC,QAAS,CACP,CACE/qC,KAAM,GACNgrC,mBAAoB,IACpBC,iBAAkB,IAClBC,cAAe,EACfC,UAAW,IACXC,cAAe,WACfC,kBAAmB,aAGvBrmD,QAAS,CACPsmD,KAAM,CACJC,gBAAiB,SAqTRC,GAhTiC,SAAC7iD,GAE/C,IAAMkgD,EAAYvkB,mBACZ4N,EAAU5N,mBAGhB,GAFiBrxB,cAEqCwU,mBAAS,OAA/D,oBAAOqhC,EAAP,KAA4BC,EAA5B,KACA,EAAoCthC,mBAAS,IAA7C,oBAAOgkC,EAAP,KAAmBC,EAAnB,KAEAp4C,qBAAU,WACR01C,GACD,GAAE,IAEH,IAAMA,EAAe,uCAAG,gCAAAp6C,EAAA,6DAChBgR,EAAS,CAAEuP,SAAU,oBADL,SAECngB,GAAoB4Q,GAFrB,gBAEd9Y,EAFc,EAEdA,KACJmI,cAAYC,QAAQC,IAAI,eAAgBrI,GAExCA,GAAQA,EAAKA,MAAQA,EAAKA,KAAKoC,OAAS,IAC1CwiD,EAAc5kD,EAAKA,MACfmI,cAAYC,QAAQC,IAAI,eAAgBrI,EAAKA,OAP7B,2CAAH,qDAuFrB,OACE,uCACE,eAAC,GAAD,IAGA,eAAC+J,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UACE,gBAAC9K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,wDACA,qBAAIA,UAAU,OAAd,mDAKN,eAACqf,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAe,CACbkuB,QAAS,GACTjG,aAAc,MACdoH,SAAU,GACVtY,KAAM,IAERE,SAAUrB,EACVzV,SAAU,SAAC9c,EAAQ2zB,IAzGd,SAACjoB,EAASzP,EAAc+Q,EAAU9d,GAGrD,GAFAk6C,EAAuB,MAEnB19B,GAAWzP,GAAgB+Q,GAAY9d,GAAQwc,EAAQniB,OAAS,GAAK0S,EAAa1S,OAAS,GAAKyjB,EAASzjB,OAAS,GAAK2F,EAAK3F,OAAS,EAAG,CAC1I,IAAI+/C,EAAeN,GAEfiD,EAAelrD,KAAOyT,OAAOs3C,EAAY,CAAEpgC,QAASA,EAASzP,aAAcA,EAAc+Q,SAAUA,EAAUw8B,WAAYt6C,IACzHI,cAAYC,QAAQC,IAAI,gBAAiBy8C,GAE7C,IAAIC,EAAqBD,EAAa5hD,KAAI,YAAgF,IAA7Eo/C,EAA4E,EAA5EA,KAAyB0C,GAAmD,EAAtEzC,kBAAsE,EAAnDyC,cAAc7X,EAAqC,EAArCA,MAAO8X,EAA8B,EAA9BA,eAAgBt5C,EAAc,EAAdA,QAIzG,MAAO,CAAE62C,UAHOvqC,KAAOwqC,IAAIH,GAAMjP,OAAO,yBAGpB2R,eAAc7X,QAAO8X,iBAAgBt5C,UAC1D,IACGxD,cAAYC,QAAQC,IAAI,uBAAwB08C,GAExCA,EAAmB7hD,KAAI,SAACzB,GAAD,OAAUA,EAAK+gD,SAAf,IAA0Bn1C,QAAO,SAAChM,EAAO9E,EAAO2oD,GAAf,OAAwBA,EAAK7oD,QAAQgF,KAAW9E,CAAhD,IAE9D2G,KAAI,SAACzB,EAAM/E,GAAP,OAAcqoD,EAAkB,uBAAOA,GAAP,CAA2B,CAAEvC,UAAW/gD,EAAMujD,aAAc,QAASC,eAAgBrrD,KAAOizB,KAAKk4B,EAAoB,CAAEvC,UAAW/gD,IAAQ0rC,MAAOxhC,QAAS/R,KAAOizB,KAAKk4B,EAAoB,CAAEvC,UAAW/gD,IAAQkK,UAA/O,IACV,IAAIw5C,EAAwBJ,EAAmB7hD,KAAI,YAKjD,MAAO,CAAEs/C,UALkG,EAAvDA,UAKhCwC,aALuF,EAA5CA,aAK7B7X,MALyE,EAA9B8X,eAKpCt5C,QALkE,EAAdA,QAM9F,IACDw2C,EAAY,WAAZ,kBAQKgD,GAGDh9C,cAAYC,QAAQC,IAAI,qBAAsB08C,GAClD5C,EAAY,MAAY,CACtBzrB,KAAM,CAAC,CAAE0uB,WAAY,cACrBC,QAAS,CAAC,CAAED,WAAY,iBACxBE,SAAU,CAAC,CAAEF,WAAY,QAASG,YAAa,YAC/CxB,OAAQ,CAAEC,UAAU,IAElB77C,cAAYC,QAAQC,IAAI,SAAU85C,GAEtCF,EAAuBE,EACxB,CAGF,CAuDiBqD,CAAa3sC,EAAO6qC,QAAS7qC,EAAO4kC,aAAc5kC,EAAOgsC,SAAUhsC,EAAO0zB,KAC3E,EAVH,SAYG,SAAC1qC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAX,UACE,eAAChpB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,gBAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,UACHiW,KAAK,UACL2U,QAAQ,WACR1tB,MAAM,UACNkB,MAAOQ,EAAMgX,OAAO6qC,QACpB51B,SAAU,SAAClrB,GAETf,EAAM20B,aAAa5zB,EAAG,UAEvB,EACDmrB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAdb,UAgBE,yBAAexI,MAAM,IAAT,KACVzH,KAAOiT,QAAQ83C,IACfA,EACGzhD,KAAI,SAACzB,GAAD,OAAUA,EAAK8iB,OAAf,IACJlX,QAAO,SAAChM,EAAO9E,EAAO2oD,GAAf,OAAwBA,EAAK7oD,QAAQgF,KAAW9E,CAAhD,IACP2G,KAAI,SAACzB,EAAM/E,GAAP,OACH,yBAAmB2E,MAAOI,EAA1B,SACGA,GADUA,EADV,WAQf,wBAEA,eAACuL,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,KAAR,SACE,gBAACrM,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,eACHiW,KAAK,eACL2U,QAAQ,WACR1tB,MAAM,eACNkB,MAAOQ,EAAMgX,OAAO4kC,aACpB3vB,SAAU,SAAClrB,GAETf,EAAM20B,aAAa5zB,EAAG,eAEvB,EACDmrB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAdb,UAgBE,yBAAexI,MAAM,IAAT,KACVzH,KAAOiT,QAAQ83C,IACf9iD,EAAMgX,OAAO6qC,SACb9pD,KAAOyT,OAAOs3C,EAAY,CAAEpgC,QAAS1iB,EAAMgX,OAAO6qC,UAC/CxgD,KAAI,SAACzB,GAAD,OAAUA,EAAKqT,YAAf,IACJzH,QAAO,SAAChM,EAAO9E,EAAO2oD,GAAf,OAAwBA,EAAK7oD,QAAQgF,KAAW9E,CAAhD,IACP2G,KAAI,SAACzB,EAAM/E,GAAP,OACH,0BAAmB2E,MAAOI,EAA1B,UACG/E,EAAE,EADL,KACU+E,IADGA,EADV,WAQf,wBAEA,gBAACuL,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAACujB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,WACHiW,KAAK,WACL2U,QAAQ,WACR1tB,MAAM,WACNkB,MAAOQ,EAAMgX,OAAOgsC,SACpB/2B,SAAU,SAAClrB,GAETf,EAAM20B,aAAa5zB,EAAG,WAEvB,EACDmrB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAdb,UAgBE,yBAAexI,MAAM,IAAT,KACVzH,KAAOiT,QAAQ83C,IACf9iD,EAAMgX,OAAO6qC,SACb7hD,EAAMgX,OAAO4kC,cACb7jD,KAAOyT,OAAOs3C,EAAY,CAAEpgC,QAAS1iB,EAAMgX,OAAO6qC,QAAS5uC,aAAcjT,EAAMgX,OAAO4kC,eACnFv6C,KAAI,SAACzB,GAAD,OAAUA,EAAKokB,QAAf,IACJxY,QAAO,SAAChM,EAAO9E,EAAO2oD,GAAf,OAAwBA,EAAK7oD,QAAQgF,KAAW9E,CAAhD,IACP2G,KAAI,SAACzB,EAAM/E,GAAP,OACH,yBAAmB2E,MAAOI,EAA1B,SACGA,GADUA,EADV,SAQb,eAACsW,GAAA,EAAD,CAAKgiB,GAAG,IAAIjwB,MAAO,CAAEK,aAAc,IAAnC,SACE,gBAACujB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACT3qB,GAAG,OACHiW,KAAK,OACL2U,QAAQ,WACR1tB,MAAM,OACNkB,MAAOQ,EAAMgX,OAAO0zB,KACpBze,SAAU,SAAClrB,GAETf,EAAM20B,aAAa5zB,EAAG,OAEvB,EACDmrB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CAdb,UAgBE,yBAAexI,MAAM,IAAT,IACZ,yBAAoBA,MAAM,QAA1B,kBAAY,SAGZ,yBAAmBA,MAAM,OAAzB,iBAAY,QAGZ,yBAAkBA,MAAM,MAAxB,gBAAY,eAMlB,wBACA,eAAC2L,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKlO,UAAU,aAAf,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAO,CAAEY,UAAW,GAAIP,aAAc,GACtCxJ,MAAM,UACNgI,QAAS,WACP9G,EAAMkvC,YAEP,EANH,kCAvIP,MAyJL,eAAC7nB,GAAA,EAAD,CAAUjmB,GAAG,YAAb,SACG++C,IAAwBpoD,KAAOiT,QAAQm1C,GACtC,qCACE,eAAC,GAAD,CAAyBjkB,IAAKgkB,EAAW0D,GAAC,EAAC/C,SAAS,EAAMC,qBAzMnD,SAACD,GACxB,IAAIE,EAAOF,EAAQG,UACnBH,EAAQG,QAAU,WAMhB,cALOD,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,GACLA,CACR,CACF,EA+LmH5sC,OAAQgsC,EAAqBc,eA/M1H,WACjBf,EAAUxvB,SAAWwvB,EAAUP,cAC7Br5C,cAAYC,QAAQC,IAAI,WAAY05C,EAAUP,aAAauB,YAElE,MA6MiB,OAIN,eAACt1B,GAAA,EAAD,CAAY5jB,UAAU,oBAOnC,ECpUKg4C,GAA0B,CAC9B,WAAc,CACZ,KAAQ,IAEV,MAAS,CACP,OAAU,CACR,UAAY,KAuIHC,GAlIA,SAACjgD,GAGd,IAAMkgD,EAAYvkB,mBAGlB,GAFiBrxB,cAEqCwU,mBAAS,OAA/D,oBAAOqhC,EAAP,KAA4BC,EAA5B,KAGAz1C,qBAAU,WACR01C,GACD,GAAE,IAEH,IAAMA,EAAe,uCAAG,kCAAAp6C,EAAA,sEACCI,IADD,gBACdlI,EADc,EACdA,KACJmI,cAAYC,QAAQC,IAAI,eAAgBrI,GAExCA,GAAQA,EAAKA,MAAQA,EAAKA,KAAKoC,OAAS,IACtC+/C,EAAeN,GAIfO,EAAapiD,EAAKA,KAAKkD,KAAI,YAAsD,IAAnDqhB,EAAkD,EAAlDA,QAASrL,EAAyC,EAAzCA,KAAMnR,EAAmC,EAAnCA,KAAsBO,GAAa,EAA7B6wB,eAA6B,EAAb7wB,QAQrE,MAPa,CACXo7C,QAASn/B,EAAQrL,KACjBukC,aAAcvkC,EACd,oBAAqBnR,EAErB,sBAAuBO,EAG1B,IAGGH,cAAYC,QAAQC,IAAI,eAAgB+5C,GAE5CD,EAAY,WAAZ,KAAqCC,EACrCD,EAAY,MAAY,CACtB,KAAQ,CACN,CAAE,WAAc,UAAW,KAAQ,OACnC,CAAE,WAAc,eAAgB,KAAQ,QAK1C,SAAY,CACV,CAAE,WAAc,eAAgB,YAAe,UAEjD,OAAU,CAAE,UAAY,IAE1BF,EAAuBE,IArCH,2CAAH,qDA2DrB,OACE,uCACE,eAAC,GAAD,IAGA,eAACp4C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAGE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UAEE,gBAAC9K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAGE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,sCACA,qBAAIA,UAAU,OAAd,gDAMN,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAC,EAAlB,SAEGk4C,IAAwBpoD,KAAOiT,QAAQm1C,GACtC,qCACE,eAAC,GAAD,CACEjkB,IAAKgkB,EACLW,SAAS,EACTC,qBA3CK,SAACD,GACxB,IAAIE,EAAOF,EAAQG,UACnBH,EAAQG,QAAU,WAMhB,cALOD,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,GACLA,CACR,CACF,EAkCmB5sC,OAAQgsC,EACRc,eAnDG,WACjBf,EAAUxvB,SAAWwvB,EAAUxvB,QAAQivB,cACrCr5C,cAAYC,QAAQC,IAAI,WAAY05C,EAAUxvB,QAAQivB,aAAauB,YAE1E,MAkDiB,OAMN,eAACt1B,GAAA,EAAD,CAAY5jB,UAAU,oBAanC,EC1IKg4C,GAA0B,CAC9B,WAAc,CACZ,KAAQ,IAEV,MAAS,CACP,OAAU,CACR,UAAY,KA4HHC,GAvHA,SAACjgD,GAGd,IAAMkgD,EAAYvkB,mBAGlB,GAFiBrxB,cAEqCwU,mBAAS,OAA/D,oBAAOqhC,EAAP,KAA4BC,EAA5B,KAGAz1C,qBAAU,WACR01C,GACD,GAAE,IAEH,IAAMA,EAAe,uCAAG,oCAAAp6C,EAAA,6DAChBgR,EAAS,CAAEuP,SAAU,oBADL,SAECngB,GAAoB4Q,GAFrB,gBAEd9Y,EAFc,EAEdA,KACJmI,cAAYC,QAAQC,IAAI,eAAgBrI,GAExCA,GAAQA,EAAKA,MAAQA,EAAKA,KAAKoC,OAAS,IACtC+/C,EAAeN,GAEfO,EAAapiD,EAAKA,KAAKkD,KAAI,kBAAmD,CAAEqhB,QAArD,EAAGA,QAA2DzP,aAA9D,EAAYA,aAAgEytC,kBAA5E,EAA0BA,kBAA1B,IAC/BH,EAAaxoD,KAAO8rD,OAAOtD,EAAY,gBACnCj6C,cAAYC,QAAQC,IAAI,eAAgB+5C,GAE5CD,EAAY,WAAZ,KAAqCC,EACrCD,EAAY,MAAY,CACtB,KAAQ,CACN,CAAE,WAAc,UAAW,KAAQ,OACnC,CAAE,WAAc,eAAgB,KAAQ,QAK1C,SAAY,CACV,CAAE,WAAc,eAAgB,YAAe,UAEjD,OAAU,CAAE,UAAY,IAE1BF,EAAuBE,IA1BH,2CAAH,qDAgDrB,OACE,uCACE,eAAC,GAAD,IAGA,eAACp4C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAGE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UAEE,gBAAC9K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAGE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,gDACA,qBAAIA,UAAU,OAAd,gDAMN,eAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAC,EAAlB,SAEGk4C,IAAwBpoD,KAAOiT,QAAQm1C,GACtC,qCACE,eAAC,GAAD,CACEjkB,IAAKgkB,EACLW,SAAS,EACTC,qBA3CK,SAACD,GACxB,IAAIE,EAAOF,EAAQG,UACnBH,EAAQG,QAAU,WAMhB,cALOD,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,GACLA,CACR,CACF,EAkCmB5sC,OAAQgsC,EACRc,eAnDG,WACjBf,EAAUxvB,SAAWwvB,EAAUxvB,QAAQivB,cACrCr5C,cAAYC,QAAQC,IAAI,WAAY05C,EAAUxvB,QAAQivB,aAAauB,YAE1E,MAkDiB,OAMN,eAACt1B,GAAA,EAAD,CAAY5jB,UAAU,oBAanC,ECtHK4rC,GAAY,SAAC,GAAD,IAAGv4B,EAAH,EAAGA,OAAQ5P,EAAX,EAAWA,UAAWC,EAAtB,EAAsBA,YAAamoC,EAAnC,EAAmCA,WAAYC,EAA/C,EAA+CA,WAA/C,OAEhB,eADA,CACA,gBAGE,qBAAI7rC,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CwR,EAAOk2B,kBACnD,qBAAItpC,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,SAAoF2R,EAAOnV,OAC3F,qBAAI+B,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CwR,EAAO3T,SAC5C,OAAN2T,QAAM,IAANA,OAAA,EAAAA,EAAQ5U,UAAWgS,GAAc,GAAK,wBAAY,qBAAIxQ,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CwR,EAAOo2B,YAAc,EAAIj4C,KAAKmH,MAA8C,KAAvC0a,EAAOo2B,YAActzB,OAAOC,UAAkB,IAAM,KAExL,qBAAIpW,UAAU,aAAd,SACE,sBAAKA,UAAU,MAAf,SACGqT,EAAO5U,SAAWgS,GAAc,GAC/B,qCACE,sBACEzQ,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGsa,EACd,EALH,SAOE,oBAAGrT,UAAU,cAAcC,MAAO,CAAEnJ,MAAO4K,UAI/C,uCACE,sBACE1B,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAGsa,EAChB,EALH,SAOE,eAACnR,GAAA,EAAD,CAASxC,MAAM,cAAf,SACE,oBAAGM,UAAU,aAAaC,MAAO,CAAEnJ,MAAO4K,UAI9C,sBACE1B,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR+yC,EAAW/yC,EAAGsa,EACf,EALH,SAOE,eAACnR,GAAA,EAAD,CAASxC,MAAM,cAAf,SAEE,eAAC,KAAD,QAIJ,sBACEM,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR8yC,EAAW9yC,EAAGsa,GAAQ,EACvB,EALH,SAOE,eAACnR,GAAA,EAAD,CAASxC,MAAM,gBAAf,SACE,oBAAGM,UAAU,eAAeC,MAAO,CAAEnJ,MAAO4K,mBA3D1C,EAoPHy3C,GA9KgB,SAACnhD,GAC1BsG,cAAYC,QAAQC,IAAI,QAASxG,GACrB27B,mBAAhB,IAEM31B,EAAWsE,cACXpD,EAAUqD,cAGVu5C,GAFWr5C,cAEIkxB,iBAAO,OAC5B,EAAoB3lB,eAAZpU,EAAR,EAAQA,EAGF+P,GAHN,EAAWsE,KAGUvL,aAAY,SAACnD,GAAD,OAAWA,EAAMC,OAAOmK,YAAxB,KAEjChH,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,kBAAmBxG,EAAMgkB,SAAStR,MAC1D1S,EAAMgkB,SAAStR,OAAS3a,KAAOiT,QAAQhL,EAAMgkB,SAAStR,QACpDpM,cAAYC,QAAQC,IAAI,oBAC5BR,EAAStB,GAAwB,CAAEmd,OAAQ7hB,EAAMgkB,SAAStR,MAAQxL,EAAStF,IAE9E,GAAE,IAEH,IAAMgJ,EAAoB,SAAC7J,EAAGsa,GAC5Bta,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAE1EnU,EAAQG,KAAK,CAAEC,SAAU,yCAA0CC,MAAO,CAAE8T,OAAQA,EAAQ+D,SAAU,OACvG,EAEK+0B,EAAmB,SAACpzC,EAAGsa,GAC3B,IAAIw3B,EAAW,GACXC,EAAU,GACVQ,EAAc,GAElBzxC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACwb,EAAShiB,GAAV,OAAgBg4C,EAASxrC,KAAKqW,GAAWb,EAAQi0B,cAAjD,IAEnCjvC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAAC0xC,EAAa1iB,GAAd,OAAoByiB,EAAQzrC,KAAK0rC,EAAYzK,YAA7C,IAEnCzmC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACkyC,EAAiBljB,GAAlB,OAAwBijB,EAAYjsC,KAAKksC,EAAgB7rC,MAAzD,IAG/BpB,cAAYC,QAAQC,IAAI,cAAe8sC,GAE3CvyC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAC1EnU,EAAQG,KAAK,CAAEC,SAAU,sCAAuCC,MAAO,CAAEurC,QAASA,EAASD,SAAUA,EAAUS,YAAaA,EAAaj4B,OAAQA,IAClJ,EAEK64B,EAAc,SAACnzC,EAAGsa,EAAQg4B,GAC9B,IAsBiB,EAEV,EAxBHR,EAAW,GACXC,EAAU,GACVQ,EAAc,IAElBzxC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACwb,EAAShiB,GAAV,OAAgBg4C,EAASxrC,KAAKqW,GAAWb,EAAQi0B,cAAjD,IAEnCjvC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAAC0xC,EAAa1iB,GAAd,OAAoByiB,EAAQzrC,KAAK0rC,EAAYzK,YAA7C,IAEnCzmC,OAAOmV,OAAOqE,EAAOssB,UAAUtmC,KAAI,SAACkyC,EAAiBljB,GAAlB,OAAwBijB,EAAYjsC,KAAKksC,EAAgB7rC,MAAzD,IAG/BpB,cAAYC,QAAQC,IAAI,cAAe8sC,GAE3CvyC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,6CAA8C6U,GAQtEg4B,GACFnsC,EAAQG,KAAK,CAAEC,SAAU,mCAAoCC,MAAO,CAAEurC,QAASA,EAASD,SAAUA,EAAUS,YAAaA,EAAaj4B,OAAQA,EAAQ+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,YAE7KlY,EAAQG,KAAK,CACXC,SAAU,oCACVC,MAAO,CACLurC,QAASA,EACTD,SAAUA,EACVS,YAAaA,EACbj4B,OAAQA,EACR+D,SAAQ,OAAED,QAAF,IAAEA,GAAF,UAAEA,EAAOzM,YAAT,aAAE,EAAa0M,WAI9B,EAEK2kC,EAAU,WAAS,EAErBxkC,EAAchd,aAAaC,QAAQ,eACnC2c,EAAQzc,KAAKC,MAAM4c,GACXA,GAAeJ,GAASA,EAAMzM,MAAQyM,EAAMzM,KAAK+M,OAAQN,EAAMzM,KAAK+M,MAEhF,OADInZ,cAAYC,QAAQC,IAAI,QAAS+Y,GAEnC,uCACE,eAAC,GAAD,IAGA,gBAACrX,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAACF,MAAO,CAAE/N,gBAAiB,QAA7D,UACGnC,KAAOiT,QAAQ2G,GACZ,qCACA,eAACxG,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,eAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,qBACA,qBAAIA,UAAU,wBAQ1B9F,EAAO+I,MAAM5J,KAAI,SAAC6J,EAAMrQ,GACxB,OACE,eAACsQ,GAAA,EAAD,CAAanD,UAAU,OAAvB,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,SAAsBkD,EAAKhF,OAC3B,qBAAI8B,UAAU,OAAd,SAAsBkD,EAAKnB,qBAKjC,gBAACuB,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,0BACA,qBAAIA,MAAM,MAAV,kBACA,qBAAIA,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,mBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBAECoG,GACC5Z,KAAOyT,OAAOzT,KAAOyT,OAAOmG,EAAc,CAAElL,OAAQ,aAAe,CAAEP,KAAMgF,EAAKhF,OAAQ7E,KAAI,SAACga,EAAQxgB,GACnG,OAAO,eAAC,GAAD,CAAmBwgB,OAAQA,EAAQ3P,YAAad,EAAmBspC,YAAa6P,EAASD,aAAcA,EAAchQ,WAAYK,EAAkBN,WAAYK,GAA/Ir5C,EACxB,gBA5BHA,EAmCb,IACH,eAACuQ,GAAA,EAAD,CAAMpD,UAAU,SAAhB,SACE,eAAC4jB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPI,EAAQ+mC,QACT,EALH,6BAeb,EChQK+R,GAA0B,CAC9BiC,WAAY,CACV9jD,KAAM,IAERhC,MAAO,CACL+lD,OAAQ,CACNC,UAAU,IAGdC,QAAS,CACP,CACE/qC,KAAM,GACNgrC,mBAAoB,IACpBC,iBAAkB,IAClBC,cAAe,EACfC,UAAW,IACXC,cAAe,WACfC,kBAAmB,aAGvBrmD,QAAS,CACPsmD,KAAM,CACJC,gBAAiB,SA8IRC,GAzIiC,SAAC7iD,GAE/C,IAAMkgD,EAAYvkB,mBAIlB,GAHgBA,mBACCrxB,cAEqCwU,mBAAS,OAA/D,oBAAOqhC,EAAP,KAA4BC,EAA5B,KACA,EAAoCthC,mBAAS,IAA7C,oBAAmBikC,GAAnB,WAEAp4C,qBAAU,WACR01C,GACD,GAAE,IAEH,IAAMA,EAAe,uCAAG,gCAAAp6C,EAAA,6DAChBgR,EAAS,CAAEuP,SAAU,oBADL,SAECngB,GAAoB4Q,GAFrB,gBAEd9Y,EAFc,EAEdA,KACJmI,cAAYC,QAAQC,IAAI,eAAgBrI,GAExCA,GAAQA,EAAKA,MAAQA,EAAKA,KAAKoC,OAAS,IAC1CwiD,EAAc5kD,EAAKA,MACfmI,cAAYC,QAAQC,IAAI,eAAgBrI,EAAKA,MACjDwlD,EAAaxlD,EAAKA,OARE,2CAAH,qDAYfwlD,EAAe,SAACV,GACpB7C,EAAuB,MAGvB,IAAIE,EAAeN,GAEfkD,EAAqBD,EAAa5hD,KAAI,YAA6G,IAA1Go/C,EAAyG,EAAzGA,KAAyB0C,GAAgF,EAAnGzC,kBAAmG,EAAhFyC,cAAc7X,EAAkE,EAAlEA,MAAO8X,EAA2D,EAA3DA,eAAgBt5C,EAA2C,EAA3CA,QAAS4Y,EAAkC,EAAlCA,QAAShQ,EAAyB,EAAzBA,KAAMO,EAAmB,EAAnBA,aAC7H0tC,EAAYvqC,KAAOwqC,IAAIH,GAAMjP,OAAO,yBAGxC,MAAO,CAAEiP,KAFTA,EAAOrqC,KAAOwqC,IAAIH,GAAMjP,OAAO,cAEhBmP,YAAWwC,eAAc7X,QAAO8X,iBAAgBt5C,UAAS4Y,UAAShQ,OAAMO,eACxF,IACG3M,cAAYC,QAAQC,IAAI,uBAAwB08C,GAEpD5C,EAAY,WAAZ,MACE,CACE59B,QAAS,CAAExc,KAAM,UACjBu6C,KAAM,CAAEv6C,KAAM,UACdy6C,UAAW,CAAEz6C,KAAM,UACnB+M,aAAc,CAAE/M,KAAM,UACtBolC,MAAO,CAAEplC,KAAM,UACfi9C,aAAc,CAAEj9C,KAAM,UACtBk9C,eAAgB,CAAEl9C,KAAM,UACxBwM,KAAM,CAAExM,KAAM,UACd4D,QAAS,CAAE5D,KAAM,YAVrB,oBAYKg9C,IAGL5C,EAAY,MAAY,CACtBzrB,KAAM,CAAC,CAAE0uB,WAAY,WACrB,CAAEA,WAAY,gBACd,CAAEA,WAAY,QACd,CAAEA,WAAY,SACdC,QAAS,CAAC,CACRD,WAAY,eACZ/3C,OAAQ,CACN,QAAW,CACT,mBACA,qBACA,yBAINi4C,SAAU,CAAC,CAAEF,WAAY,QAASG,YAAa,UAC/CxB,OAAQ,CAAEC,UAAU,IAElB77C,cAAYC,QAAQC,IAAI,SAAU85C,GAEtCF,EAAuBE,EAIxB,EAoBD,OACE,uCACE,eAAC,GAAD,IAGA,eAACp4C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,eAACkO,GAAA,EAAD,UACE,gBAAC9K,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,wCACA,qBAAIA,UAAU,OAAd,2EAMN,eAACqf,GAAA,EAAD,CAAUjmB,GAAG,YAAb,SACG++C,IAAwBpoD,KAAOiT,QAAQm1C,GACtC,qCACE,eAAC,GAAD,CAAyBjkB,IAAKgkB,EAAW0D,GAAC,EAAC/C,SAAS,EAAMC,qBApCnD,SAACD,GACxB,IAAIE,EAAOF,EAAQG,UACnBH,EAAQG,QAAU,WAMhB,cALOD,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,UACLA,EAAK,GACLA,CACR,CACF,EA0BmH5sC,OAAQgsC,EAAqBc,eA1C1H,WACjBf,EAAUxvB,SAAWwvB,EAAUP,cAC7Br5C,cAAYC,QAAQC,IAAI,WAAY05C,EAAUP,aAAauB,YAElE,MAwCiB,OAIN,eAACt1B,GAAA,EAAD,CAAY5jB,UAAU,oBAOnC,E,0CCjJK8/B,GAAeC,KAAW,CAC9Bic,UAAWjc,OAAYkc,GACrBlc,KAAW,CACT9mC,KAAM8mC,KAAW,yBAAyBtuC,IAAI,EAAG,4DAA4DwG,IAAI,EAAG,4DAA4DqzB,SAAS,+BACzLjc,KAAM0wB,KAAW,yBAAyBtuC,IAAI,EAAG,wDAAwDwG,IAAI,IAAK,0DAA0DqzB,SAAS,4BA8d5K8U,GAzdc,SAACpoC,GAE5B,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAgDuU,mBAAS,CAAC,CAAE7d,KAAM,KAAMoW,KAAM,MAA9E,oBAAO6sC,EAAP,KAAyBC,EAAzB,KACA,EAA8CrlC,mBAAS,MAAvD,oBAAOsiC,EAAP,KAAwBC,EAAxB,KAGM7qB,EAAet0B,EAAOu0B,eAC5B,EAAsC3X,mBAAS,GAA/C,oBAAOqQ,EAAP,KAAoBC,EAApB,KACA,EAA8CtQ,mBAAS,IAAvD,oBAAOuQ,EAAP,KAAwBC,EAAxB,KACA,EAA0CxQ,mBAAS,GAAnD,oBAAOyQ,EAAP,KAAsBC,EAAtB,KAEA,EAAkC1Q,mBAAS,IAA3C,oBAAO2Q,EAAP,KAAkBiH,EAAlB,KACA,EAA8C5X,mBAAS,IAAvD,oBAAOslC,EAAP,KAAwBC,EAAxB,KAGM9a,EAAU5N,mBAGhBhxB,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,sCAC5BR,EAAS4Q,KACV,GAAE,IAEH,IAAM+sB,EAAaj5B,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWpB,UAA5B,IACzBgyC,EAAmB3gB,EAAWpjC,OAChC+F,cAAYC,QAAQC,IAAI,aAAcm9B,GACtCr9B,cAAYC,QAAQC,IAAI,mBAAoB89C,GAEhD35C,qBAAU,WACRw5C,EAAoBxgB,GAChBr9B,cAAYC,QAAQC,IAAI,kBAAmBm9B,EAChD,GAAE,CAACA,IAIJh5B,qBAAU,WACR,IAAI45C,EAAiBxsD,KAAOyT,OAAO04C,GAAkB,SAAUtkD,GAC7D,OAAQA,EAAKyX,KAAKmkC,cAAehhD,QAAQi1B,EAAU+rB,gBAAkB,GAAM57C,EAAKqB,KAAKu6C,cAAehhD,QAAQi1B,EAAU+rB,gBAAkB,CACzI,IACD6I,EAAmBE,GACfhb,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAa4a,GAAgB,EAE9D,GAAE,CAACL,EAAkBz0B,IAGtB9kB,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,2BAA4B49C,EAAgB7jD,QAExE,IAAIwvB,EAAmBv2B,KAAKw2B,KAAKo0B,EAAgB7jD,OAASi2B,GAI1D,GAHAhH,EAAiBO,GAGbq0B,GAAmBA,EAAgB7jD,OAAS,EAAG,CAEjD,IAAI0vB,GAAcd,EAAc,GAAKqH,EAAe,EAAI,GAAKrH,EAAc,GAAKqH,EAC5EtG,EAAWf,EAAcqH,EAAe4tB,EAAgB7jD,OAAS6jD,EAAgB7jD,OAAS4uB,EAAcqH,EAExGrG,EAAep4B,KAAOoE,MAAMioD,EAAiBn0B,EAAYC,GACzDC,GAAgBA,EAAa5vB,OAAS,EACxC+uB,EAAmBa,GAEnBb,EAAmB,GAEtB,MACCA,EAAmB,GAEtB,GAAE,CAACH,EAAai1B,IAGjB,IAAMI,EAAsB,SAACzjD,EAAGrG,EAAOgoB,GACrC,MAAwB3hB,EAAEwV,OAAlBc,EAAR,EAAQA,KAAM7X,EAAd,EAAcA,MACVilD,OAAeprB,EAEnB,UAAI3W,QAAJ,IAAIA,KAASjb,IACXg9C,EAAe1sD,KAAOizB,KAAKk5B,EAAkB,CAAEz8C,IAAKib,EAAQjb,UAEzD,CACH,IAAMi9C,EAAe3sD,KAAOyT,OAAO04C,EAAkB,CAAEjjD,KAAMyhB,EAAQzhB,KAAMwd,KAAMiE,EAAQjE,OACzFgmC,EAAeC,EAAaA,EAAankD,OAAS,EACnD,CAEGkkD,IACFA,EAAaptC,GAAkB,SAATA,EAAmB7X,EAAM6d,cAAgB7d,GAEjE2kD,EAAoB,aAAID,IAEpB3a,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAaua,GAAkB,EAGhE,EA6CD,OACE,uCACE,eAAC,GAAD,IAGA,eAACh8C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,uCACA,qBAAIA,UAAU,OAAd,iEAMN,gBAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAC,EAAlB,UAEE,gBAACkD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC/X,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,SACE,oBAAGsO,KAAK,iFAAiFC,OAAO,SAAS6O,IAAI,aAA7G,SACE,eAACjF,GAAA,EAAD,UACE,uBACEnY,UAAU,eACVkrB,wBAAyB,CACvBC,OAAQ,kEAOpB,eAACjd,GAAA,EAAD,CAAKgiB,GAAG,SAMV,eAAC,KAAD,CACEvE,cAAe,CACbqwB,UAAW,CACT,CACE/iD,KAAM,GACNoW,KAAM,GACN5Q,QAAQ,EACR0R,YAAa,QAInB0b,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACbrkC,cAAYC,QAAQC,IAAI,SAAUwQ,GACtC,IrEnKalU,EAAU6E,EqEmKjBg9C,EAAoB5sD,KAAOyC,QAAQwc,EAAOgtC,UAAW5C,GAE3D,GAAIuD,GAAqB,EAAG,CAAC,IAAD,IACqB,EAEtB,EAFzB,GAAI,UAAC3tC,EAAOgtC,UAAUW,UAAlB,QAAC,EAAqCl9C,IAExC,GADa1P,KAAOyT,OAAOwL,EAAOgtC,UAAW,CAAE/iD,KAAI,UAAE+V,EAAOgtC,UAAUW,UAAnB,aAAE,EAAqC1jD,OAC/EV,OAAS,EAQlB,YAPAoG,wBAAa,CACXe,MAAO,QACPd,QAAS,sCAA6BoQ,EAAOgtC,UAAUW,UAA9C,aAA6B,EAAqC1jD,MAAO,IAClF4F,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAC3CC,eAAe,EACfC,qBAAqB,IAM3B,IAAM49C,EAAkB,CACtB3jD,KAAM+V,EAAOgtC,UAAUW,GAAmB1jD,KAC1CoW,KAAML,EAAOgtC,UAAUW,GAAmBttC,KAC1Cc,YAAanB,EAAOgtC,UAAUW,GAAmBxsC,YACjD1R,OAAQuQ,EAAOgtC,UAAUW,GAAmBl+C,QAG9C,UAAIuQ,EAAOgtC,UAAUW,UAArB,OAAI,EAAqCl9C,MACvCm9C,EAAe,IAAU5tC,EAAOgtC,UAAUW,GAAmBl9C,KAG/DlB,QAAQC,IAAI,4BAA6Bo+C,GACzC5+C,GrEhMWlD,EqEgMe,CAAEkhD,UAAW,CAACY,IrEhMnBj9C,EqEgMuCT,ErEhMlD,uCAAsB,WAAOlB,GAAP,qBAAAC,EAAA,6DAChDK,cAAYC,QAAQC,IAAI,kCAAmC1D,GADX,SAGlDkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHU,SAI3BC,GAA4BvD,GAJD,gBAI1C3E,EAJ0C,EAI1CA,KACR6H,EAAS,CAAEE,KAAM2I,GAAoBzI,QAASjI,IACzB,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UAERT,EAAS4Q,MACT9T,EAAS8wB,UAAYjsB,EAAON,KAAKvE,EAAS8wB,UAC1CjtB,wBAAa,CACXe,MAAO,UACPb,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WACPa,EAAON,KAAK,CAAEC,SAAU,8BACzB,OAKY,WAAb,OAAJnJ,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAxBpH,kDA2BlDT,QAAQuuB,MAAM,WAAd,kCAA0B,KAAO3tB,UAC7B,2CAAOA,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,UAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,iBA9BoC,yBAsClDrB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAtCU,6EAAtB,uDqEiMX,CAEF,EACDwkC,SAAUrB,EA/CZ,SAiDG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OACTlsB,MAAO,CAAEY,WAAY,IACrBirB,SAAU9zB,EAAMo0B,aAChBC,QAASr0B,EAAMs0B,YAHjB,UAIE,wBACA,qBAAItsB,UAAU,SACd,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,qBAAIlwB,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,uDAIF,eAACsN,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC3D,GAAA,EAAD,CAAWtsB,MAAO,CAAEK,aAAc,GAAlC,SACE,gBAAC6vB,GAAA,EAAD,CAAYnwB,UAAU,0BAAtB,UACE,eAACowB,GAAA,EAAD,CAAiBC,UAAU,UAA3B,SACE,eAACC,GAAA,EAAD,UACE,oBAAGtwB,UAAU,4BAGjB,eAAC,KAAD,CACEA,UAAU,2BACVuwB,YAAY,0BACZryB,KAAK,OACL+lB,SAAU,SAAClrB,GACLuF,cAAYC,QAAQC,IAAIzF,EAAEwV,OAAO/W,OACrCk3B,EAAa31B,EAAEwV,OAAO/W,MACvB,cAQX,eAAC8L,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,SACE,yBAAOwL,UAAU,cAAjB,UACE,gCACE,qBAAIuD,MAAM,MAAM2sB,GAAI,EAApB,sBACA,qBAAI3sB,MAAM,MAAM2sB,GAAI,EAApB,0BACA,qBAAI3sB,MAAM,MAAM2sB,GAAI,EAApB,6BAEA,qBAAI3sB,MAAM,MAAM2sB,GAAI,EAApB,wBAGD7I,GACCA,EAAgB9uB,OAAS,GACzB8uB,EAAgBhuB,KAAI,SAAClI,EAAG0B,GAAO,IAAD,wBAC5B,OACE,qCACE,gCACE,8BACE,eAACgxB,GAAA,EAAD,CACEE,WAAS,EAET1U,KAAK,OACL2U,QAAQ,WACRxsB,MAAOrG,EAAE8H,KACTgrB,SAAU,SAAClrB,GAAD,OAAOyjD,EAAoBzjD,EAAGlG,EAAG1B,EAAjC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOyjD,EAAoBzjD,EAAGlG,EAAG1B,EAAjC,EACR8O,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOk0C,WAAahkD,EAAM+0B,QAAQivB,YAAxC,UAAqDhkD,EAAM+0B,QAAQivB,UAAUnpD,UAA7E,aAAqD,EAA4BoG,OAAQ+zB,QAAO,UAACh1B,EAAM8P,OAAOk0C,UAAUnpD,UAAxB,aAAC,EAA2BoG,MACnIg0B,WAAYj1B,EAAM8P,OAAOk0C,WAAahkD,EAAM+0B,QAAQivB,WAAxC,UAAqDhkD,EAAM+0B,QAAQivB,UAAUnpD,UAA7E,OAAqD,EAA4BoG,KAAjF,UAAwFjB,EAAM8P,OAAOk0C,UAAUnpD,UAA/G,aAAwF,EAA2BoG,KAAO,GACtIs0B,SAAUoO,EAAWpjC,OAAU1F,GAAKs0B,EAAc,GAAKqH,MAG3D,8BACE,eAAC3K,GAAA,EAAD,CACEE,WAAS,EAET1U,KAAK,OACL2U,QAAQ,WACRxsB,MAAOrG,EAAEke,KACT4U,SAAU,SAAClrB,GAAD,OAAOyjD,EAAoBzjD,EAAGlG,EAAG1B,EAAjC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOyjD,EAAoBzjD,EAAGlG,EAAG1B,EAAjC,EACR8O,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOk0C,WAAahkD,EAAM+0B,QAAQivB,YAAxC,UAAqDhkD,EAAM+0B,QAAQivB,UAAUnpD,UAA7E,aAAqD,EAA4Bwc,OAAQ2d,QAAO,UAACh1B,EAAM8P,OAAOk0C,UAAUnpD,UAAxB,aAAC,EAA2Bwc,MACnI4d,WAAYj1B,EAAM8P,OAAOk0C,WAAahkD,EAAM+0B,QAAQivB,WAAxC,UAAqDhkD,EAAM+0B,QAAQivB,UAAUnpD,UAA7E,OAAqD,EAA4Bwc,KAAjF,UAAwFrX,EAAM8P,OAAOk0C,UAAUnpD,UAA/G,aAAwF,EAA2Bwc,KAAO,OAG1I,8BACE,eAACwU,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EAET1U,KAAK,cACL2U,QAAQ,WACRxsB,MAAOrG,EAAEgf,YACT8T,SAAU,SAAClrB,GAAD,OAAOyjD,EAAoBzjD,EAAGlG,EAAG1B,EAAjC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOyjD,EAAoBzjD,EAAGlG,EAAG1B,EAAjC,EACR8O,MAAyB,QAAlB9O,EAAEgf,YAAF,2BAA+BpP,GAAUC,UAAzC,IAAmD9O,gBAAiB,YAAc6O,GAAUC,SACnGkjB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOk0C,WAAahkD,EAAM+0B,QAAQivB,YAAxC,UAAqDhkD,EAAM+0B,QAAQivB,UAAUnpD,UAA7E,aAAqD,EAA4Bsd,cAAe6c,QAAO,UAACh1B,EAAM8P,OAAOk0C,UAAUnpD,UAAxB,aAAC,EAA2Bsd,aAC1I8c,WAAYj1B,EAAM8P,OAAOk0C,WAAahkD,EAAM+0B,QAAQivB,WAAxC,UAAqDhkD,EAAM+0B,QAAQivB,UAAUnpD,UAA7E,OAAqD,EAA4Bsd,YAAjF,UAA+FnY,EAAM8P,OAAOk0C,UAAUnpD,UAAtH,aAA+F,EAA2Bsd,YAAc,GAftJ,SAiBGA,GAAY9W,KAAI,SAACzB,GAAD,OACf,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADE,QAOrB,8BACE,uBAAKoI,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GAERsgD,EAAmBloD,GA3P9B,SAACuB,EAAOgoB,GACvC,IAAI+hC,OAAeprB,EAEnB,UAAI3W,QAAJ,IAAIA,KAASjb,IACXg9C,EAAe1sD,KAAOizB,KAAKk5B,EAAkB,CAAEz8C,IAAKib,EAAQjb,UAEzD,CACH,IAAMi9C,EAAe3sD,KAAOyT,OAAO04C,EAAkB,CAAEjjD,KAAMyhB,EAAQzhB,KAAMwd,KAAMiE,EAAQjE,OACzFgmC,EAAeC,EAAaA,EAAankD,OAAS,EACnD,CAEGkkD,IACFA,EAAY,QAAc/hC,EAAQjc,QAEpC09C,EAAoB,aAAID,IAEpB3a,EAAQ7Y,UACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAaua,GAAkB,GAC7D3a,EAAQ7Y,QAAQ0D,eAEnB,CAwO2CywB,CAAyBhqD,EAAG1B,EAC7B,EAPH,SASGA,EAAEsN,OAAS,eAAC,KAAD,CAAoBwB,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,UAGtI,eAACQ,GAAA,EAAD,CAASxC,MAAM,eAAeyC,OAAK,EAAnC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GAERsgD,EAAmBloD,GAtO/B,SAAC4H,EAAG2hB,GAClC3hB,EAAE8J,iBACE0+B,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQ0D,cAEnB,CAkO2C0wB,CAAwB/jD,EACzB,EAPH,SASE,eAAC,KAAD,CAAiBkH,MAAO,CAAEnJ,MAAO4K,UAKpCw6C,EAAiB3jD,OAAS,IAAO1F,GAAKs0B,EAAc,GAAKqH,GACrD,eAACtsB,GAAA,EAAD,CAASxC,MAAM,aAAayC,OAAK,EAAjC,SACD,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GA7PpDojD,GAAoB,SAACD,GAAD,6BAA0BA,GAA1B,CAA4C,CAAEjjD,KAAM,GAAIoW,KAAM,GAAIc,YAAa,KAAM4sC,kBAAmB,KAAMt+C,QAAQ,EAAOgY,KAAMrI,OAASo7B,OAAO,qBAAnJ,IAChBlrC,cAAYC,QAAQC,IAAI,YAExB+iC,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAaua,GAAkB,EA2PpB,EALH,SAOE,eAAC,KAAD,CACEl8C,UAAU,sBAU7B,SAKP,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,aAAvB,SACGhI,EAAM6lC,YAAc,IAAM7lC,EAAM8lC,QAC/B,qBACE+G,OAAK,EACL5kC,MAAO,CACLS,WAAY,OACZG,UAAW,GACXP,cAAe,GACfxJ,MAAO,WANX,yDAWE,WAjLX,OAwML,eAAC8sB,GAAA,EAAD,UACE,eAACzgB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACGoK,GAAiBA,EAAgB,EAChC,eAAC,KAAD,CACEmB,QAASvB,EACTwB,MAAOpB,EACPqB,aAAc,SAACF,GACbtB,EAAesB,EAChB,IAED,WAMV,eAAC9E,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WAEPqc,OAAOjc,QAAQguB,MAChB,EANH,mCAmBnB,ECreK4S,GAAezU,KAAW,CAC9Bia,UAAWja,OAAY4wB,GACrB5wB,KAAW,CACTpyB,KAAMoyB,KAAW,0BAA0B55B,IAAI,EAAG,6DAA6DwG,IAAI,GAAI,8DAA8DqzB,SAAS,gCAC9Ljc,KAAMgc,KAAW,0BAA0B55B,IAAI,EAAG,wDAAwDwG,IAAI,IAAK,0DAA0DqzB,SAAS,6BAoZ7K8U,GA/Yc,SAACpoC,GAE5B,IAAMgG,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAgDuU,mBAAS,CAAC,CAAE7d,KAAM,KAAMoW,KAAM,MAA9E,oBAAO2tC,EAAP,KAAyBC,EAAzB,KACA,EAAgDnmC,oBAAU,GAA1D,oBAAOw+B,EAAP,KAAyBC,EAAzB,KAGA,EAAkCz+B,mBAAS,IAA3C,oBAAO2Q,EAAP,KAAkBiH,EAAlB,KACA,EAA8C5X,mBAAS,IAAvD,oBAAOslC,EAAP,KAAwBC,EAAxB,KAGM9a,EAAU5N,mBAGhBhxB,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,sCAC5BR,EAAS2Q,KACV,GAAE,IAEH,IAAMuuC,EAAcx6C,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAC5B5M,cAAYC,QAAQC,IAAI,cAAe0+C,GAE3Cv6C,qBAAU,WACRs6C,EAAoBC,EACrB,GAAE,CAACA,IAGJv6C,qBAAU,WACR,IAAI45C,EAAiBxsD,KAAOyT,OAAOw5C,GAAkB,SAAUplD,GAC7D,OAASA,EAAKyX,KAAKmkC,cAAehhD,QAAQi1B,EAAU+rB,gBAAkB,GAAM57C,EAAKqB,KAAKu6C,cAAehhD,QAAQi1B,EAAU+rB,gBAAkB,CAC1I,IACD6I,EAAmBE,GACfhb,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAa4a,GAAgB,EAE9D,GAAE,CAACS,EAAkBv1B,IAGtB,IAAM01B,EAAuB,SAACpkD,EAAGrG,EAAO0kB,GAClC9Y,cAAYC,QAAQC,IAAI,WAAYzF,EAAEwV,QAC1ChQ,QAAQC,IAAI,6BAA8Bw+C,GAC1C,MAAwBjkD,EAAEwV,OAAlBc,EAAR,EAAQA,KAAM7X,EAAd,EAAcA,MAEVilD,OAAeprB,EAEnB,UAAIja,QAAJ,IAAIA,KAAU3X,IACZg9C,EAAe1sD,KAAOizB,KAAKg6B,EAAkB,CAAEv9C,IAAK2X,EAAS3X,UAE1D,CACH,IAAMi9C,EAAe3sD,KAAOyT,OAAOw5C,EAAkB,CAAE/jD,KAAMme,EAASne,KAAMwd,KAAMW,EAASX,OAC3FgmC,EAAeC,EAAaA,EAAankD,OAAS,EACnD,CAEGkkD,IACFA,EAAaptC,GAAQ7X,GAEvBylD,EAAoB,aAAID,IAEpBzb,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAaqb,GAAkB,EAEhE,EAkBD,OACE,uCACE,eAAC,GAAD,IAGA,eAAC98C,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,SAEE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAf,SACE,sBAAKA,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UAEE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,sBAAKA,UAAU,MAAf,SACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,8BACA,qBAAIA,UAAU,OAAd,iEAMN,gBAACqf,GAAA,EAAD,CAAUpf,MAAO,CAAC,EAAlB,UAEE,gBAACkD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,UACE,eAACiK,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,SACE,oBAAGsO,KAAK,iFAAiFC,OAAO,SAAS6O,IAAI,aAA7G,SACE,eAACjF,GAAA,EAAD,UACE,uBACEnY,UAAU,eACVkrB,wBAAyB,CACvBC,OAAQ,0DAOpB,gBAACjd,GAAA,EAAD,WACE,eAACiK,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,SACE,oBAAGsO,KAAK,wDAAwDC,OAAO,SAAS6O,IAAI,aAApF,SACE,eAACjF,GAAA,EAAD,UACE,uBACEnY,UAAU,eACVkrB,wBAAyB,CACvBC,OAAQ,oCAMlB,iGAIJ,eAAC,KAAD,CACEQ,cAAe,CACb2Z,UAAW,CAAC,CAAErsC,KAAM,GAAIoW,KAAM,GAAIiI,IAAK,GAAI8lC,IAAK,GAAI3mC,KAAM,MAE5DoV,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GAGjB,GAFApkC,QAAQC,IAAI,SAAUwQ,GAElBsmC,GAAoB,EAAG,CAAC,IAAD,IACqB,EAErB,EAFzB,GAAI,UAACtmC,EAAOs2B,UAAUgQ,UAAlB,QAAC,EAAoC71C,IAEvC,GADa1P,KAAOyT,OAAOwL,EAAQ,CAAE/V,KAAI,UAAE+V,EAAOs2B,UAAUgQ,UAAnB,aAAE,EAAoCr8C,OACpEV,OAAS,EAQlB,YAPAoG,wBAAa,CACXe,MAAO,QACPd,QAAS,sCAA6BoQ,EAAOs2B,UAAUgQ,UAA9C,aAA6B,EAAoCr8C,MAAO,IACjF4F,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAC3CC,eAAe,EACfC,qBAAqB,IAM3B,IAAMq+C,EAAmB,CACvBpkD,KAAM+V,EAAOs2B,UAAUgQ,GAAkBr8C,KACzCqe,IAAKtI,EAAOs2B,UAAUgQ,GAAkBh+B,IACxC8lC,IAAKpuC,EAAOs2B,UAAUgQ,GAAkB8H,IACxC/tC,KAAML,EAAOs2B,UAAUgQ,GAAkBjmC,MAG3C,UAAIL,EAAOs2B,UAAUgQ,UAArB,OAAI,EAAoC71C,MACtC49C,EAAgB,IAAUruC,EAAOs2B,UAAUgQ,GAAkB71C,KAG/DlB,QAAQC,IAAI,4BAA6B6+C,GACzCr/C,GtE1FmBlD,EsE0Fe,CAAEwqC,UAAW,CAAC+X,ItE1FnB19C,EsE0FwCT,EtE1FnD,uCAAsB,WAAOlB,GAAP,6CAAAC,EAAA,6DACxDK,cAAYC,QAAQC,IAAI,kCAAmC1D,GADH,SAG1DkD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAHkB,SAInCC,GAA6BvD,GAJM,gBAIlD3E,EAJkD,EAIlDA,KACR6H,EAAS,CAAEE,KAAM4I,GAAwB1I,QAASjI,IAC7B,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UAER3D,EAAS8wB,UAAYjsB,EAAON,KAAKvE,EAAS8wB,UAC1CjtB,wBAAa,CAAEe,MAAO,UAAWb,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAExG,WAAb,OAAJ7I,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,UACJH,cAAYC,QAAQC,IAAIrI,GAC5BwI,wBAAa,CAAEC,QAAS,iDAAkDC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAb5G,kDAgBtDV,cAAYC,QAAQC,IAAI,WAAZ,kCAAwB,KAAOW,UAC3C,2CAAOA,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,kBAERuwB,EAAa,2CAAOzwB,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuByI,QAAU,KAC5E0Q,EAAc,2CAAOnQ,gBAAP,mBAAiBhJ,YAAjB,SAAuBA,KAAvB,sCAA8B,KAAOgJ,gBAArC,iBAA8B,EAAiBhJ,YAA/C,aAA8B,EAAuBA,KAArD,sCAA4D,KAAOgJ,gBAAnE,iBAA4D,EAAiBhJ,YAA7E,aAA4D,EAAuByI,QACrG0Q,EAAcvf,KAAOiT,QAAQsM,GAAe,6BAA+BA,EAC3E3Q,wBAAa,CAAEe,MAAOkwB,EAAYhxB,QAAS0Q,EAAazQ,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,KAxB1F,yBA4B1DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA5BkB,6EAAtB,uDsE2FnB,CtE3FmB,IAACtD,EAAU6E,CsE6FhC,EACDijC,SAAUrB,EAvCZ,SAyCG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOL,SAAU9zB,EAAMo0B,aAAcC,QAASr0B,EAAMs0B,YAA/D,UACE,wBACA,qBAAItsB,UAAU,SACd,iCACE,wFACA,8BACE,gCACE,yFACA,mFACA,8EACA,4GAIN,qBAAIA,UAAU,SACd,gBAACmD,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,qBAAIlwB,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,uCAIF,eAACsN,GAAA,EAAD,CAAKgiB,GAAG,IAAR,SACE,eAAC3D,GAAA,EAAD,CAAWtsB,MAAO,CAAEK,aAAc,GAAlC,SACE,gBAAC6vB,GAAA,EAAD,CAAYnwB,UAAU,0BAAtB,UACE,eAACowB,GAAA,EAAD,CAAiBC,UAAU,UAA3B,SACE,eAACC,GAAA,EAAD,UACE,oBAAGtwB,UAAU,4BAGjB,eAAC,KAAD,CACEA,UAAU,2BACVuwB,YAAY,2BACZryB,KAAK,OACL+lB,SAAU,SAAClrB,GACLuF,cAAYC,QAAQC,IAAIzF,EAAEwV,OAAO/W,OACrCk3B,EAAa31B,EAAEwV,OAAO/W,MACvB,cAOX,eAAC8L,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,SACE,yBAAOwL,UAAU,cAAjB,UACE,gCACE,qBAAIuD,MAAM,MAAV,2BACA,qBAAIA,MAAM,MAAV,2BACA,qBAAIA,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,gCACA,qBAAIA,MAAM,MAAV,wBAID64C,EAAgB/iD,KAAI,SAAClI,EAAG0B,GAAO,IAAD,gCAC7B,OACE,gCACE,8BACE,eAACgxB,GAAA,EAAD,CACEE,WAAS,EAETwM,YAAY,gBACZlhB,KAAK,OACL2U,QAAQ,WACRxsB,MAAOrG,EAAE8H,KACTgrB,SAAU,SAAClrB,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACR8O,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,YAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,aAAqD,EAA4BoG,OAAQ+zB,QAAO,UAACh1B,EAAM8P,OAAOw9B,UAAUzyC,UAAxB,aAAC,EAA2BoG,MACnIg0B,WAAYj1B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,WAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,OAAqD,EAA4BoG,KAAjF,UAAwFjB,EAAM8P,OAAOw9B,UAAUzyC,UAA/G,aAAwF,EAA2BoG,KAAO,GACtIs0B,SAAU2vB,EAAY3kD,OAAS1F,MAGnC,8BACE,eAACgxB,GAAA,EAAD,CACEE,WAAS,EAETwM,YAAY,gBACZlhB,KAAK,OACL2U,QAAQ,WACRxsB,MAAOrG,EAAEke,KACT4U,SAAU,SAAClrB,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACR8O,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,YAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,aAAqD,EAA4Bwc,OAAQ2d,QAAO,UAACh1B,EAAM8P,OAAOw9B,UAAUzyC,UAAxB,aAAC,EAA2Bwc,MACnI4d,WAAYj1B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,WAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,OAAqD,EAA4Bwc,KAAjF,UAAwFrX,EAAM8P,OAAOw9B,UAAUzyC,UAA/G,aAAwF,EAA2Bwc,KAAO,OAG1I,8BACE,gBAACwU,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EAET1U,KAAK,MACL2U,QAAQ,WACRxsB,MAAOrG,EAAEmmB,IACT2M,SAAU,SAAClrB,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACR8O,MAAOc,GAAUC,SACjBkjB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,YAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,aAAqD,EAA4BykB,MAAO0V,QAAO,UAACh1B,EAAM8P,OAAOw9B,UAAUzyC,UAAxB,aAAC,EAA2BykB,KAClI2V,WAAYj1B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,WAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,OAAqD,EAA4BykB,IAAjF,UAAuFtf,EAAM8P,OAAOw9B,UAAUzyC,UAA9G,aAAuF,EAA2BykB,IAAM,GAftI,UAiBE,yBAAoB9f,MAAO,MAA3B,0BAAa,OAGb,yBAAoBA,MAAO,MAA3B,0BAAa,YAKjB,8BACE,eAACqsB,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EAET1U,KAAK,MACL2U,QAAQ,WACRxsB,MAAOrG,EAAEisD,IACTn5B,SAAU,SAAClrB,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACV0xC,OAAQ,SAAC9pC,GAAD,OAAOokD,EAAqBpkD,EAAGlG,EAAG1B,EAAlC,EACR8O,MAAiB,QAAV9O,EAAEisD,IAAF,2BAAuBr8C,GAAUC,UAAjC,IAA2C9O,gBAAiB,YAAc6O,GAAUC,SAC3FkjB,YAAa,CACXC,QAAQ,GAEVnkB,UAAW,6CACX8sB,MAAO90B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,YAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,aAAqD,EAA4BuqD,MAAOpwB,QAAO,UAACh1B,EAAM8P,OAAOw9B,UAAUzyC,UAAxB,aAAC,EAA2BuqD,KAClInwB,WAAYj1B,EAAM8P,OAAOw9B,WAAattC,EAAM+0B,QAAQuY,WAAxC,UAAqDttC,EAAM+0B,QAAQuY,UAAUzyC,UAA7E,OAAqD,EAA4BuqD,IAAjF,UAAuFplD,EAAM8P,OAAOw9B,UAAUzyC,UAA9G,aAAuF,EAA2BuqD,IAAM,GAftI,SAiBGhtC,GAAa/W,KAAI,SAACzB,GAAD,OAChB,yBAAmBJ,MAAOI,EAA1B,SACGA,GADUA,EADG,QAOtB,8BACE,uBAAKoI,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,eAAeyC,OAAK,EAAnC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACRw8C,EAAoB1iD,GA5P5B,SAACkG,EAAG5H,GAClC4H,EAAE8J,iBACE0+B,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQ0D,cAEnB,CAwPuC0wB,CAAwB/jD,EACzB,EANH,SAQE,eAAC,KAAD,CAAiBkH,MAAO,CAAEnJ,MAAO4K,UAGpCs7C,EAAiBzkD,OAAS,IAAM1F,GAC/B,eAACqP,GAAA,EAAD,CAASxC,MAAM,mBAAmByC,OAAK,EAAvC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GA/QhDkkD,EAAoB,GAAD,oBAAKD,GAAL,CAAuB,CAAE/jD,KAAM,GAAIoW,KAAM,GAAIiI,IAAK,MAAO8lC,IAAK,KAAM3mC,KAAMrI,OAASo7B,OAAO,uBAEzGjI,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQiZ,cAAc,YAAaqb,GAAkB,EA4QmB,EAH9C,SAKE,eAAC,KAAD,CAAsB/8C,MAAO,CAAEnJ,MAAO4K,iBAQrD,SAIL,eAACyB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,aAAvB,SACGhI,EAAM6lC,YAAc,IAAM7lC,EAAM8lC,QAC/B,qBACE+G,OAAK,EACL5kC,MAAO,CACLS,WAAY,OACZG,UAAW,GACXP,cAAe,GACfxJ,MAAO,WANX,yDAWE,WA7LX,OAuML,eAAC8sB,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,SACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,mCAkBnB,EC1ZKowB,GAAY,SAAC,GAAD,MAAGnU,EAAH,EAAGA,OAAQj0C,EAAX,EAAWA,SAAUuO,EAArB,EAAqBA,UAAWC,EAAhC,EAAgCA,YAAhC,OAGhB,eAFA,CAEA,gBACE,qBAAIzD,MAAO,CAAE4B,WAAY,gBAAzB,SAA4CsnC,EAAOv4B,eACnD,qBAAI3Q,MAAO,CAAE4B,WAAY,eAAgB/K,MAAO4K,IAAhD,gBAAoFynC,QAApF,IAAoFA,GAApF,UAAoFA,EAAQt6B,sBAA5F,aAAoF,EAAwBmC,WAC5G,8BACGm4B,EAAO1qC,OACN,gBAACwD,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,YAA1B,UACE,oBAAGA,UAAU,eADf,SAKA,gBAACiC,GAAA,EAAD,CAAOnL,MAAM,GAAGkJ,UAAU,iBAA1B,UACE,oBAAGA,UAAU,eADf,UAMJ,qBAAIA,UAAU,aAAd,SACE,uBAAKA,UAAU,MAAf,UACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,OAAOyC,OAAK,EAA3B,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR0K,EAAU1K,EAAGowC,EAAQj0C,GACrBimB,OAAOwuB,SAAS,EAAG,EACpB,EANH,SAQE,oBAAG3pC,UAAU,oBAGjB,eAACkC,GAAA,EAAD,CAASxC,MAAM,wBAAwByC,OAAK,EAA5C,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,GACR2K,EAAY3K,EAAGowC,EAChB,EALH,SAOGA,EAAO1qC,OAAS,eAAC,KAAD,CAAoBwB,MAAO,CAAEnJ,MAAO4K,MAA6C,eAAC,KAAD,CAAqBzB,MAAO,CAAEnJ,MAAO4K,iBAzCjI,EAiDZo+B,GAAeC,KAAW,CAC9BnvB,aAAcmvB,OAAazU,SAAS,0BAu+CvBiyB,GAn+CY,WAEzB,IAAMv/C,EAAWsE,cACXpD,EAAUqD,cAEVg/B,GADW9+B,cACDkxB,oBAEhB,EAAwC7c,mBAAS,IAAjD,oBAAOgvB,EAAP,KAAqBC,EAArB,KACA,EAA8CjvB,mBAAS,IAAvD,oBAAO0mC,EAAP,KAAwBC,EAAxB,KACA,EAAoD3mC,mBAAS,CAAC,GAA9D,oBAAO4mC,EAAP,KAA2BC,EAA3B,KACA,EAA4C7mC,oBAAS,GAArD,oBAAO8mC,EAAP,KAAuBC,EAAvB,KACA,EAA4C/mC,mBAAS,GAArD,oBAAOue,EAAP,KAAuB+E,EAAvB,KAEAz3B,qBAAU,WACR3E,EAASV,MACTU,EAAS2Q,KACV,GAAE,IAGH,IAAMyiB,EAAgB1uB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWF,sBAA5B,IAClC7I,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,8BAA+B4yB,QACrCC,IAAlBD,GAAiD,OAAlBA,GAA0BrhC,KAAO4yB,QAAQyO,IAC1EqsB,EAAmBrsB,EAEtB,GAAE,CAACA,IAEJ,IAAMlmB,EAAcxI,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAChCvI,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,gBAAiB0M,EAC9C,GAAE,CAACA,EAAawyC,IAEjB/6C,qBAAU,WAIR,GAHIrE,cAAYC,QAAQC,IAAI,2BAA4Bk/C,GAGpDA,GAAsBA,EAAmB7uC,iBAAmB9e,KAAOiT,QAAQ06C,EAAmB7uC,iBAAmB0yB,EAAQ7Y,SAAWk1B,EAAgB,CAAC,IAAD,EAClJE,EAA2BJ,EAAmB7uC,eAC9CvQ,cAAYC,QAAQC,IAAI,qCAAsCs/C,GAClE,UAAAvc,EAAQ7Y,eAAR,SAAiBuD,YACjBsV,EAAQ7Y,QAAQiZ,cAAc,eAA9B,OAA8Cmc,QAA9C,IAA8CA,OAA9C,EAA8CA,EAA0BltC,cAAc,GACtF2wB,EAAQ7Y,QAAQiZ,cAAc,SAAUmc,EAAyBjtC,QAAQ,GACzE0wB,EAAQ7Y,QAAQiZ,cAAc,UAAWmc,EAAyBhtC,SAAS,GAC3EywB,EAAQ7Y,QAAQiZ,cAAc,SAAUmc,EAAyB/sC,QAAQ,GACzEwwB,EAAQ7Y,QAAQiZ,cAAc,WAAYmc,EAAyB9sC,UAAU,GAC7EuwB,EAAQ7Y,QAAQiZ,cAAc,WAAYmc,EAAyB7sC,UAAU,GAC7EswB,EAAQ7Y,QAAQiZ,cAAc,cAAemc,EAAyB5sC,aAAa,GACnFqwB,EAAQ7Y,QAAQiZ,cAAc,YAAamc,EAAyB3sC,WAAW,GAC/EowB,EAAQ7Y,QAAQiZ,cAAc,kBAAmBmc,EAAyB1sC,iBAAiB,GAC3FmwB,EAAQ7Y,QAAQiZ,cAAc,eAAgBmc,EAAyBzsC,cAAc,GACrFkwB,EAAQ7Y,QAAQiZ,cAAc,YAAamc,EAAyBxsC,WAAW,GAC/EiwB,EAAQ7Y,QAAQiZ,cAAc,uBAAwBmc,EAAyBvsC,sBAAsB,GACrGgwB,EAAQ7Y,QAAQiZ,cAAc,eAAgBmc,EAAyBtsC,cAAc,GACrF+vB,EAAQ7Y,QAAQiZ,cAAc,wBAAyBmc,EAAyBrsC,uBAAuB,GACvG8vB,EAAQ7Y,QAAQiZ,cAAc,YAAamc,EAAyBnsC,WAAW,GAC/E4vB,EAAQ7Y,QAAQiZ,cAAc,aAAcmc,EAAyBlsC,YAAY,GACjF2vB,EAAQ7Y,QAAQiZ,cAAc,YAAamc,EAAyBjsC,WAAW,GAC/E0vB,EAAQ7Y,QAAQiZ,cAAc,8BAA+Bmc,EAAyBhsC,6BAA6B,GACnHyvB,EAAQ7Y,QAAQiZ,cAAc,yBAA0Bmc,EAAyB9rC,wBAAwB,GACzGuvB,EAAQ7Y,QAAQiZ,cAAc,oCAAqCmc,EAAyB7rC,mCAAmC,GAC/HsvB,EAAQ7Y,QAAQiZ,cAAc,yBAA0Bmc,EAAyB5rC,wBAAwB,GACzGqvB,EAAQ7Y,QAAQiZ,cAAc,oCAAqCmc,EAAyB3rC,mCAAmC,GAC/HovB,EAAQ7Y,QAAQiZ,cAAc,gCAAiCmc,EAAyB/rC,+BAA+B,GACvHwvB,EAAQ7Y,QAAQiZ,cAAc,kCAAmCmc,EAAyB1rC,iCAAiC,GAC3HmvB,EAAQ7Y,QAAQiZ,cAAc,mCAAoCmc,EAAyBzrC,kCAAkC,GAC7HkvB,EAAQ7Y,QAAQiZ,cAAc,+BAAgCmc,EAAyBxrC,8BAA8B,GACrHivB,EAAQ7Y,QAAQiZ,cAAc,iCAAkCmc,EAAyBvrC,gCAAgC,GACzHgvB,EAAQ7Y,QAAQiZ,cAAc,8BAA+Bmc,EAAyBrrC,6BAA6B,GACnH8uB,EAAQ7Y,QAAQiZ,cAAc,0BAA2Bmc,EAAyBtrC,yBAAyB,GAC3G+uB,EAAQ7Y,QAAQiZ,cAAc,sCAAuCmc,EAAyBprC,qCAAqC,GACnI6uB,EAAQ7Y,QAAQiZ,cAAc,6BAA8Bmc,EAAyBnrC,4BAA4B,GACjH4uB,EAAQ7Y,QAAQiZ,cAAc,6BAA8Bmc,EAAyBlrC,4BAA4B,GACjH2uB,EAAQ7Y,QAAQiZ,cAAc,6BAA8Bmc,EAAyBjrC,4BAA4B,GACjH0uB,EAAQ7Y,QAAQiZ,cAAc,6BAA8Bmc,EAAyBhrC,4BAA4B,GACjHyuB,EAAQ7Y,QAAQiZ,cAAc,6BAA8Bmc,EAAyB/qC,4BAA4B,GACjHwuB,EAAQ7Y,QAAQiZ,cAAc,6BAA8Bmc,EAAyB9qC,4BAA4B,GACjHuuB,EAAQ7Y,QAAQiZ,cAAc,QAASmc,EAAyB7qC,OAAO,GACvEsuB,EAAQ7Y,QAAQiZ,cAAc,OAAQmc,EAAyB5qC,MAAM,GACrEquB,EAAQ7Y,QAAQiZ,cAAc,MAAOmc,EAAyB3qC,KAAK,GACnEouB,EAAQ7Y,QAAQiZ,cAAc,gBAAiBmc,EAAyB1qC,eAAe,GACvFmuB,EAAQ7Y,QAAQiZ,cAAc,UAAWmc,EAAyBvqC,SAAS,GAC3EguB,EAAQ7Y,QAAQiZ,cAAc,gBAAiBmc,EAAyB5pC,eAAe,GACvFqtB,EAAQ7Y,QAAQiZ,cAAc,gBAAiBmc,EAAyB3pC,eAAe,GACvFotB,EAAQ7Y,QAAQiZ,cAAc,cAAemc,EAAyB1pC,aAAa,GACnFmtB,EAAQ7Y,QAAQiZ,cAAc,UAAWmc,EAAyBh8C,SAAS,GAC3Ey/B,EAAQ7Y,QAAQiZ,cAAc,YAAamc,EAAyBzpC,WAAW,GAC/EktB,EAAQ7Y,QAAQiZ,cAAc,kBAAmBmc,EAAyBxpC,iBAAiB,GAC3FitB,EAAQ7Y,QAAQiZ,cAAc,kCAAmCmc,EAAyBvpC,iCAAiC,GAC3HgtB,EAAQ7Y,QAAQiZ,cAAc,cAAemc,EAAyBtpC,aAAa,GACnF+sB,EAAQ7Y,QAAQiZ,cAAc,QAASmc,EAAyBrpC,OAAO,GACvE8sB,EAAQ7Y,QAAQiZ,cAAc,WAAYmc,EAAyBppC,UAAU,GAC7E6sB,EAAQ7Y,QAAQiZ,cAAc,uBAAwBmc,EAAyBnpC,sBAAsB,GACrG4sB,EAAQ7Y,QAAQiZ,cAAc,UAAWmc,EAAyBlpC,SAAS,GAC3E2sB,EAAQ7Y,QAAQiZ,cAAc,UAAWmc,EAAyBjpC,SAAS,GAC3E0sB,EAAQ7Y,QAAQiZ,cAAc,oBAAqBmc,EAAyBhpC,mBAAmB,GAC/FysB,EAAQ7Y,QAAQiZ,cAAc,oBAAqBmc,EAAyB/oC,mBAAmB,GAC/FwsB,EAAQ7Y,QAAQiZ,cAAc,SAAUmc,EAAyB9oC,QAAQ,GACzEusB,EAAQ7Y,QAAQiZ,cAAc,SAAUmc,EAAyBzqC,QAAQ,GACzEkuB,EAAQ7Y,QAAQiZ,cAAc,YAAamc,EAAyBxqC,WAAW,GAC/EiuB,EAAQ7Y,QAAQiZ,cAAc,mBAAoBmc,EAAyBtqC,kBAAkB,GAC7F+tB,EAAQ7Y,QAAQiZ,cAAc,oBAAqBmc,EAAyBrqC,mBAAmB,GAC/F8tB,EAAQ7Y,QAAQiZ,cAAc,cAAemc,EAAyBpqC,aAAa,GACnF6tB,EAAQ7Y,QAAQiZ,cAAc,kBAAmBmc,EAAyBnqC,iBAAiB,GAC3F4tB,EAAQ7Y,QAAQiZ,cAAc,kBAAmBmc,EAAyBlqC,iBAAiB,GAC3F2tB,EAAQ7Y,QAAQiZ,cAAc,0BAA2Bmc,EAAyBjqC,yBAAyB,GAC3G0tB,EAAQ7Y,QAAQiZ,cAAc,sBAAuBmc,EAAyBhqC,qBAAqB,GACnGytB,EAAQ7Y,QAAQiZ,cAAc,gBAAiBmc,EAAyB/pC,eAAe,GAEvFwtB,EAAQ7Y,QAAQiZ,cAAc,4BAA6Bmc,EAAyB9pC,2BAA2B,GAC/GutB,EAAQ7Y,QAAQiZ,cAAc,kBAAmBmc,EAAyB7pC,iBAAiB,GAE3F,IAAI4R,EAAY91B,KAAOyT,OAAO0H,EAAa,CAAEjS,KAAM6kD,EAAyBltC,eAC5Em1B,EAAgBlgB,EACjB,MAAM,GAAI0b,EAAQ7Y,SAAWk1B,EAAgB,CAAC,IAAD,EAC5C,UAAArc,EAAQ7Y,eAAR,SAAiBuD,WAClB,CAEDmO,EAAkB/E,EAAiB,EACpC,GAAE,CAACqoB,IAEJ,IAAM96C,EAAoB,SAAC7J,EAAGowC,GAC5BpwC,EAAE8J,iBACEvE,cAAYC,QAAQC,IAAI,SAAU2qC,GAEtC,IAAI4U,EAAa,CACfC,UAAW7U,EAAO1pC,IAClBhB,QAAQ,EACRoQ,eAAgBs6B,EAAOt6B,gBAGrBovC,EAAc,CAChBD,UAAW7U,EAAO1pC,IAClBhB,QAAQ,EACRoQ,eAAgBs6B,EAAOt6B,gBAGzBs6B,EAAO1qC,OAAST,EAASR,GAA0BugD,EAAY7+C,IAAYlB,EAASR,GAA0BygD,EAAa/+C,GAC5H,EAEKu2C,EAAkB,SAAC18C,EAAGowC,GAC1BpwC,EAAE8J,gBACH,EAEKE,EAAkB,SAAChK,EAAGowC,EAAQj0C,GAClC6D,EAAE8J,iBACF86C,EAAsBxU,GACtB0U,GAAkB,EACnB,EAEKje,EAAoB,SAAC7mC,EAAGowC,EAAQjrC,GACpCnF,EAAE8J,gBACH,EAkCKq7C,EAAgB,SAAClvC,GAGrB,GAFI1Q,cAAYC,QAAQC,IAAI,kBAAmBwQ,GAE3C0uC,GAAsBA,EAAmBj+C,IAAK,CAChD,IAAIwP,EAAS,CACX+uC,UAAWN,EAAmBj+C,IAC9BoP,eAAgBG,GAElBhR,EAASR,GAA0ByR,EAAQ/P,GAC5C,KAAM,CAAC,IAAD,iBACgBs+C,GADhB,IACL,2BAAsC,CACpC,GADoC,QACzB5sC,eAAiB5B,EAAO4B,aAEjC,YADAjS,wBAAa,CAAEe,MAAO,QAASd,QAAS,wBAAyBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAS,IAAKC,eAAe,EAAOC,qBAAqB,GAG/J,CANI,+BAOL,IAAIiQ,EAAS,CACX2B,aAAc5B,EAAO4B,aACrB/B,eAAgBG,GAElBhR,GvE/EoClD,EuE+EDmU,EvE/EWtP,EuE+EHT,EvE/ER,uCAAsB,WAAOlB,GAAP,yBAAAC,EAAA,sEAE3DD,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IAFmB,SAGpCC,GAA8BvD,GAHM,mBAGnD3E,EAHmD,EAGnDA,MAEJ2E,EAAS+T,eAAeC,OAL+B,iCAM7BlR,GAAa9C,EAAUmE,MAAOU,GAND,yCAUvDhB,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAVrH,mDAcrDV,cAAYC,QAAQC,IAAI,kDAd6B,YAiBvD1D,EAAS+T,eAAeE,KAjB+B,kCAkB7BlR,GAAW/C,EAAUmE,MAAOU,GAlBC,0CAsBvDhB,wBAAa,CAAEC,QAAS,yDAA0DC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAtBrH,mDA0BrDV,cAAYC,QAAQC,IAAI,kDA1B6B,QA6BvDF,cAAYC,QAAQC,IAAI,yBAA0BrI,GAEjC,aAAb,OAAJA,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACRE,wBAAa,CAAEe,MAAO,UAAWb,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAC3HhB,EAASV,OACiB,WAAb,OAAJnH,QAAI,IAAJA,OAAA,EAAAA,EAAMsI,SACfE,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAEzI,QAAF,IAAEA,OAAF,EAAEA,EAAMyI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IAnCxF,kDAsCvDV,cAAYC,QAAQC,IAAI,gBAAZ,MACZ,2CAAOW,gBAAP,SAAiBV,QAAsC,OAA5B,2CAAOU,gBAAP,eAAiBV,SAC9CE,wBAAa,CAAEC,QAAS,mBAAoBC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IACtIW,EAAON,KAAK,iBAEZV,wBAAa,CAAEe,MAAO,QAASd,QAAO,OAAC,EAAD,6BAAE,KAAOO,gBAAT,iBAAE,EAAiBhJ,YAAnB,aAAE,EAAuByI,QAASC,QAAS,CAAC,CAAEvI,MAAO,KAAMwI,QAAS,WAAQ,IAAKC,eAAe,EAAOC,qBAAqB,IA3CzG,yBA8C3DhB,EAAS,CAAEE,KAAMC,GAAcC,SAAS,IA9CmB,6EAAtB,uDuEgFpC,CvEhFoC,IAACtD,EAAU6E,CuEiFjD,EA8BD,OACE,uCACE,eAAC,GAAD,IAGA,gBAACO,GAAA,EAAD,CAAWF,UAAU,QAAQG,OAAK,EAAlC,UAGE,eAACgD,GAAA,EAAD,CAAKnD,UAAU,OAAOC,MAAO,CAAEhL,QAAS2oD,EAAiB,QAAU,QAAnE,SACE,sBAAK59C,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,uBAAKA,UAAU,iBAAf,UACE,qBAAIA,UAAU,OAAd,0BACA,qBAAIA,UAAU,OAAd,2CAEF,sBAAKA,UAAU,iBAInB,eAACqf,GAAA,EAAD,UACE,eAAC,KAAD,CACEsM,cAAehb,GACfkb,iBAAkBiU,GAClBhU,SAAU,SAAC9c,EAAQ2zB,GACjBpkC,QAAQC,IAAI,SAAUwQ,GACtBkvC,EAAclvC,EACf,EACD4zB,SAAUrB,EAPZ,SASG,SAACvpC,GAAD,OACC,gBAACk0B,GAAA,EAAD,CAAMC,KAAK,OAAOlsB,MAAO,CAAEY,WAAY,IAAMirB,SAAU9zB,EAAMo0B,aAAchzB,GAAIi8B,EAA/E,UACE,eAAClyB,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,gBAAC0G,GAAA,EAAD,CACEC,QAAM,EACNC,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO4B,aACpBqT,SAAUjsB,EAAM20B,aAAa,gBAC7BkW,OAAQ7qC,EAAM20B,aAAa,gBAC3B1sB,MAAOc,GAAUC,SACjBkjB,YAAa,CAAEC,QAAQ,GACvBnkB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQnc,cAAgBoc,QAAQh1B,EAAM8P,OAAO8I,cAC1Dqc,WAAYj1B,EAAM+0B,QAAQnc,cAAgB5Y,EAAM8P,OAAO8I,aAZzD,UAeE,yBAAepZ,MAAM,IAAT,IACXsuC,EAAazsC,KAAI,SAAC6iB,EAAKrpB,GAOtB,OALMyL,cAAYC,QAAQC,IAAI,WAAY0d,EAAIjjB,MAGxCqF,cAAYC,QAAQC,IAAI,4BAA6BxG,EAAMgX,OAAO4B,cAGtE,yBAAgBpZ,MAAO0kB,EAAIjjB,KAA3B,SACGijB,EAAI7M,MADMxc,EAIhB,WAKP,qBAAImN,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,+BAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,UACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO6B,OACpBoT,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAM20B,aAAa,UAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQlc,QAAUmc,QAAQh1B,EAAM8P,OAAO+I,QACpDoc,WAAYj1B,EAAM+0B,QAAQlc,QAAU7Y,EAAM8P,OAAO+I,WAIrD,eAAC3C,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,WACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8B,QACpBmT,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAM20B,aAAa,WAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQjc,SAAWkc,QAAQh1B,EAAM8P,OAAOgJ,SACrDmc,WAAYj1B,EAAM+0B,QAAQjc,SAAW9Y,EAAM8P,OAAOgJ,YAItD,eAAC5C,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,UACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+B,OACpBkT,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAM20B,aAAa,UAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQhc,QAAUic,QAAQh1B,EAAM8P,OAAOiJ,QACpDkc,WAAYj1B,EAAM+0B,QAAQhc,QAAU/Y,EAAM8P,OAAOiJ,cAKvD,gBAAC5N,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgC,SACpBiT,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/b,UAAYgc,QAAQh1B,EAAM8P,OAAOkJ,UACtDic,WAAYj1B,EAAM+0B,QAAQ/b,UAAYhZ,EAAM8P,OAAOkJ,aAIvD,eAAC9C,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOiC,SACpBgT,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ9b,UAAY+b,QAAQh1B,EAAM8P,OAAOmJ,UACtDgc,WAAYj1B,EAAM+0B,QAAQ9b,UAAYjZ,EAAM8P,OAAOmJ,aAIvD,eAAC/C,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,mBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOoC,gBACpB6S,SAAUjsB,EAAM20B,aAAa,mBAC7BkW,OAAQ7qC,EAAM20B,aAAa,mBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ3b,iBAAmB4b,QAAQh1B,EAAM8P,OAAOsJ,iBAC7D6b,WAAYj1B,EAAM+0B,QAAQ3b,iBAAmBpZ,EAAM8P,OAAOsJ,uBAKhE,gBAACjO,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOqC,aACpB4S,SAAUjsB,EAAM20B,aAAa,gBAC7BkW,OAAQ7qC,EAAM20B,aAAa,gBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ1b,cAAgB2b,QAAQh1B,EAAM8P,OAAOuJ,cAC1D4b,WAAYj1B,EAAM+0B,QAAQ1b,cAAgBrZ,EAAM8P,OAAOuJ,iBAI3D,eAACnD,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,eACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOkC,YACpB+S,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAM20B,aAAa,eAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ7b,aAAe8b,QAAQh1B,EAAM8P,OAAOoJ,aACzD+b,WAAYj1B,EAAM+0B,QAAQ7b,aAAelZ,EAAM8P,OAAOoJ,gBAI1D,eAAChD,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,aACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOmC,UACpB8S,SAAUjsB,EAAM20B,aAAa,aAC7BkW,OAAQ7qC,EAAM20B,aAAa,aAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ5b,WAAa6b,QAAQh1B,EAAM8P,OAAOqJ,WACvD8b,WAAYj1B,EAAM+0B,QAAQ5b,WAAanZ,EAAM8P,OAAOqJ,iBAK1D,gBAAChO,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOkF,cACpB+P,SAAUjsB,EAAM20B,aAAa,iBAC7BkW,OAAQ7qC,EAAM20B,aAAa,iBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ7Y,eAAiB8Y,QAAQh1B,EAAM8P,OAAOoM,eAC3D+Y,WAAYj1B,EAAM+0B,QAAQ7Y,eAAiBlc,EAAM8P,OAAOoM,kBAI5D,eAAChG,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOmF,cACpB8P,SAAUjsB,EAAM20B,aAAa,iBAC7BkW,OAAQ7qC,EAAM20B,aAAa,iBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ5Y,eAAiB6Y,QAAQh1B,EAAM8P,OAAOqM,eAC3D8Y,WAAYj1B,EAAM+0B,QAAQ5Y,eAAiBnc,EAAM8P,OAAOqM,kBAI5D,eAACjG,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,eACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOoF,YACpB6P,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAM20B,aAAa,eAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ3Y,aAAe4Y,QAAQh1B,EAAM8P,OAAOsM,aACzD6Y,WAAYj1B,EAAM+0B,QAAQ3Y,aAAepc,EAAM8P,OAAOsM,mBAK5D,gBAACjR,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,0BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO4F,QACpBqP,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAM20B,aAAa,WAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQnY,SAAWoY,QAAQh1B,EAAM8P,OAAO8M,SACrDqY,WAAYj1B,EAAM+0B,QAAQnY,SAAW5c,EAAM8P,OAAO8M,YAItD,eAAC1G,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,0BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO6F,QACpBoP,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAM20B,aAAa,WAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQlY,SAAWmY,QAAQh1B,EAAM8P,OAAO+M,SACrDoY,WAAYj1B,EAAM+0B,QAAQlY,SAAW7c,EAAM8P,OAAO+M,YAItD,eAAC3G,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,yBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO2F,qBACpBsP,SAAUjsB,EAAM20B,aAAa,wBAC7BkW,OAAQ7qC,EAAM20B,aAAa,wBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQpY,sBAAwBqY,QAAQh1B,EAAM8P,OAAO6M,sBAClEsY,WAAYj1B,EAAM+0B,QAAQpY,sBAAwB3c,EAAM8P,OAAO6M,4BAKrE,gBAACxR,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8F,kBACpBmP,SAAUjsB,EAAM20B,aAAa,qBAC7BkW,OAAQ7qC,EAAM20B,aAAa,qBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQjY,mBAAqBkY,QAAQh1B,EAAM8P,OAAOgN,mBAC/DmY,WAAYj1B,EAAM+0B,QAAQjY,mBAAqB9c,EAAM8P,OAAOgN,sBAIhE,eAAC5G,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,6BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+F,kBACpBkP,SAAUjsB,EAAM20B,aAAa,qBAC7BkW,OAAQ7qC,EAAM20B,aAAa,qBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQhY,mBAAqBiY,QAAQh1B,EAAM8P,OAAOiN,mBAC/DkY,WAAYj1B,EAAM+0B,QAAQhY,mBAAqB/c,EAAM8P,OAAOiN,sBAIhE,eAAC7G,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,UACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgG,OACpBiP,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAM20B,aAAa,UAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/X,QAAUgY,QAAQh1B,EAAM8P,OAAOkN,QACpDiY,WAAYj1B,EAAM+0B,QAAQ/X,QAAUhd,EAAM8P,OAAOkN,cAKvD,gBAAC7R,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,aACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOsC,UACpB2S,SAAUjsB,EAAM20B,aAAa,aAC7BkW,OAAQ7qC,EAAM20B,aAAa,aAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQzb,WAAa0b,QAAQh1B,EAAM8P,OAAOwJ,WACvD2b,WAAYj1B,EAAM+0B,QAAQzb,WAAatZ,EAAM8P,OAAOwJ,cAIxD,eAACpD,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,4BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOuC,qBACpB0S,SAAUjsB,EAAM20B,aAAa,wBAC7BkW,OAAQ7qC,EAAM20B,aAAa,wBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQxb,sBAAwByb,QAAQh1B,EAAM8P,OAAOyJ,sBAClE0b,WAAYj1B,EAAM+0B,QAAQxb,sBAAwBvZ,EAAM8P,OAAOyJ,yBAkBnE,eAACrD,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,yBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOyC,sBACpBwS,SAAUjsB,EAAM20B,aAAa,yBAC7BkW,OAAQ7qC,EAAM20B,aAAa,yBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQtb,uBAAyBub,QAAQh1B,EAAM8P,OAAO2J,uBACnEwb,WAAYj1B,EAAM+0B,QAAQtb,uBAAyBzZ,EAAM8P,OAAO2J,6BAKtE,gBAACtO,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,oBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO2C,UACpBsS,SAAUjsB,EAAM20B,aAAa,aAC7BkW,OAAQ7qC,EAAM20B,aAAa,aAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQpb,WAAaqb,QAAQh1B,EAAM8P,OAAO6J,WACvDsb,WAAYj1B,EAAM+0B,QAAQpb,WAAa3Z,EAAM8P,OAAO6J,cAIxD,eAACzD,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,mBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO4C,WACpBqS,SAAUjsB,EAAM20B,aAAa,cAC7BkW,OAAQ7qC,EAAM20B,aAAa,cAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQnb,YAAcob,QAAQh1B,EAAM8P,OAAO8J,YACxDqb,WAAYj1B,EAAM+0B,QAAQnb,YAAc5Z,EAAM8P,OAAO8J,eAIzD,eAAC1D,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,kBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO6C,UACpBoS,SAAUjsB,EAAM20B,aAAa,aAC7BkW,OAAQ7qC,EAAM20B,aAAa,aAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQlb,WAAamb,QAAQh1B,EAAM8P,OAAO+J,WACvDob,WAAYj1B,EAAM+0B,QAAQlb,WAAa7Z,EAAM8P,OAAO+J,iBAK1D,gBAAC1O,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOoE,cACpB6Q,SAAUjsB,EAAM20B,aAAa,iBAC7BkW,OAAQ7qC,EAAM20B,aAAa,iBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ3Z,eAAiB4Z,QAAQh1B,EAAM8P,OAAOsL,eAC3D6Z,WAAYj1B,EAAM+0B,QAAQ3Z,eAAiBpb,EAAM8P,OAAOsL,kBAI5D,eAAClF,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,6BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOlN,QACpBmiB,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAM20B,aAAa,WAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQjrB,SAAWkrB,QAAQh1B,EAAM8P,OAAOhG,SACrDmrB,WAAYj1B,EAAM+0B,QAAQjrB,SAAW9J,EAAM8P,OAAOhG,YAItD,eAACoM,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,qBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOqF,UACpB4P,SAAUjsB,EAAM20B,aAAa,aAC7BkW,OAAQ7qC,EAAM20B,aAAa,aAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ1Y,WAAa2Y,QAAQh1B,EAAM8P,OAAOuM,WACvD4Y,WAAYj1B,EAAM+0B,QAAQ1Y,WAAarc,EAAM8P,OAAOuM,iBAK1D,gBAAClR,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,mBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOsF,gBACpB2P,SAAUjsB,EAAM20B,aAAa,mBAC7BkW,OAAQ7qC,EAAM20B,aAAa,mBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQzY,iBAAmB0Y,QAAQh1B,EAAM8P,OAAOwM,iBAC7D2Y,WAAYj1B,EAAM+0B,QAAQzY,iBAAmBtc,EAAM8P,OAAOwM,oBAI9D,eAACpG,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,2CACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOuF,gCACpB0P,SAAUjsB,EAAM20B,aAAa,mCAC7BkW,OAAQ7qC,EAAM20B,aAAa,mCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQxY,iCAAmCyY,QAAQh1B,EAAM8P,OAAOyM,iCAC7E0Y,WAAYj1B,EAAM+0B,QAAQxY,iCAAmCvc,EAAM8P,OAAOyM,oCAI9E,eAACrG,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,eACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOwF,YACpByP,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAM20B,aAAa,eAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQvY,aAAewY,QAAQh1B,EAAM8P,OAAO0M,aACzDyY,WAAYj1B,EAAM+0B,QAAQvY,aAAexc,EAAM8P,OAAO0M,mBAK5D,gBAACrR,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOyF,MACpBwP,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAM20B,aAAa,SAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQtY,OAASuY,QAAQh1B,EAAM8P,OAAO2M,OACnDwY,WAAYj1B,EAAM+0B,QAAQtY,OAASzc,EAAM8P,OAAO2M,UAIpD,eAACvG,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,YACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO0F,SACpBuP,SAAUjsB,EAAM20B,aAAa,YAC7BkW,OAAQ7qC,EAAM20B,aAAa,YAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQrY,UAAYsY,QAAQh1B,EAAM8P,OAAO4M,UACtDuY,WAAYj1B,EAAM+0B,QAAQrY,UAAY1c,EAAM8P,OAAO4M,aAIvD,eAACxG,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,UACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOqE,OACpB4Q,SAAUjsB,EAAM20B,aAAa,UAC7BkW,OAAQ7qC,EAAM20B,aAAa,UAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ1Z,QAAU2Z,QAAQh1B,EAAM8P,OAAOuL,QACpD4Z,WAAYj1B,EAAM+0B,QAAQ1Z,QAAUrb,EAAM8P,OAAOuL,cAKvD,eAAClQ,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,aACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOsE,UACpB2Q,SAAUjsB,EAAM20B,aAAa,aAC7BkW,OAAQ7qC,EAAM20B,aAAa,aAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQzZ,WAAa0Z,QAAQh1B,EAAM8P,OAAOwL,WACvD2Z,WAAYj1B,EAAM+0B,QAAQzZ,WAAatb,EAAM8P,OAAOwL,gBAK1D,qBAAItT,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,4BAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,8BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO2D,2BACpBsR,SAAUjsB,EAAM20B,aAAa,8BAC7BkW,OAAQ7qC,EAAM20B,aAAa,8BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQpa,4BAA8Bqa,QAAQh1B,EAAM8P,OAAO6K,4BACxEsa,WAAYj1B,EAAM+0B,QAAQpa,4BAA8B3a,EAAM8P,OAAO6K,+BAIzE,eAACzE,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,8BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO4D,2BACpBqR,SAAUjsB,EAAM20B,aAAa,8BAC7BkW,OAAQ7qC,EAAM20B,aAAa,8BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQna,4BAA8Boa,QAAQh1B,EAAM8P,OAAO8K,4BACxEqa,WAAYj1B,EAAM+0B,QAAQna,4BAA8B5a,EAAM8P,OAAO8K,kCAK3E,gBAACzP,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,8BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO6D,2BACpBoR,SAAUjsB,EAAM20B,aAAa,8BAC7BkW,OAAQ7qC,EAAM20B,aAAa,8BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQla,4BAA8Bma,QAAQh1B,EAAM8P,OAAO+K,4BACxEoa,WAAYj1B,EAAM+0B,QAAQla,4BAA8B7a,EAAM8P,OAAO+K,+BAIzE,eAAC3E,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,8BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8D,2BACpBmR,SAAUjsB,EAAM20B,aAAa,8BAC7BkW,OAAQ7qC,EAAM20B,aAAa,8BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQja,4BAA8Bka,QAAQh1B,EAAM8P,OAAOgL,4BACxEma,WAAYj1B,EAAM+0B,QAAQja,4BAA8B9a,EAAM8P,OAAOgL,kCAK3E,gBAAC3P,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,8BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+D,2BACpBkR,SAAUjsB,EAAM20B,aAAa,8BAC7BkW,OAAQ7qC,EAAM20B,aAAa,8BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQha,4BAA8Bia,QAAQh1B,EAAM8P,OAAOiL,4BACxEka,WAAYj1B,EAAM+0B,QAAQha,4BAA8B/a,EAAM8P,OAAOiL,+BAIzE,eAAC7E,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,8BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgE,2BACpBiR,SAAUjsB,EAAM20B,aAAa,8BAC7BkW,OAAQ7qC,EAAM20B,aAAa,8BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/Z,4BAA8Bga,QAAQh1B,EAAM8P,OAAOkL,4BACxEia,WAAYj1B,EAAM+0B,QAAQ/Z,4BAA8Bhb,EAAM8P,OAAOkL,kCAK3E,qBAAIhT,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,mCAIA,eAACuC,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,+BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8C,4BACpBmS,SAAUjsB,EAAM20B,aAAa,+BAC7BkW,OAAQ7qC,EAAM20B,aAAa,+BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQjb,6BAA+Bkb,QAAQh1B,EAAM8P,OAAOgK,6BACzEmb,WAAYj1B,EAAM+0B,QAAQjb,6BAA+B9Z,EAAM8P,OAAOgK,kCAK5E,eAAC3O,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,iCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+C,8BACpBkS,SAAUjsB,EAAM20B,aAAa,iCAC7BkW,OAAQ7qC,EAAM20B,aAAa,iCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQhb,+BAAiCib,QAAQh1B,EAAM8P,OAAOiK,+BAC3Ekb,WAAYj1B,EAAM+0B,QAAQhb,+BAAiC/Z,EAAM8P,OAAOiK,oCAK9E,eAAC5O,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,mCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOoD,gCACpB6R,SAAUjsB,EAAM20B,aAAa,mCAC7BkW,OAAQ7qC,EAAM20B,aAAa,mCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ3a,iCAAmC4a,QAAQh1B,EAAM8P,OAAOsK,iCAC7E6a,WAAYj1B,EAAM+0B,QAAQ3a,iCAAmCpa,EAAM8P,OAAOsK,sCAKhF,eAACjP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,oCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOqD,iCACpB4R,SAAUjsB,EAAM20B,aAAa,oCAC7BkW,OAAQ7qC,EAAM20B,aAAa,oCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ1a,kCAAoC2a,QAAQh1B,EAAM8P,OAAOuK,kCAC9E4a,WAAYj1B,EAAM+0B,QAAQ1a,kCAAoCra,EAAM8P,OAAOuK,uCAKjF,eAAClP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOsD,6BACpB2R,SAAUjsB,EAAM20B,aAAa,gCAC7BkW,OAAQ7qC,EAAM20B,aAAa,gCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQza,8BAAgC0a,QAAQh1B,EAAM8P,OAAOwK,8BAC1E2a,WAAYj1B,EAAM+0B,QAAQza,8BAAgCta,EAAM8P,OAAOwK,mCAK7E,eAACnP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,kCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOuD,+BACpB0R,SAAUjsB,EAAM20B,aAAa,kCAC7BkW,OAAQ7qC,EAAM20B,aAAa,kCAC3BwxB,KAAMp9C,GAAUC,SAChBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQxa,gCAAkCya,QAAQh1B,EAAM8P,OAAOyK,gCAC5E0a,WAAYj1B,EAAM+0B,QAAQxa,gCAAkCva,EAAM8P,OAAOyK,qCAK/E,eAACpP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,2BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOwD,wBACpByR,SAAUjsB,EAAM20B,aAAa,2BAC7BkW,OAAQ7qC,EAAM20B,aAAa,2BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQva,yBAA2Bwa,QAAQh1B,EAAM8P,OAAO0K,yBACrEya,WAAYj1B,EAAM+0B,QAAQva,yBAA2Bxa,EAAM8P,OAAO0K,8BAKxE,eAACrP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,qCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOyD,4BACpBwR,SAAUjsB,EAAM20B,aAAa,+BAC7BkW,OAAQ7qC,EAAM20B,aAAa,+BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQta,6BAA+Bua,QAAQh1B,EAAM8P,OAAO2K,6BACzEwa,WAAYj1B,EAAM+0B,QAAQta,6BAA+Bza,EAAM8P,OAAO2K,kCAK5E,eAACtP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,uCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO0D,oCACpBuR,SAAUjsB,EAAM20B,aAAa,uCAC7BkW,OAAQ7qC,EAAM20B,aAAa,uCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQra,qCAAuCsa,QAAQh1B,EAAM8P,OAAO4K,qCACjFua,WAAYj1B,EAAM+0B,QAAQra,qCAAuC1a,EAAM8P,OAAO4K,0CAKpF,eAACvP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgD,uBACpBiS,SAAUjsB,EAAM20B,aAAa,0BAC7BkW,OAAQ7qC,EAAM20B,aAAa,0BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/a,wBAA0Bgb,QAAQh1B,EAAM8P,OAAOkK,wBACpEib,WAAYj1B,EAAM+0B,QAAQ/a,wBAA0Bha,EAAM8P,OAAOkK,6BAKvE,eAAC7O,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,+BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOiD,kCACpBgS,SAAUjsB,EAAM20B,aAAa,qCAC7BkW,OAAQ7qC,EAAM20B,aAAa,qCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ9a,mCAAqC+a,QAAQh1B,EAAM8P,OAAOmK,mCAC/Egb,WAAYj1B,EAAM+0B,QAAQ9a,mCAAqCja,EAAM8P,OAAOmK,wCAKlF,eAAC9O,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,sBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOkD,uBACpB+R,SAAUjsB,EAAM20B,aAAa,0BAC7BkW,OAAQ7qC,EAAM20B,aAAa,0BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ7a,wBAA0B8a,QAAQh1B,EAAM8P,OAAOoK,wBACpE+a,WAAYj1B,EAAM+0B,QAAQ7a,wBAA0Bla,EAAM8P,OAAOoK,6BAKvE,eAAC/O,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,+BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOmD,kCACpB8R,SAAUjsB,EAAM20B,aAAa,qCAC7BkW,OAAQ7qC,EAAM20B,aAAa,qCAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ5a,mCAAqC6a,QAAQh1B,EAAM8P,OAAOqK,mCAC/E8a,WAAYj1B,EAAM+0B,QAAQ5a,mCAAqCna,EAAM8P,OAAOqK,wCAKlF,eAAChP,GAAA,EAAD,UACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,KAAKnd,UAAU,GAAvB,SACGhI,EAAM6lC,YAAc,IAAM7lC,EAAM8lC,QAAU,qBAAI79B,MAAO,CAAEY,UAAW,GAAIP,aAAc,EAAGxJ,MAAO4K,IAApD,oDAAqI,SAIpL,gBAACyB,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,+CACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOiE,MACpBgR,SAAUjsB,EAAM20B,aAAa,SAC7BkW,OAAQ7qC,EAAM20B,aAAa,SAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ9Z,OAAS+Z,QAAQh1B,EAAM8P,OAAOmL,OACnDga,WAAYj1B,EAAM+0B,QAAQ9Z,OAASjb,EAAM8P,OAAOmL,UAIpD,eAAC/E,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,0CACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOkE,KACpB+Q,SAAUjsB,EAAM20B,aAAa,QAC7BkW,OAAQ7qC,EAAM20B,aAAa,QAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ7Z,MAAQ8Z,QAAQh1B,EAAM8P,OAAOoL,MAClD+Z,WAAYj1B,EAAM+0B,QAAQ7Z,MAAQlb,EAAM8P,OAAOoL,YAKrD,gBAAC/P,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,qCACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOmE,IACpB8Q,SAAUjsB,EAAM20B,aAAa,OAC7BkW,OAAQ7qC,EAAM20B,aAAa,OAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ5Z,KAAO6Z,QAAQh1B,EAAM8P,OAAOqL,KACjD8Z,WAAYj1B,EAAM+0B,QAAQ5Z,KAAOnb,EAAM8P,OAAOqL,QAIlD,eAACjF,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,4BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOuE,QACpB0Q,SAAUjsB,EAAM20B,aAAa,WAC7BkW,OAAQ7qC,EAAM20B,aAAa,WAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQxZ,SAAWyZ,QAAQh1B,EAAM8P,OAAOyL,SACrD0Z,WAAYj1B,EAAM+0B,QAAQxZ,SAAWvb,EAAM8P,OAAOyL,eAKxD,qBAAIvT,UAAU,SACd,qBAAIA,UAAU,qBAAqBC,MAAOc,GAAUH,SAApD,8BAIA,gBAACuC,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,uBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOyE,kBACpBwQ,SAAUjsB,EAAM20B,aAAa,qBAC7BkW,OAAQ7qC,EAAM20B,aAAa,qBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQtZ,mBAAqBuZ,QAAQh1B,EAAM8P,OAAO2L,mBAC/DwZ,WAAYj1B,EAAM+0B,QAAQtZ,mBAAqBzb,EAAM8P,OAAO2L,sBAIhE,eAACvF,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,oBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOwE,iBACpByQ,SAAUjsB,EAAM20B,aAAa,oBAC7BkW,OAAQ7qC,EAAM20B,aAAa,oBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQvZ,kBAAoBwZ,QAAQh1B,EAAM8P,OAAO0L,kBAC9DyZ,WAAYj1B,EAAM+0B,QAAQvZ,kBAAoBxb,EAAM8P,OAAO0L,wBAKjE,gBAACrQ,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,gBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO0E,YACpBuQ,SAAUjsB,EAAM20B,aAAa,eAC7BkW,OAAQ7qC,EAAM20B,aAAa,eAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQrZ,aAAesZ,QAAQh1B,EAAM8P,OAAO4L,aACzDuZ,WAAYj1B,EAAM+0B,QAAQrZ,aAAe1b,EAAM8P,OAAO4L,gBAI1D,eAACxF,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,mBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO2E,gBACpBsQ,SAAUjsB,EAAM20B,aAAa,mBAC7BkW,OAAQ7qC,EAAM20B,aAAa,mBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQpZ,iBAAmBqZ,QAAQh1B,EAAM8P,OAAO6L,iBAC7DsZ,WAAYj1B,EAAM+0B,QAAQpZ,iBAAmB3b,EAAM8P,OAAO6L,uBAKhE,gBAACxQ,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,qBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO4E,gBACpBqQ,SAAUjsB,EAAM20B,aAAa,mBAC7BkW,OAAQ7qC,EAAM20B,aAAa,mBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQnZ,iBAAmBoZ,QAAQh1B,EAAM8P,OAAO8L,iBAC7DqZ,WAAYj1B,EAAM+0B,QAAQnZ,iBAAmB5b,EAAM8P,OAAO8L,oBAI9D,eAAC1F,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,2BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO6E,wBACpBoQ,SAAUjsB,EAAM20B,aAAa,2BAC7BkW,OAAQ7qC,EAAM20B,aAAa,2BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQlZ,yBAA2BmZ,QAAQh1B,EAAM8P,OAAO+L,yBACrEoZ,WAAYj1B,EAAM+0B,QAAQlZ,yBAA2B7b,EAAM8P,OAAO+L,+BAKxE,gBAAC1Q,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,uBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO8E,oBACpBmQ,SAAUjsB,EAAM20B,aAAa,uBAC7BkW,OAAQ7qC,EAAM20B,aAAa,uBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQjZ,qBAAuBkZ,QAAQh1B,EAAM8P,OAAOgM,qBACjEmZ,WAAYj1B,EAAM+0B,QAAQjZ,qBAAuB9b,EAAM8P,OAAOgM,wBAIlE,eAAC5F,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,yBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAO+E,cACpBkQ,SAAUjsB,EAAM20B,aAAa,iBAC7BkW,OAAQ7qC,EAAM20B,aAAa,iBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQhZ,eAAiBiZ,QAAQh1B,EAAM8P,OAAOiM,eAC3DkZ,WAAYj1B,EAAM+0B,QAAQhZ,eAAiB/b,EAAM8P,OAAOiM,qBAK9D,gBAAC5Q,GAAA,EAAD,WACE,eAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,uBACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOgF,0BACpBiQ,SAAUjsB,EAAM20B,aAAa,6BAC7BkW,OAAQ7qC,EAAM20B,aAAa,6BAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ/Y,2BAA6BgZ,QAAQh1B,EAAM8P,OAAOkM,2BACvEiZ,WAAYj1B,EAAM+0B,QAAQ/Y,2BAA6Bhc,EAAM8P,OAAOkM,8BAIxE,eAAC9F,GAAA,EAAD,CAAKiP,GAAG,IAAR,SACE,eAAC0G,GAAA,EAAD,CACEE,WAAS,EACTztB,MAAO,0BACP0tB,QAAQ,WACRxsB,MAAOQ,EAAMgX,OAAOiF,gBACpBgQ,SAAUjsB,EAAM20B,aAAa,mBAC7BkW,OAAQ7qC,EAAM20B,aAAa,mBAC3B1sB,MAAOc,GAAUC,SACjBhB,UAAW,6CACX8sB,MAAO90B,EAAM+0B,QAAQ9Y,iBAAmB+Y,QAAQh1B,EAAM8P,OAAOmM,iBAC7DgZ,WAAYj1B,EAAM+0B,QAAQ9Y,iBAAmBjc,EAAM8P,OAAOmM,yBA3nCnE,MAqoCL,eAAC2P,GAAA,EAAD,CAAY5jB,UAAU,OAAtB,SACE,eAACmD,GAAA,EAAD,UACE,gBAAC+K,GAAA,EAAD,CAAKiP,GAAG,IAAInd,UAAU,YAAtB,UACE,eAACsjB,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACPqc,OAAOjc,QAAQguB,MAChB,EALH,kBAUA,eAAC5J,GAAA,EAAD,CACErjB,MAAOc,GAAUS,cACjB1K,MAAM,UACNgI,QAAS,WACHyiC,EAAQ7Y,SACV6Y,EAAQ7Y,QAAQ0D,cAEnB,EAPH,gCAkBZ,wBAGA,eAACjpB,GAAA,EAAD,UACE,sBAAKnD,UAAU,MAAf,SACE,gBAACoD,GAAA,EAAD,CAAMpD,UAAU,SAAhB,UACE,eAACqD,GAAA,EAAD,CAAYrD,UAAU,WAAtB,SACE,uBAAKA,UAAU,MAAf,UACE,sBAAKA,UAAU,iBAAf,SACE,qBAAIA,UAAU,OAAd,qCAGF,sBAAKA,UAAU,UAAf,SACE,eAACkC,GAAA,EAAD,CAASxC,MAAM,iBAAiByC,OAAK,EAArC,SACE,sBACEnC,UAAU,iBACVC,MAAO,CAAEmC,OAAQ,WACjBtD,QAAS,SAAC/F,IAxyCH,SAACA,EAAGowC,EAAQjrC,GACvCnF,EAAE8J,iBAEF,IAAIgjB,EAAY,QAEIwL,IAAhBnmB,GAA6C,OAAhBA,IAC/B2a,EAAY91B,KAAO+1B,OAAO5a,GAAa,SAAU6a,GAC/C,OAAOh2B,KAAOizB,KAAKoO,EAAe,CAAExgB,aAAcmV,EAAY9sB,MAC/D,IAED8sC,EAAgBlgB,IAGd91B,KAAOiT,QAAQ6iB,GACjBlnB,wBAAa,CACXe,MAAO,QACPd,QAAS,6CACTC,QAAS,CACP,CACEvI,MAAO,KACPwI,QAAS,WAAS,IAGtBC,eAAe,EACfC,qBAAqB,KAGvB2+C,EAAsB,CAAC,GACvBE,GAAkB,GAErB,CA2wCuBhe,CAAqB9mC,EACtB,EALH,SAOE,oBAAGiH,UAAU,qBAAqBC,MAAO,CAAEmB,SAAU,GAAItK,MAAO4K,iBAM1E,gBAAC4B,GAAA,EAAD,CAAOtD,UAAU,iCAAiCxL,YAAU,EAA5D,UACE,wBAAOwL,UAAU,cAAjB,SACE,gCACE,qBAAIuD,MAAM,MAAV,2BACA,qBAAIA,MAAM,MAAV,+BACA,qBAAIA,MAAM,MAAV,uBACA,qBAAIA,MAAM,MAAV,0BAGJ,mCACE,wBACCi6C,EAAgBnkD,KAAI,SAAC8vC,EAAQt2C,GAC5B,OAAO,eAAC,GAAD,CAAmBs2C,OAAQA,EAAQj0C,SAAUrC,EAAG4Q,UAAWV,EAAiBW,YAAad,EAAmBkyC,UAAWW,EAAiBnW,YAAaM,GAArI/sC,EACxB,sBASlB,EC/9CG0kB,GAAchd,aAAaC,QAAQ,eACnC2c,GAAQzc,KAAKC,MAAM4c,IACnBC,GAAQD,IAAeJ,IAASA,GAAMzM,MAAQyM,GAAMzM,KAAK+M,MAAQN,GAAMzM,KAAK+M,MAAQ,UAE3E2mC,GAAc,CACzB,CACE3hC,KAAM,SACNpN,KAAM,YACNgN,KAAM,sCACNgiC,UAAWhhC,GACXvoB,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,OACNpN,KAAM,MACNgN,KAAM,gCACNvnB,OAAQ,cACRknB,SAAU,QACVM,WAAY,CACV,CACEG,KAAM,kBACNpN,KAAM,oCACNgN,KAAM,cACNgiC,UAAWC,GACXxpD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,kBACNpN,KAAM,iBACNgN,KAAM,4BACNgiC,UAAWp5B,GACXnwB,OAAQ,cACRknB,SAAU,WAYhB,CACES,KAAM,cACNpN,KAAM,aACNgN,KAAM,gCACNgiC,UAAWE,GACXzpD,OAAQ,UACRknB,SAAU,QAEZ,CACES,KAAM,yBACNpN,KAAM,iBACNgN,KAAM,kCACNgiC,UAAWG,GACX1pD,OAAQ,UACRknB,SAAU,QAoCZ,CACES,KAAM,iBACNpN,KAAM,gBACNgN,KAAM,4BACNgiC,UAAWl1B,GACXr0B,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,eACNpN,KAAM,cACNgN,KAAM,4BACNgiC,UAAWzzB,GACX91B,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,kBACNpN,KAAM,oBACNgN,KAAM,4BACNgiC,UAAW9yB,GACXz2B,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,sBACNpN,KAAM,oBACNgN,KAAM,4BACNgiC,UAAWjxB,GACXt4B,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,qBACNpN,KAAM,uBACNgN,KAAM,4BACNgiC,UAAW5wB,GACX34B,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,mBACNpN,KAAM,qBACNgN,KAAM,4BACNgiC,UAAWtwB,GACXj5B,OAAQ,cACRknB,SAAU,SAGZ,CACES,KAAM,gBACNpN,KAAM,gBACNgN,KAAM,4BACNgiC,UAAWzK,GACX9+C,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,0BACNpN,KAAM,yBACNgN,KAAM,4BACNgiC,UAAWI,GACX3pD,OAAQ,cACRknB,SAAU,gBAGZ,CACES,KAAM,cACNpN,KAAM,wBACNgN,KAAM,+BACNgiC,UAAW3e,GACX5qC,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,qBACNpN,KAAM,6BACNgN,KAAM,4BACNgiC,UAAWje,GACXtrC,OAAQ,cACRknB,SAAU,UAUZ,CACES,KAAM,2BACNpN,KAAM,0BACNgN,KAAM,4BACNgiC,UAAWrZ,GACXlwC,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,oCACNpN,KAAM,mCACNgN,KAAM,4BACNgiC,UAAW1Y,GACX7wC,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,6CACNpN,KAAM,mCACNgN,KAAM,4BACNgiC,UAAWnY,GACXpxC,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,+BACNpN,KAAM,+BACNgN,KAAM,4BACNgiC,UAAWK,GACX5pD,OAAQ,cACRknB,SAAU,UAWZ,CACES,KAAM,4BACNpN,KAAM,oBACNgN,KAAM,kCACNgiC,UAAW5W,GACX3yC,OAAQ,cACRknB,SAAU,UAUZ,CACES,KAAM,8BACNpN,KAAM,kBACNgN,KAAM,kCACNgiC,UAAWxU,GACX/0C,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,8BACNpN,KAAM,mBACNgN,KAAM,kCACNgiC,UAAWnU,GACXp1C,OAAQ,cACRknB,SAAU,UAUZ,CACES,KAAM,wBACNpN,KAAM,QACNgN,KAAM,kCACNgiC,UAAWM,GACX7pD,OAAQ,cACRknB,SAAU,UAUZ,CACES,KAAM,2BACNpN,KAAM,cACNgN,KAAM,kCACNgiC,UAAWO,GACX9pD,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,oBACNpN,KAAM,QACNgN,KAAM,kCACNgiC,UAAWQ,GACX/pD,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,yBACNpN,KAAM,QACNgN,KAAM,kCACNgiC,UAAWS,GACXhqD,OAAQ,cACRknB,SAAU,UAGZ,CACES,KAAM,8BACNpN,KAAM,kBACNgN,KAAM,4BACNgiC,UAAWh8C,GACXvN,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,0CACNpN,KAAM,+BACNgN,KAAM,4BACNgiC,UAAWjO,GACXt7C,OAAQ,cACRknB,SAAU,kBAEZ,CACES,KAAM,qCACNpN,KAAM,yBACNgN,KAAM,4BACNgiC,UAAWU,GACXjqD,OAAQ,cACRknB,SAAU,kBAEZ,CACES,KAAM,4CACNpN,KAAM,gCACNgN,KAAM,4BACNgiC,UAAWW,GACXlqD,OAAQ,cACRknB,SAAU,kBAEZ,CACES,KAAM,0CACNpN,KAAM,8BACNgN,KAAM,4BACNgiC,UAAWpM,GACXn9C,OAAQ,cACRknB,SAAU,kBAGZ,CACES,KAAM,QACNpN,KAAM,kBACNgN,KAAM,yBACNgiC,UAAWpwB,GACXn5B,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,uBACNpN,KAAM,sBACNgN,KAAM,4BACNgiC,UAAWY,GACXnqD,OAAQ,cACRknB,SAAU,QAEZ,CACES,KAAM,gBACNpN,KAAM,eACNgN,KAAM,4BACNgiC,UAAWzpB,GACX9/B,OAAQ,cACRknB,SAAU,QAGZ,CACE3M,KAAM,UACNgN,KAAM,8BACNL,SAAU,QACVM,WAAY,CACV,CACEG,KAAM,0BACNpN,KAAM,WACNgN,KAAM,oBACNgiC,UAAWa,GACXpqD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,+BACNpN,KAAM,gBACNgN,KAAM,oBACNgiC,UAAWc,GACXrqD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,wCACNpN,KAAM,gBACNgN,KAAM,oBACNgiC,UAAWe,GACXtqD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,uBACNpN,KAAM,UACNgN,KAAM,oBACNgiC,UAAWlF,GACXrkD,OAAQ,cACRknB,SAAU,SAkBZ,CACES,KAAM,uCACNpN,KAAM,WACNgN,KAAM,oBACNgiC,UAAWxD,GACX/lD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,yBACNpN,KAAM,SACNgN,KAAM,oBACNgiC,UAAWgB,GACXvqD,OAAQ,cACRknB,SAAU,WAIhB,CACES,KAAM,uBACNpN,KAAM,sBACNgN,KAAM,kCACNgiC,UAAWiB,GACXxqD,OAAQ,cACRknB,SAAU,UAGZ,CACES,KAAM,YACNpN,KAAM,kBACNgN,KAAM,wBACNgiC,UAAWvyC,GACXhX,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,oBACNpN,KAAM,mBACNgN,KAAM,wBACNgiC,UAAWkB,GACXzqD,OAAQ,cACRknB,SAAU,YAEZ,CACES,KAAM,wBACNpN,KAAM,qCACNgN,KAAM,wBACNgiC,UAAWmB,GACX1qD,OAAQ,cACRknB,SAAU,YAEZ,CACE3M,KAAM,cACNgN,KAAM,wBACNL,SAAU,QACVM,WAAY,CACV,CACEG,KAAM,kBACNpN,KAAM,UACNgN,KAAM,wBACNgiC,UAAWoB,GACX3qD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,oBACNpN,KAAM,YACNgN,KAAM,iBACNgiC,UAAWqB,GACX5qD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,uBACNpN,KAAM,eACNgN,KAAM,kBACNgiC,UAAWd,GACXzoD,OAAQ,cACRknB,SAAU,WAsBhB,CACES,KAAM,kBACNpN,KAAM,iBACNgN,KAAM,4BACNgiC,UAAWsB,GACX7qD,OAAQ,cACRknB,SAAU,QAEZ,CACES,KAAM,YACNpN,KAAM,WACNgN,KAAM,yBACNgiC,UAAWvjB,GACXhmC,OAAQ,UACRknB,SAAU,QAEZ,CACES,KAAM,SACNpN,KAAM,QACNgN,KAAM,yBACNgiC,UAAWttB,GACXj8B,OAAQ,UACRknB,SAAU,QAEZ,CACES,KAAM,SACNpN,KAAM,QACNgN,KAAM,yBACNgiC,UAAWuB,GACX9qD,OAAQ,UACRknB,SAAU,QAGZ,CACES,KAAM,IACNpN,KAAM,UACNgN,KAAM,yBACNgiC,UAAWpgB,GACXnpC,OAAQ,UACRknB,SAAU,QAUZ,CACES,KAAM,kBACNpN,KAAM,iBACNgN,KAAM,wBACNgiC,UAAWwB,GACX/qD,OAAQ,cACRknB,SAAU,UAID8jC,GAAa,CACxB,CACErjC,KAAM,SACNpN,KAAM,YACNgN,KAAM,sCACNgiC,UAAW0B,GACXjrD,OAAQ,cACRknB,SAAU,SAGZ,CACES,KAAM,OACNpN,KAAM,oCACNgN,KAAM,gCACNgiC,UAAWC,GACXxpD,OAAQ,cACRknB,SAAU,SAWZ,CACES,KAAM,+BACNpN,KAAM,qBACNgN,KAAM,kCACNgiC,UAAWhY,GACXvxC,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,4BACNpN,KAAM,qBACNgN,KAAM,kCACNgiC,UAAW5W,GACX3yC,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,sBACNpN,KAAM,qBACNgN,KAAM,2BACNgiC,UAAW2B,GACXlrD,OAAQ,cACRknB,SAAU,SAEZ,CACES,KAAM,8BACNpN,KAAM,kBACNgN,KAAM,kCACNgiC,UAAWxU,GACX/0C,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,8BACNpN,KAAM,mBACNgN,KAAM,kCACNgiC,UAAWnU,GACXp1C,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,yBACNpN,KAAM,mBACNgN,KAAM,kCACNgiC,UAAW4B,GACXnrD,OAAQ,cACRknB,SAAU,UAUZ,CACES,KAAM,wBACNpN,KAAM,QACNgN,KAAM,kCACNgiC,UAAWM,GACX7pD,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,2BACNpN,KAAM,cACNgN,KAAM,kCACNgiC,UAAWO,GACX9pD,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,oBACNpN,KAAM,QACNgN,KAAM,kCACNgiC,UAAWQ,GACX/pD,OAAQ,cACRknB,SAAU,UAEZ,CACES,KAAM,yBACNpN,KAAM,aACNgN,KAAM,kCACNgiC,UAAWS,GACXhqD,OAAQ,cACRknB,SAAU,UAoBZ,CACES,KAAM,SACNpN,KAAM,QACNgN,KAAM,yBACNgiC,UAAWttB,GACXj8B,OAAQ,UACRknB,SAAU,QAEZ,CACES,KAAM,YACNpN,KAAM,WACNgN,KAAM,yBACNgiC,UAAWvjB,GACXhmC,OAAQ,UACRknB,SAAU,QAEZ,CACES,KAAM,gBACNpN,KAAM,eACNgN,KAAM,4BACNgiC,UAAWzpB,GACX9/B,OAAQ,cACRknB,SAAU,QAEZ,CACES,KAAM,SACNpN,KAAM,QACNgN,KAAM,yBACNgiC,UAAWuB,GACX9qD,OAAQ,UACRknB,SAAU,QAEZ,CACES,KAAM,IACNpN,KAAM,UACNgN,KAAM,yBACNgiC,UAAWpgB,GACXnpC,OAAQ,UACRknB,SAAU,QAUZ,CACES,KAAM,kBACNpN,KAAM,iBACNgN,KAAM,wBACNgiC,UAAWwB,GACX/qD,OAAQ,cACRknB,SAAU,UAIDX,GAAmB,UAAV7D,GAAoB4mC,GAAc0B,GCvqBzCI,GA9JD,SAACloD,GACb,IAAM6e,EAAcnU,aAAY,SAACnD,GAAD,OAAWA,EAAMsN,KAAKjF,QAAtB,IAC1Bs2B,EAAcxK,IAAMC,OAAO,MAC3B3X,EAAWvZ,cACXzE,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA0BuU,mBAAS,WAAnC,oBAAOU,EAAP,KAAc2oC,EAAd,KACA,EAAsCrpC,oBAAS,GAA/C,oBAAOtK,EAAP,KAAoB4zC,EAApB,KAGM1oC,EAAS,WACb1Z,EAAS,CAAEE,KAAM+J,KACjB1N,aAAaod,QACbzY,EAAQG,KAAK,gBACd,EAEDsD,qBAAU,WAGR09C,aAAY,WACV,IAAMC,EAAQ,OAAGzpC,QAAH,IAAGA,OAAH,EAAGA,EAAajc,MAC1B2lD,EAAmBhmD,aAAaC,QAAQ,eACxC2c,EAAQzc,KAAKC,MAAM4lD,GACjBC,EAAU,OAAGrpC,QAAH,IAAGA,OAAH,EAAGA,EAAOvc,MACtB4lD,GAAcA,EAAWjoD,OAAS,GAAKioD,IAAeF,GAIxDnlC,OAAOa,SAASwI,QAEnB,GAAE,IACJ,GAAE,IAIH7hB,qBAAU,WACR,GAAIkU,GAAehd,OAAOX,KAAK2d,GAAate,OAAS,GACnD,UAAIse,QAAJ,IAAIA,KAAajc,MAAO,CACtB,IAMK,IANCA,EAAK,OAAGic,QAAH,IAAGA,OAAH,EAAGA,EAAajc,MAG3B,GAAuB,IAFF6lD,aAAO7lD,GAEX8lD,KAAa,IAAIC,MAAOC,UACvClpC,SAGAyoC,EAAoB,OAAXtpC,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,SAAmB+M,MAAnB,OAA2BZ,QAA3B,IAA2BA,GAA3B,UAA2BA,EAAanM,YAAxC,aAA2B,EAAmB+M,MAAQ,UAElE,OAGDC,GAEH,GAAE,CAACb,IAEJ,IAAMgqC,EAAaltB,iBAAO,IAE1BhxB,qBAAU,WACR+pC,SAASoU,gBAAgBC,UAAY,EACrCrU,SAASsU,iBAAiBD,UAAY,EACtC7iB,EAAYxV,QAAQq4B,UAAY,CAEjC,GAAE,CAAC/kC,IAGJ,IAAMilC,EAAiBv+C,aAAY,SAACnD,GAAD,OAAWA,EAAMmN,UAAUF,WAA3B,IACnC7J,qBAAU,WACLrE,cAAYC,QAAQC,IAAI,mBAAoByiD,GAC/Cb,IAAerwD,KAAOw0B,UAAU08B,IAAkBA,EACnD,GAAE,CAACA,IAEJ,IAAMC,EAAY,SAAC7lC,GACjB,OAAOA,EAAOhiB,KAAI,SAAC4iB,EAAMC,GACvB,MAAoB,gBAAhBD,EAAKnnB,OAEL,eAAC,IAAD,CACE2nB,KAAMR,EAAKnnB,OAASmnB,EAAKQ,KACzB4hC,UAAWpiC,EAAKoiC,WACXniC,GAKF,IAEV,GACF,GAcwB,UAAV1E,EAAoB4mC,GAAc0B,IAZxCzpD,SAAQ,SAAC4lB,EAAMC,GACpBD,EAAKE,eAAe,eAAkBF,EAAKK,WAAYjmB,SAAQ,SAAC8qD,EAAWC,GAChD,gBAArBD,EAAUrsD,QACZ+rD,EAAWn4B,QAAQrpB,KAAK,eAAC,IAAD,CACtBod,KAAM0kC,EAAUrsD,OAASqsD,EAAU1kC,KACnC4hC,UAAW8C,EAAU9C,WAChBniC,EAAMklC,GAGhB,GACF,IAmBH,OACE,uCACG50C,EACC,sBAAKxM,UAAU,8BAAf,SACE,eAACqhD,GAAA,EAAD,CAAkBphD,MAAO,CAAEnJ,MAAO,eAC3B,KAIX,eAAC,GAAD,2BACMkB,GADN,IAGEqjB,OAAkB,UAAV7D,EAAoB4mC,GAAc0B,GAC1CxkC,KAAM,CACJE,UAAW,oBACXI,OAAQ9rB,EAAQ,KAAoCwD,QACpDqoB,OAAQ,gCAKZ,uBAAK3b,UAAU,eAAek0B,IAAKgK,EAAnC,UACE,eAAC,GAAD,2BACMlmC,GADN,IAEE8f,UAvCa,SAAC2E,GACpB,IAAK,IAAI5pB,EAAI,EAAGA,EAAIwoB,GAAO9iB,OAAQ1F,IAAK,CACtC,GAAI4pB,IAAUpB,GAAOxoB,GAAGiC,OAASumB,GAAOxoB,GAAG4pB,KACzC,OAAOpB,GAAOxoB,GAAGwc,KAEd,GAAIgM,GAAOxoB,GAAGspB,eAAe,cAChC,IAAK,IAAIhrB,EAAI,EAAGA,EAAIkqB,GAAOxoB,GAAGypB,WAAW/jB,OAAQpH,IAC/C,GAAIsrB,IAAUpB,GAAOxoB,GAAGypB,WAAWnrB,GAAG2D,OAASumB,GAAOxoB,GAAGypB,WAAWnrB,GAAGsrB,KACrE,OAAOpB,GAAOxoB,GAAGypB,WAAWnrB,GAAGke,IAGtC,CACD,MAAO,OACR,CA0BkBiyC,CAAatpD,EAAMgkB,SAAS1c,aAEzC,gBAAC,IAAD,WACIuX,GAAehd,OAAOX,KAAK2d,GAAate,OAAS,EAA0B2oD,EAAV,UAAV1pC,EAA8B4mC,GAAyB0B,IAAepoC,IAC7Hb,GAAehd,OAAOX,KAAK2d,GAAate,OAAS,EAAKsoD,EAAWn4B,QAAQrvB,KAAI,SAAAgiB,GAAM,OAAIA,CAAJ,IAAc3D,IACnG,eAAC,IAAD,CAAUi0B,KAAK,IAAI1yB,GAAG,yBAGxB,eAAC/Y,GAAA,EAAD,CAAWC,OAAK,EAAhB,SACE,eAACohD,GAAD,WAMT,EC5IcxwB,GA5BD,WACZ,OACE,qCACE,yBAAQ/wB,UAAU,OAAlB,SACE,eAACE,GAAA,EAAD,UACE,gBAACiD,GAAA,EAAD,CAAKnD,UAAU,gDAAf,UACE,eAACkO,GAAA,EAAD,CAAKC,GAAG,IAAR,SACE,uBAAKnO,UAAU,gDAAf,sBAEE,oBACEA,UAAU,wBACVsO,KAAK,IACLC,OAAO,SAHT,4CASJ,eAACL,GAAA,EAAD,CAAKC,GAAG,cAQnB,ECgFcqzC,GAtGF,SAACxpD,GACZ,IAAMkmC,EAAcxK,IAAMC,OAAO,MAC3B3X,EAAWvZ,cAEjBixB,IAAM/wB,WAAU,WAEd,OADA+pC,SAAS+U,KAAKC,UAAUC,IAAI,cACrB,WACLjV,SAAS+U,KAAKC,UAAUE,OAAO,aAChC,CACF,GAAE,IAEHluB,IAAM/wB,WAAU,WACd+pC,SAASoU,gBAAgBC,UAAY,EACrCrU,SAASsU,iBAAiBD,UAAY,EACtC7iB,EAAYxV,QAAQq4B,UAAY,CAEjC,GAAE,CAAC/kC,IAEJ,IAAmBX,EAgBnB,OACE,uCACE,uBAAKrb,UAAU,eAAek0B,IAAKgK,EAAnC,UAGE,uBAAKl+B,UAAU,sBACbC,MAAO,CACL8c,gBAAiB,OAASjtB,EAAQ,KAAkCwD,QAAU,IAC9E0pB,eAAgB,QAChBC,mBAAoB,cAJxB,UASE,uBAAMjd,UAAU,mBAChB,eAACE,GAAA,EAAD,UACE,sBAAKF,UAAU,+BAAf,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAACkO,GAAA,EAAD,CAAKiP,GAAG,IAAI+S,GAAG,IAAf,UACE,sBACEjwB,MAAO,CAAE3O,MAAO,SAChB+mB,IAAI,MACJE,IACEzoB,EAAQ,KAAoCwD,UAGhD,qBAAI0M,UAAU,GAAGC,MAAO,CAAEnJ,MAAO,WAAjC,uCACA,oBAAGkJ,UAAU,YAAYC,MAAO,CAAEnJ,MAAO,WAAzC,gHASR,sBAAKkJ,UAAU,uDAAuDC,MAAO,CAAEK,aAAc,QAA7F,SACE,sBACEkyB,MAAM,6BACNC,oBAAoB,OACpB3wB,QAAQ,MACR4wB,QAAQ,eACRvhC,EAAE,IACFC,EAAE,IANJ,SAQE,0BACE4O,UAAU,eACV2yB,OAAO,iCAMf,eAACzyB,GAAA,EAAD,CAAWF,UAAU,aAArB,SACE,eAACmD,GAAA,EAAD,CAAKnD,UAAU,yBAAf,SACE,gBAAC,IAAD,YAvESqb,EAwEIA,GAvEdA,EAAOhiB,KAAI,SAAC4iB,EAAMC,GACvB,MAAoB,UAAhBD,EAAKnnB,OAEL,eAAC,IAAD,CACE2nB,KAAMR,EAAKnnB,OAASmnB,EAAKQ,KACzB4hC,UAAWpiC,EAAKoiC,WACXniC,GAIF,IAEV,KA4DS,eAAC,IAAD,CAAUyvB,KAAK,IAAI1yB,GAAG,4BAM9B,eAAC4oC,GAAD,MAGL,EChDcC,GAtDO,WACpB,MAAoB9zC,eAAZpU,EAAR,EAAQA,EAAR,EAAWqU,KAEX,OACE,yBAAQjO,UAAU,OAAlB,SACE,eAACE,GAAA,EAAD,UACE,gBAACiD,GAAA,EAAD,CAAKnD,UAAU,gDAAf,UACE,eAACkO,GAAA,EAAD,CAAKC,GAAG,IAAR,SACE,uBAAKnO,UAAU,gDAAf,UACGpG,EAAE,oBAAsB,IAAMwU,OAASC,OACxC,oBAAGrO,UAAU,wBAAwBsO,KAAK,IAAIC,OAAO,SAArD,SACG3U,EAAE,0BAIT,eAACsU,GAAA,EAAD,CAAKC,GAAG,IAAInO,UAAU,aAAtB,SACE,gBAACwO,GAAA,EAAD,CAAKxO,UAAU,2DAAf,UACE,eAACyO,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CAASJ,KAAK,kCAAkCC,OAAO,SAAvD,SACG3U,EAAE,sBAGP,eAAC6U,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CAASJ,KAAK,wBAAwBC,OAAO,SAA7C,SACG3U,EAAE,kBAGP,eAAC6U,GAAA,EAAD,UACE,eAACC,GAAA,EAAD,CAASJ,KAAK,wBAAwBC,OAAO,SAA7C,SACG3U,EAAE,mBAGP,eAAC6U,GAAA,EAAD,eAoBb,ECwLcszC,GA7NO,WACpB,IAAM/jD,EAAWsE,cACXpD,EAAUqD,cAEhB,EAAgCuU,mBAAS,CAAC,GAA1C,oBAAOM,EAAP,KAAiB4qC,EAAjB,KACA,EAA8ClrC,mBAAS,MAAvD,oBAAOmrC,EAAP,KAAwBC,EAAxB,KACA,EAAgDprC,oBAAS,GAAzD,oBAAOqrC,EAAP,KAAyBC,EAAzB,KAEA,EAAoBp0C,eAAZpU,EAAR,EAAQA,EAAGqU,EAAX,EAAWA,KAEL/C,EAAcxI,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWR,WAA5B,IAC5B5M,cAAYC,QAAQC,IAAI,gBAAiB0M,GAI7C,IAAM6d,EAAWrmB,aAAY,SAACnD,GAAD,OAAWA,EAAMmM,WAAWP,cAA5B,IACzB7M,cAAYC,QAAQC,IAAI,aAAcuqB,GAE1C,IAAMzpB,EAAW6b,OAAOa,SAAS1c,SAEjCqD,qBAAU,WACR3E,EAAS2Q,KACV,GAAE,IAGHhM,qBAAU,WACR,IAAI0/C,EAA4BtyD,KAAOyT,OAAO0H,EAAa,CAAEkyC,IAAK,QAClE4E,EAAYK,EACb,GAAE,CAACn3C,IAGJvI,qBAAU,WACR,IAAM2/C,EAAmBL,IAEpBl5B,GAAYA,EAAS3R,UAAY2R,EAAS3R,SAAS,IAAM2R,EAAS3R,SAAS,GAAGne,KAC7E8vB,EAAS3R,SAAS,GAAGne,KACrB,MACNipD,EAAmBI,EACpB,GAAE,CAACL,EAAiBl5B,IAErBpmB,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,2BAA4BuO,KAAQqK,SACjE,GAAE,CAACrK,KAAQqK,WAGZzU,qBAAU,WACWwY,OAAOa,SAAS1N,KAG/BhP,EAAS8jB,SAAS,cAAgB9jB,EAAS8jB,SAAS,UACtDg/B,GAAoB,GAGpBA,GAAoB,EAEvB,GAAE,CAAC9iD,IAqBJ,OACE,qCACE,eAACsY,GAAA,EAAD,CAAQ5X,UAAU,yBAAyB6X,OAAO,KAAK5X,MAAO,CAAElL,QAAS,GAAzE,SACE,gBAACmL,GAAA,EAAD,CAAWD,MAAO,CAAE/N,gBAAiB,QAArC,UAEE,eAACsc,GAAA,EAAD,CAAKxO,UAAU,oBAAf,SACE,sBAAKqY,IAAI,WAAWE,IAAKzoB,EAAQ,KAAuCwD,QAAS2M,MAAO,CAAE6+B,UAAW,GAAIxtC,MAAO,YAGlH,eAACkd,GAAA,EAAD,UACIze,KAAOiT,QAAQnJ,OAAOmV,OAAOoI,IAe3B,KAdF,uBAAKnX,MAAO,CAAE/N,gBAAiB,WAA/B,UACE,eAAC,KAAD,CAAuB+N,MAAO,CAAE/N,gBAAiB,UAAW4E,MAAO,QAASzF,OAAQ,GAAIkxD,YAAa,KACrG,yBACElzC,KAAK,WACL7X,MAAOyqD,EACPh+B,SAnCS,SAAC+P,GACxB,IAAMshB,EAAmBthB,EAAMzlB,OAAO/W,MAIlC8H,EAAS8jB,SAAS,gBACpBlkB,EAAQG,KAAK,CAAEC,SAAU,qBAAsBC,MAAO,CAAEqR,aAAc0kC,KAIxErnC,EAAKiJ,eAAeo+B,GACpB4M,EAAmB5M,GAGnB,IAAMkN,EAAiBzyD,KAAOyT,OAAO4T,EAAU,CAAEne,KAAMq8C,IACvDt3C,EAAS,CAAEE,KAAMyI,GAA+BvI,QAAS,CAAEgZ,SAAUorC,IACtE,EAoBej1B,SAAU40B,EACVliD,MAAO,CAAEwiD,OAAQ,QAASrwD,YAAa,UAAWysC,cAAe,UALnE,SAOGhlC,OAAOmV,OAAOoI,GAAU/d,KAAI,SAAC6iB,EAAKrpB,GACjC,OAAO,yBAAQ2E,MAAO0kB,EAAIjjB,KAAnB,SAA0BijB,EAAI7M,MACtC,WAQT,gBAACb,GAAA,EAAD,CAAKxO,UAAU,sCAAsCC,MAAO,CAAC,EAA7D,UACE,eAACwO,GAAA,EAAD,CAASxO,MAAO,CAAE+Y,YAAa,IAA/B,SACE,eAAC,IAAD,CACEhZ,UAAU,gBACViZ,GAAG,eACHH,IAAKI,IACLjZ,MAAO,CAAC,EACRyiD,YAAa,CAAE5rD,MAAO,WALxB,SAOE,uBAAMkJ,UAAU,uBAAhB,SACE,6BAAIpG,EAAE,8BAIZ,eAAC6U,GAAA,EAAD,CAASxO,MAAO,CAAE+Y,YAAa,IAA/B,SACE,eAAC,IAAD,CACEhZ,UAAU,gBACViZ,GAAG,qBACHH,IAAKI,IACLjZ,MAAO,CAAC,EACRyiD,YAAa,CAAE5rD,MAAO,WALxB,SAOE,uBAAMkJ,UAAU,uBAAhB,SACE,6BAAIpG,EAAE,6BAIZ,eAAC6U,GAAA,EAAD,CAASxO,MAAO,CAAE+Y,YAAa,GAA/B,SACE,eAAC,IAAD,CACEhZ,UAAU,gBACViZ,GAAG,gBACHH,IAAKI,IACLjZ,MAAO,CAAC,EACRnB,QAAS,SAAC/F,GAER,IAAMkpD,EAAkB1nD,aAAaC,QAAQkN,IAC7CnN,aAAaod,QACbpd,aAAa+e,QAAQ5R,GAAUu6C,EAChC,EAEDS,YAAa,CAAE5rD,MAAO,WAZxB,SAcE,uBAAMkJ,UAAU,uBAAhB,SACE,6BAAIpG,EAAE,kCAOd,eAAC4U,GAAA,EAAD,CAAKxO,UAAU,+BAA+B+X,QAAM,EAApD,SACE,gBAACC,GAAA,EAAD,CAAsBC,KAAG,EAAzB,UACE,eAACC,GAAA,EAAD,CAAgBlY,UAAU,OAAOiY,KAAG,EAApC,SACE,eAACE,GAAA,EAAD,CAAOnY,UAAU,qBAAjB,SACE,uBAAMA,UAAU,sBAAsBC,MAAO,CAAE/N,gBAAiB,UAAWkO,UAAW,OAAQ4Y,YAAa,aAI/G,gBAACL,GAAA,EAAD,CAAc3Y,UAAU,sBAAsB3P,OAAK,EAAnD,UACE,eAACuoB,GAAA,EAAD,UACE,eAAC,IAAD,CACE5Y,UAAU,gBACViZ,GAAG,eACHH,IAAKI,IACLjZ,MAAO,CAAC,EACRyiD,YAAa,CAAE5rD,MAAO,WALxB,SAOE,uBAAMkJ,UAAU,uBAAhB,SACE,6BAAIpG,EAAE,8BAIZ,eAACgf,GAAA,EAAD,UACE,eAAC,IAAD,CACE5Y,UAAU,gBACViZ,GAAG,qBACHH,IAAKI,IACLjZ,MAAO,CAAC,EACRyiD,YAAa,CAAE5rD,MAAO,WALxB,SAOE,uBAAMkJ,UAAU,uBAAhB,SACE,6BAAIpG,EAAE,6BAIZ,eAACgf,GAAA,EAAD,UACE,eAAC,IAAD,CACE5Y,UAAU,gBACViZ,GAAG,gBACHH,IAAKI,IACLjZ,MAAO,CAAC,EACRnB,QAAS,SAAC/F,GAER,IAAMkpD,EAAkB1nD,aAAaC,QAAQkN,IAC7CnN,aAAaod,QACbpd,aAAa+e,QAAQ5R,GAAUu6C,EAChC,EACDS,YAAa,CAAE5rD,MAAO,WAXxB,SAaE,uBAAMkJ,UAAU,uBAAhB,SACE,6BAAIpG,EAAE,6CAa3B,E,UC/JcqkC,GA7DC,WACd,IAAMC,EAAcxK,IAAMC,OAAO,MAEjC,EAAsC7c,oBAAS,GAA/C,oBAAOtK,EAAP,KAAoB4zC,EAApB,KAEAz9C,qBAAU,WACRggD,KAAQC,WAAWC,kBAEnBF,KAAQG,SAAS,UAClB,GAAE,IAGH,IAAM7B,EAAiBv+C,aAAY,SAACnD,GAAD,OAAWA,EAAMmN,UAAUF,WAA3B,IACnC7J,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,mBAAoByiD,GAChDb,IAAerwD,KAAOw0B,UAAU08B,IAAkBA,EACnD,GAAE,CAACA,IAEJ,IAAmB5lC,EAgBnB,OACE,uCACG7O,EACC,sBAAKxM,UAAU,8BAAf,SACE,eAACqhD,GAAA,EAAD,CAAkBphD,MAAO,CAAEnJ,MAAO,eAC3B,KAGX,sBAAKkJ,UAAU,SAASC,MAAO,CAAE/N,gBAAiB,QAAlD,SACE,eAAC,GAAD,MAGF,sBAAK8N,UAAU,eAAek0B,IAAKgK,EAAnC,SACI,gBAAC,IAAD,YA7BW7iB,EA8BE+iC,GA7BZ/iC,EAAOhiB,KAAI,SAAC4iB,EAAMC,GACvB,MAAoB,YAAhBD,EAAKnnB,OAEL,eAAC,IAAD,CACE2nB,KAAMR,EAAKnnB,OAASmnB,EAAKQ,KACzB4hC,UAAWpiC,EAAKoiC,WACXniC,GAIF,IAEV,KAkBO,eAAC,IAAD,CAAUyvB,KAAK,IAAI1yB,GAAG,yBAI5B,sBAAKjZ,UAAU,SAASC,MAAO,CAAE/N,gBAAiB,QAAlD,SACE,eAAC,GAAD,QAKP,ECoDc6wD,GAjHD,SAAC/qD,GACb,IAAM6e,EAAcnU,aAAY,SAACnD,GAAD,OAAWA,EAAMsN,KAAKjF,QAAtB,IAC1Bs2B,EAAcxK,IAAMC,OAAO,MAC3B3X,EAAWvZ,cACXzE,EAAWsE,cACXpD,EAAUqD,cAEhB,EAA0BuU,mBAAS,WAAnC,oBAAOU,EAAP,KAAc2oC,EAAd,KACA,EAAsCrpC,oBAAS,GAA/C,oBAAOtK,EAAP,KAAoB4zC,EAApB,KAIM1oC,EAAS,WACb1Z,EAAS,CAAEE,KAAM+J,KACjB1N,aAAaod,QACbzY,EAAQG,KAAK,gBACd,EAEDsD,qBAAU,WAGR09C,aAAY,WACV,IAAMC,EAAQ,OAAGzpC,QAAH,IAAGA,OAAH,EAAGA,EAAajc,MAC1B2lD,EAAmBhmD,aAAaC,QAAQ,eACxC2c,EAAQzc,KAAKC,MAAM4lD,GACjBC,EAAU,OAAGrpC,QAAH,IAAGA,OAAH,EAAGA,EAAOvc,MACtB4lD,GAAcA,EAAWjoD,OAAS,GAAKioD,IAAeF,GAIxDnlC,OAAOa,SAASwI,QAEnB,GAAE,IACJ,GAAE,IAIH7hB,qBAAU,WACR,GAAIkU,GAAehd,OAAOX,KAAK2d,GAAate,OAAS,GACnD,UAAIse,QAAJ,IAAIA,KAAajc,MAAO,CACtB,IAMK,IANCA,EAAK,OAAGic,QAAH,IAAGA,OAAH,EAAGA,EAAajc,MAG3B,GAAuB,IAFF6lD,aAAO7lD,GAEX8lD,KAAa,IAAIC,MAAOC,UACvClpC,SAGAyoC,EAAoB,OAAXtpC,QAAW,IAAXA,GAAA,UAAAA,EAAanM,YAAb,SAAmB+M,MAAnB,OAA2BZ,QAA3B,IAA2BA,GAA3B,UAA2BA,EAAanM,YAAxC,aAA2B,EAAmB+M,MAAQ,UAElE,OAGDC,GAEH,GAAE,CAACb,IAEJ,IAAMgqC,EAAaltB,iBAAO,IAE1BhxB,qBAAU,WACR+pC,SAASoU,gBAAgBC,UAAY,EACrCrU,SAASsU,iBAAiBD,UAAY,EACtC7iB,EAAYxV,QAAQq4B,UAAY,CAEjC,GAAE,CAAC/kC,IAGJ,IAAMilC,EAAiBv+C,aAAY,SAACnD,GAAD,OAAWA,EAAMmN,UAAUF,WAA3B,IACnC7J,qBAAU,WACJrE,cAAYC,QAAQC,IAAI,mBAAoByiD,GAChDb,IAAerwD,KAAOw0B,UAAU08B,IAAkBA,EACnD,GAAE,CAACA,IAiBJ,OAFyB,UAAVzpC,EAAoB4mC,GAAc0B,IAZxCzpD,SAAQ,SAAC4lB,EAAMC,GACpBD,EAAKE,eAAe,eAAkBF,EAAKK,WAAYjmB,SAAQ,SAAC8qD,EAAWC,GAChD,mBAArBD,EAAUrsD,QACZ+rD,EAAWn4B,QAAQrpB,KAAK,eAAC,IAAD,CACtBod,KAAM0kC,EAAUrsD,OAASqsD,EAAU1kC,KACnC4hC,UAAW8C,EAAU9C,WAChBniC,EAAMklC,GAGhB,GACF,IAKD,uCACG50C,EACC,sBAAKxM,UAAU,8BAAf,SACE,eAACqhD,GAAA,EAAD,CAAkBphD,MAAO,CAAEnJ,MAAO,eAC3B,KAIX,sBAAKkJ,UAAU,eAAek0B,IAAKgK,EAAnC,SAEE,eAAC,IAAD,UACE,eAAC,IAAD,CACEzhB,KAAK,oCACL4hC,UACEM,IAEE,WAOf,EC3FKqE,GAAQC,sBAAYt2C,GAAUu2C,8BAClCC,0BAAgBC,OAYlB3W,IAAS9O,OACP,eAAC,IAAD,CAAUqlB,MAAOA,GAAjB,SACE,eAACK,GAAA,EAAD,CAAiBp1C,KAAMlB,GAAvB,SACE,eAAC,WAAD,CACEu2C,SACE,sBAAKrjD,MAAO,CAAE3O,MAAO6pB,OAAOszB,WAAYp9C,OAAQ8pB,OAAOooC,YAAaxqC,UAAW,UAA/E,SACE,eAACsoC,GAAA,EAAD,CAAkBphD,MAAO,CAAEnJ,MAAO,UAAW+J,UAAYsa,OAAOooC,YAAc,OAHpF,SAQE,eAAC,IAAD,UACE,gBAAC,IAAD,WACE,eAAC,IAAD,CAAO9mC,KAAK,UAAUkhB,OAAQ,SAAC3lC,GAAD,OAAW,eAAC,GAAD,eAAmBA,GAA9B,IAC9B,eAAC,IAAD,CAAOykB,KAAK,QAAQkhB,OAAQ,SAAC3lC,GAAD,OAAW,eAAC,GAAD,eAAgBA,GAA3B,IAE5B,eAAC,IAAD,CAAOykB,KAAK,iBAAiBkhB,OAAQ,SAAC3lC,GAAD,OAAW,eAAC,GAAD,eAAiBA,GAA5B,IACrC,eAAC,IAAD,CAAOykB,KAAK,cAAckhB,OAAQ,SAAC3lC,GAAD,OAAW,eAAC,GAAD,eAAiBA,GAA5B,IAElC,eAAC,IAAD,CAAU2zC,KAAK,IAAI1yB,GAAG,uBAOhCyzB,SAASC,eAAe,Q","file":"static/js/main.fc075d29.chunk.js","sourcesContent":["const Chart = require(\"chart.js\");\nconst Lodash = require(\"lodash\");\n// month\nconst month = [\"\", \"Cambodia\", \"Myanmar\", \"Nepal\", \"Pakistan\", \"Philippines\", \"Sri Lanka\"];\n// get statsumcon\nlet statsumconmon = [];\nlet statsumconwek = [];\n// get statsumrep\nlet statsumrep = [];\n\nconst setInitData = (arr1, arr2, arr3) => {\n statsumconmon = arr1.slice()\n statsumconwek = arr2.slice()\n statsumrep = arr3.slice()\n}\n\nconst funcSetdata = (arr, type, graph) => {\n console.log('arr', arr);\n console.log('type', type);\n console.log('graph', graph);\n // let data = graph==='conmon' ? [null, 20, 6, 25, 13, 30, 25] : [null, 4, 0, 12, 3, 8, 5];\n // let label = graph==='conmon' ? month.filter(item => item) : [];\n let label = month;\n\n // let label = graph==='conmon' ? [4, 0, 12, 3, 8, 5] : [];\n // arr && Object.values(arr).map((props, i) => {\n // data[props._id.timeline[type] -(type==='month'?1:0)] = props.count;\n // label[props._id.timeline[type] -(type==='month'?1:0)] = type==='month'? month[props._id.timeline[type]-1] : props._id.timeline[type];\n // });\n // data = graph !=='conmon' ? data.filter(item => item) : data;\n // label = graph !=='conmon' ? label.filter(item => item) : label;\n\n let data = [];\n if(graph==='rep'){\n data = [null, 1, 0, 0, 6, 0, 2];\n }\n else if (graph==='conweek'){\n data = [null, 4, 0, 12, 3, 8, 5]; // this year\n }\n else if (graph==='conmon'){\n data = [null, 20, 6, 25, 13, 30, 25]; // total\n }\n\n\n return {'label':label, 'data':data};\n}\n//\n// Chart extension for making the bars rounded\n// Code from: https://codepen.io/jedtrow/full/ygRYgo\n//\n\nChart.elements.Rectangle.prototype.draw = function () {\n var ctx = this._chart.ctx;\n var vm = this._view;\n var left, right, top, bottom, signX, signY, borderSkipped, radius;\n var borderWidth = vm.borderWidth;\n // Set Radius Here\n // If radius is large enough to cause drawing errors a max radius is imposed\n var cornerRadius = 6;\n\n if (!vm.horizontal) {\n // bar\n left = vm.x - vm.width / 2;\n right = vm.x + vm.width / 2;\n top = vm.y;\n bottom = vm.base;\n signX = 1;\n signY = bottom > top ? 1 : -1;\n borderSkipped = vm.borderSkipped || \"bottom\";\n } else {\n // horizontal bar\n left = vm.base;\n right = vm.x;\n top = vm.y - vm.height / 2;\n bottom = vm.y + vm.height / 2;\n signX = right > left ? 1 : -1;\n signY = 1;\n borderSkipped = vm.borderSkipped || \"left\";\n }\n\n // Canvas doesn't allow us to stroke inside the width so we can\n // adjust the sizes to fit if we're setting a stroke on the line\n if (borderWidth) {\n // borderWidth shold be less than bar width and bar height.\n var barSize = Math.min(Math.abs(left - right), Math.abs(top - bottom));\n borderWidth = borderWidth > barSize ? barSize : borderWidth;\n var halfStroke = borderWidth / 2;\n // Adjust borderWidth when bar top position is near vm.base(zero).\n var borderLeft = left + (borderSkipped !== \"left\" ? halfStroke * signX : 0);\n var borderRight =\n right + (borderSkipped !== \"right\" ? -halfStroke * signX : 0);\n var borderTop = top + (borderSkipped !== \"top\" ? halfStroke * signY : 0);\n var borderBottom =\n bottom + (borderSkipped !== \"bottom\" ? -halfStroke * signY : 0);\n // not become a vertical line?\n if (borderLeft !== borderRight) {\n top = borderTop;\n bottom = borderBottom;\n }\n // not become a horizontal line?\n if (borderTop !== borderBottom) {\n left = borderLeft;\n right = borderRight;\n }\n }\n\n ctx.beginPath();\n ctx.fillStyle = vm.backgroundColor;\n ctx.strokeStyle = vm.borderColor;\n ctx.lineWidth = borderWidth;\n\n // Corner points, from bottom-left to bottom-right clockwise\n // | 1 2 |\n // | 0 3 |\n var corners = [\n [left, bottom],\n [left, top],\n [right, top],\n [right, bottom],\n ];\n\n // Find first (starting) corner with fallback to 'bottom'\n var borders = [\"bottom\", \"left\", \"top\", \"right\"];\n var startCorner = borders.indexOf(borderSkipped, 0);\n if (startCorner === -1) {\n startCorner = 0;\n }\n\n function cornerAt(index) {\n return corners[(startCorner + index) % 4];\n }\n\n // Draw rectangle from 'startCorner'\n var corner = cornerAt(0);\n ctx.moveTo(corner[0], corner[1]);\n\n for (var i = 1; i < 4; i++) {\n corner = cornerAt(i);\n let nextCornerId = i + 1;\n if (nextCornerId === 4) {\n nextCornerId = 0;\n }\n\n // let nextCorner = cornerAt(nextCornerId);\n\n let width = corners[2][0] - corners[1][0];\n let height = corners[0][1] - corners[1][1];\n let x = corners[1][0];\n let y = corners[1][1];\n // eslint-disable-next-line\n var radius = cornerRadius;\n\n // Fix radius being too large\n if (radius > height / 2) {\n radius = height / 2;\n }\n if (radius > width / 2) {\n radius = width / 2;\n }\n\n ctx.moveTo(x + radius, y);\n ctx.lineTo(x + width - radius, y);\n ctx.quadraticCurveTo(x + width, y, x + width, y + radius);\n ctx.lineTo(x + width, y + height - radius);\n ctx.quadraticCurveTo(x + width, y + height, x + width - radius, y + height);\n ctx.lineTo(x + radius, y + height);\n ctx.quadraticCurveTo(x, y + height, x, y + height - radius);\n ctx.lineTo(x, y + radius);\n ctx.quadraticCurveTo(x, y, x + radius, y);\n }\n\n ctx.fill();\n if (borderWidth) {\n ctx.stroke();\n }\n};\n\nvar mode = \"light\"; //(themeMode) ? themeMode : 'light';\nvar fonts = {\n base: \"Open Sans\",\n};\n\n// Colors\nvar colors = {\n gray: {\n 100: \"#f6f9fc\",\n 200: \"#e9ecef\",\n 300: \"#dee2e6\",\n 400: \"#ced4da\",\n 500: \"#adb5bd\",\n 600: \"#8898aa\",\n 700: \"#525f7f\",\n 800: \"#32325d\",\n 900: \"#212529\",\n },\n theme: {\n default: \"#fed665\",\n primary: \"#fed665\",\n secondary: \"#f4f5f7\",\n info: \"#11cdef\",\n success: \"#2dce89\",\n danger: \"#f5365c\",\n warning: \"#fb6340\",\n },\n black: \"#fed665\",\n white: \"#FFFFFF\",\n transparent: \"transparent\",\n};\n\n// Methods\n\n// Chart.js global options\nfunction chartOptions() {\n // Options\n var options = {\n defaults: {\n global: {\n responsive: true,\n maintainAspectRatio: false,\n defaultColor: mode === \"dark\" ? colors.gray[700] : colors.gray[600],\n defaultFontColor: mode === \"dark\" ? colors.gray[700] : colors.gray[600],\n defaultFontFamily: fonts.base,\n defaultFontSize: 13,\n layout: {\n padding: 0,\n },\n legend: {\n display: false,\n position: \"bottom\",\n labels: {\n usePointStyle: true,\n padding: 16,\n },\n },\n elements: {\n point: {\n radius: 0,\n backgroundColor: colors.theme[\"primary\"],\n },\n line: {\n tension: 0.4,\n borderWidth: 4,\n borderColor: colors.theme[\"primary\"],\n backgroundColor: colors.transparent,\n borderCapStyle: \"rounded\",\n },\n rectangle: {\n backgroundColor: colors.theme[\"warning\"],\n },\n arc: {\n backgroundColor: colors.theme[\"primary\"],\n borderColor: mode === \"dark\" ? colors.gray[800] : colors.white,\n borderWidth: 4,\n },\n },\n tooltips: {\n enabled: true,\n mode: \"index\",\n intersect: false,\n },\n },\n doughnut: {\n cutoutPercentage: 83,\n legendCallback: function (chart) {\n var data = chart.data;\n var content = \"\";\n\n data.labels.forEach(function (label, index) {\n var bgColor = data.datasets[0].backgroundColor[index];\n\n content += '';\n content +=\n '';\n content += label;\n content += \"\";\n });\n\n return content;\n },\n },\n },\n };\n\n // yAxes\n Chart.scaleService.updateScaleDefaults(\"linear\", {\n gridLines: {\n borderDash: [2],\n borderDashOffset: [2],\n color: mode === \"dark\" ? colors.gray[900] : colors.gray[300],\n drawBorder: false,\n drawTicks: false,\n lineWidth: 0,\n zeroLineWidth: 0,\n zeroLineColor: mode === \"dark\" ? colors.gray[900] : colors.gray[300],\n zeroLineBorderDash: [2],\n zeroLineBorderDashOffset: [2],\n },\n ticks: {\n beginAtZero: true,\n padding: 10,\n callback: function (value) {\n if (!(value % 10)) {\n return value;\n }\n },\n },\n });\n\n // xAxes\n Chart.scaleService.updateScaleDefaults(\"category\", {\n gridLines: {\n drawBorder: false,\n drawOnChartArea: false,\n drawTicks: false,\n },\n ticks: {\n padding: 20,\n },\n });\n\n return options;\n}\n\n// Parse global options\nfunction parseOptions(parent, options) {\n for (var item in options) {\n if (typeof options[item] !== \"object\") {\n parent[item] = options[item];\n } else {\n parseOptions(parent[item], options[item]);\n }\n }\n}\n// Example 1 of Chart inside src/views/Index.js (Sales value - Card)\n\n\n\n\n\n\nconst getLineChart = (labels, data1, data2, props) => {\n let maxYValue1 = Lodash.max(data1);\n let maxYValue2 = Lodash.max(data2);\n\n let lineChart = {\n\n options: {\n scales: {\n yAxes: [\n {\n gridLines: {\n color: colors.gray[900],\n zeroLineColor: colors.gray[900],\n },\n ticks: {\n callback: function (value) {\n // if (!(value % 2)) {\n return value;\n // }\n },\n },\n },\n ],\n },\n tooltips: {\n callbacks: {\n label: function (item, data) {\n var label = data.datasets[item.datasetIndex].label || \"\";\n var yLabel = item.yLabel;\n var content = \"\";\n\n if (data.datasets.length > 1) {\n content += label;\n }\n\n content += yLabel;\n return content;\n },\n },\n },\n },\n data1: (canvas) => {\n return {\n labels: labels,\n datasets: [\n {\n label: \" \",\n data: data1,\n },\n ],\n };\n },\n data2: (canvas) => {\n return {\n labels: labels,\n datasets: [\n {\n label: \" \",\n data: data2,\n },\n ],\n };\n },\n };\n return lineChart;\n}\n\n\n\n\n\n\n\n\n// Example 2 of Chart inside src/views/Index.js (Total orders - Card)\nconst getBarChart = (labels, data1, props) => {\n let maxYValue = Lodash.max(data1);\n let chart2 = {\n options: {\n scales: {\n yAxes: [\n {\n ticks: {\n callback: function (value) {\n if ((value === Math.round(maxYValue)) || !(value % 5)) {\n //return '$' + value + 'k'\n return value;\n }\n },\n },\n },\n ],\n },\n tooltips: {\n callbacks: {\n label: function (item, data) {\n var label = labels;\n var yLabel = item.yLabel;\n var content = \"\";\n if (data.datasets.length > 1) {\n content += label;\n }\n content += yLabel;\n return content;\n },\n },\n },\n },\n data: {\n labels: labels,\n datasets: [\n {\n label: \" \",\n data: data1,\n maxBarThickness: 10,\n },\n ],\n },\n };\n return chart2;\n}\n\nmodule.exports = {\n setInitData,\n chartOptions, // used inside src/views/Index.js\n parseOptions, // used inside src/views/Index.js\n getLineChart, // used inside src/views/Index.js\n getBarChart, // used inside src/views/Index.js\n};\n","export default __webpack_public_path__ + \"static/media/img_logo.bc6dabd4.png\";","export default __webpack_public_path__ + \"static/media/dashboardBg.b459c0bd.png\";","export default __webpack_public_path__ + \"static/media/img_bg.594cb519.jpg\";","export default __webpack_public_path__ + \"static/media/dashboard.7206cb2e.png\";","export default __webpack_public_path__ + \"static/media/faq.989ae34e.png\";","export default __webpack_public_path__ + \"static/media/faqBg.e109bb16.png\";","export default __webpack_public_path__ + \"static/media/takeAssessmentBg.b2c50c43.png\";","function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nmodule.exports = webpackEmptyContext;\nwebpackEmptyContext.id = 231;","var map = {\n\t\"./en_localization.json\": [\n\t\t491,\n\t\t3\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__.t(id, 3);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 296;\nmodule.exports = webpackAsyncContext;","export default __webpack_public_path__ + \"static/media/takeAssessment.d332d991.png\";","export default __webpack_public_path__ + \"static/media/resources.cc5f85be.png\";","export default __webpack_public_path__ + \"static/media/resourcesBg.c3711a97.png\";","export default __webpack_public_path__ + \"static/media/CHS_Diagram.d3b3907f.png\";","export default __webpack_public_path__ + \"static/media/home.2e0a8756.png\";","export default __webpack_public_path__ + \"static/media/home_app.2f72b548.png\";","export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAABECAYAAAA7rQj2AAAAxXpUWHRSYXcgcHJvZmlsZSB0eXBlIGV4aWYAAHjabVBbDgMhCPznFD0CL108jvto0hv0+EVhk922kziMoAMKx/v1hMcAk4KWxWqrFR3atHF3YRjokwl18gRvqeieB9W8xJ4SjxJbqxHpzOeFM1J3VS5GtmVhvRdaNmD7MspGMiZiF3satTQSjgKlQY9nYW22XJ+wHniHxYJBa7rOifB3r4v/3l68jzAfQoLOIhYDyFgFpLuQyeoHQ6tUZxbOSfxD/v3TCfgAj9FaBIkUqn4AAAGEaUNDUElDQyBwcm9maWxlAAB4nH2RPUjDQBiG36ZKRSoOFhFRyFCdLIiKOGoVilAh1AqtOphc+gdNGpIUF0fBteDgz2LVwcVZVwdXQRD8AXEXnBRdpMTvkkKLGO847uG97325+w4Q6mWmWR3jgKbbZioRFzPZVTH0iiDNfoQxLDPLmJOkJHzH1z0CfL+L8Sz/uj9Hj5qzGBAQiWeZYdrEG8TTm7bBeZ84woqySnxOPGbSBYkfua54/Ma54LLAMyNmOjVPHCEWC22stDErmhrxFHFU1XTKFzIeq5y3OGvlKmvek78wnNNXlrlOawgJLGIJEkQoqKKEMmzEaNdJsZCi87iPf9D1S+RSyFUCI8cCKtAgu37wP/jdWys/OeElheNA54vjfIwAoV2gUXOc72PHaZwAwWfgSm/5K3Vg5pP0WkuLHgG928DFdUtT9oDLHWDgyZBN2ZWCtIR8Hng/o2/KAn23QPea17fmOU4fgDT1KnkDHBwCowXKXvd5d1d73/6tafbvByMNcodufO0dAAANeGlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4KPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iWE1QIENvcmUgNC40LjAtRXhpdjIiPgogPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4KICA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIgogICAgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iCiAgICB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIgogICAgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIgogICAgeG1sbnM6R0lNUD0iaHR0cDovL3d3dy5naW1wLm9yZy94bXAvIgogICAgeG1sbnM6dGlmZj0iaHR0cDovL25zLmFkb2JlLmNvbS90aWZmLzEuMC8iCiAgICB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iCiAgIHhtcE1NOkRvY3VtZW50SUQ9ImdpbXA6ZG9jaWQ6Z2ltcDpmNGMxOTEzNi04ZTUyLTQyMjktOTVhNi01ZmQzYTIyMGNjODQiCiAgIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6YmNlOWU3NDItNGEyZC00ODhkLWE1ODQtMDFmZTQwNzk1Njg1IgogICB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6NDk3N2NhZWQtOTkzOC00YjZiLWJkZGYtZDU0ODg0ZjRmMTQ1IgogICBkYzpGb3JtYXQ9ImltYWdlL3BuZyIKICAgR0lNUDpBUEk9IjIuMCIKICAgR0lNUDpQbGF0Zm9ybT0iTGludXgiCiAgIEdJTVA6VGltZVN0YW1wPSIxNzQxMDQwMTg0NTk5MzEwIgogICBHSU1QOlZlcnNpb249IjIuMTAuMzgiCiAgIHRpZmY6T3JpZW50YXRpb249IjEiCiAgIHhtcDpDcmVhdG9yVG9vbD0iR0lNUCAyLjEwIgogICB4bXA6TWV0YWRhdGFEYXRlPSIyMDI1OjAzOjA0VDAzOjQ2OjIyKzA1OjMwIgogICB4bXA6TW9kaWZ5RGF0ZT0iMjAyNTowMzowNFQwMzo0NjoyMiswNTozMCI+CiAgIDx4bXBNTTpIaXN0b3J5PgogICAgPHJkZjpTZXE+CiAgICAgPHJkZjpsaQogICAgICBzdEV2dDphY3Rpb249InNhdmVkIgogICAgICBzdEV2dDpjaGFuZ2VkPSIvIgogICAgICBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjM1MmY4MDhkLTFhZDEtNDc1NC05NmU4LWQ0NmZjMmViYzQ3MSIKICAgICAgc3RFdnQ6c29mdHdhcmVBZ2VudD0iR2ltcCAyLjEwIChMaW51eCkiCiAgICAgIHN0RXZ0OndoZW49IjIwMjUtMDMtMDRUMDM6NDY6MjQrMDU6MzAiLz4KICAgIDwvcmRmOlNlcT4KICAgPC94bXBNTTpIaXN0b3J5PgogIDwvcmRmOkRlc2NyaXB0aW9uPgogPC9yZGY6UkRGPgo8L3g6eG1wbWV0YT4KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAKICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIAogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgCiAgICAgICAgICAgICAgICAgICAgICAgICAgIAo8P3hwYWNrZXQgZW5kPSJ3Ij8+MhEkbwAAAAZiS0dEAP8AAAAAMyd88wAAAAlwSFlzAAAOxAAADsQBlSsOGwAAAAd0SU1FB+kDAxYQGOmPYBEAABTOSURBVHja7Z15nBXFtce/dxiXRFbFXWQxYlxDAy40qKA9Ii6AS1RQ4akxiluMcYtbXFE0bjyjghvqM/rihujTKCWLQgEKU6AoRlRQohGNAkowRJn7/ujT0vRU39t35s4Mw6d+n898PtN1q6ur65w6derUOafBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwcHBwWHDQc4NgYND3eD5wRDgbOB7o1U/NyINj8oSCfQL4FCgG7BN7KcVwJvAi0YrE6vfFmhrtFrshrpOE6IT0KmcbRqtpriRrRdN2gKni6DqKMVT1uP+7gMcD2wBTDJaPbJBC6zuvata5PP5U4DLE5PnC+AnQCu5HgRc7/nBx8AzwARgOPAxcHUjE6kl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\"","export default \"data:image/jpeg;base64,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\"","export default __webpack_public_path__ + \"static/media/img_logo.bc6dabd4.png\";","import axios from 'axios';\nimport Config from \"config/config.json\";\n\n\n// const API = axios.create({ baseURL: 'http://127.0.0.1:3000/' });\nconst API = axios.create({ baseURL: Config.SERVER_API_URL });\n\nAPI.interceptors.request.use((req) => {\n if (localStorage.getItem('userDetails')) {\n req.headers[\"x-access-token\"] = `${JSON.parse(localStorage.getItem('userDetails')).token}`;\n }\n return req;\n});\n\n// AUTH\nexport const signIn = (formData) => API.post('/api/user/auth', formData);\nexport const signUp = (formData) => API.post('/api/user/registerUserAndOrganization', formData);\nexport const signupadmin = (formData) => API.post('/api/user/register', formData);\nexport const signupalreadyregister = (formData) => API.post('/api/user/registerUserAndUpdateOrganization', formData);\n\n// user\nexport const fetchProfile = () => API.post('/api/user/profile/find');\nexport const fetchProfileOrg = () => API.post('/api/user/profile/findUser');\nexport const fetchProfileOrgAsAdmin = (formData) => API.post('/api/user/profile/findUserAsAdmin', formData);\nexport const fetchAllProfiles = () => API.get('/api/user/all');\nexport const updateProfile = (formData) => API.post('/api/user/profile/update', formData);\nexport const updateUser = (formData) => API.post('/api/user/profile/updateUser', formData);\nexport const uploadProfileImage = (formData) => API.post('/api/uploads/saveImageProfile', formData);\nexport const changePassword = (formData) => API.post('/api/user/auth/change_password', formData);\nexport const changeStatus = (formData) => API.post('/api/user/status', formData);\nexport const fetchUserTemplateAll = (formData) => API.post('/api/user/userNew', formData);\nexport const resetPassword = (formData) => API.post('/api/user/reset', formData);\nexport const validateHuman = (formData) => API.post('/api/user/validateHuman', formData);\n\n// forum\n// forum topics\nexport const fetchFrmTopics = () => API.get('/api/forum/gettopics');\nexport const fetchFrmTopicById = (formData) => API.post('/api/forum/gettopicbyid', formData);\nexport const createFrmTopic = (formData) => API.post('/api/forum/createtopic', formData);\nexport const updateFrmTopic = (formData) => API.put('/api/forum/updatetopic', formData);\n// forum sub topics\nexport const fetchFrmSubTopics = (formData) => API.post('/api/forum/getsubtopics', formData);\nexport const fetchFrmSubTopicById = (formData) => API.post('/api/forum/getsubtopicbyid', formData);\nexport const createFrmSubTopic = (formData) => API.post('/api/forum/createsubtopic', formData);\nexport const updateFrmSubTopic = (formData) => API.put('/api/forum/updatesubtopic', formData);\nexport const deleteFrmSubTopic = (formData) => API.put('/api/forum/deletesubtopic', formData);\n// forum Questions\nexport const fetchFrmQus = () => API.get('/api/forum/getquestions');\nexport const fetchFrmQusbyTopics = (formData) => API.post('/api/forum/getquestionsbysubtopic', formData);\nexport const fetchFrmQusbyId = (formData) => API.post('/api/forum/getquestionbyid', formData);\nexport const createFrmQus = (formData) => API.post('/api/forum/createquestion', formData);\nexport const updateFrmQus = (formData) => API.put('/api/forum/updatequestion', formData);\nexport const deleteFrmQus = (formData) => API.put('/api/forum/deletequestionanswer', formData);\n// forum Answers\nexport const fetchFrmAns = (formData) => API.post('/api/forum/getanswers', formData);\nexport const fetchFrmAnsById = (formData) => API.post('/api/forum/getanswerbyid', formData);\nexport const createFrmAns = (formData) => API.post('/api/forum/createanswer', formData);\nexport const updateFrmAns = (formData) => API.put('/api/forum/updateanswer', formData);\nexport const deleteFrmAns = (formData) => API.put('/api/forum/deletequestionanswer', formData); //same as delete question\n\n\n// Survey\nexport const fetchSurveyAll = (formData) => API.post('/api/survey/findAll', formData);\nexport const fetchSurveyById = (formData) => API.post('/api/survey/findById', formData);\nexport const fetchActiveSurveyByType = (formData) => API.post('/api/survey/findActiveSurveyTemplateByType', formData);\nexport const fetchQuestionnaireAll = (formData) => API.post('/api/survey/questionnaire/findAll', formData);\nexport const fetchQuestionnaireById = (formData) => API.post('/api/survey/questionnaire/findById', formData);\nexport const createSurveyTemplate = (formData) => API.post('/api/survey/createTemplate', formData);\nexport const fetchSurveyTemplateAll = (formData) => API.post('/api/survey/findSurveyTemplateAll', formData);\nexport const fetchActiveSurveyTemplateByType = (formData) => API.post('/api/survey/findActiveSurveyTemplateByType', formData);\nexport const updateSurveyTemplateStatusById = (formData) => API.post('/api/survey/updateSurveyTemplateStatusById', formData);\nexport const updateSurveyTemplateById = (formData) => API.post('/api/survey/updateSurveyTemplateById', formData);\nexport const updateSurveyTemplatePublishById = (formData) => API.post('/api/survey/updateSurveyTemplatePublishById', formData);\n// Localization\nexport const createLocalizationBySurveyTemplate = (formData) => API.post('/api/survey/createSurveyLocalization', formData);\nexport const updateLocalizationBySurveyTemplate = (formData) => API.post('/api/survey/updateSurveyLocalization', formData);\nexport const fetchLocalizationBySurveyTemplate = (formData) => API.post('/api/survey/fetchLocalizationBySurveyTemplate', formData);\nexport const deleteSurveyLocalization = (formData) => API.post('/api/survey/deleteSurveyLocalization', formData);\n// Answer\nexport const createSurveyAnswer = (formData) => API.post('/api/survey/answer/create', formData);\nexport const updateSurveyAnswerById = (formData) => API.post('/api/survey/answer/update', formData);\nexport const fetchSurveyAnswerById = (formData) => API.post('/api/survey/answer/byId', formData);\nexport const fetchSurveyAnswerByUser = (formData) => API.post('/api/survey/answer/byUser', formData);\n// Recommendation\nexport const createRecommendation = (formData) => API.post('/api/survey/recommendation/create', formData);\nexport const updateRecommendationById = (formData) => API.post('/api/survey/recommendation/update', formData);\nexport const deleteRecommendationById = (formData) => API.post('/api/survey/recommendation/delete', formData);\nexport const fetchRecommendationsBySurveyId = (formData) => API.post('/api/survey/recommendation/findBySurveyId', formData);\n\n//Organization\nexport const updateOrganization = (formData) => API.post('/api/organization/updateDetails', formData);\nexport const fetchOrganizationAll = (formData) => API.post('/api/organization/findAll', formData);\nexport const fetchOrganizationAllByCountryId = (formData) => API.post('/api/organization/findAllByCountry', formData);\nexport const updateCityStatus = (formData) => API.post('api/organization/updateCityStatus', formData);\nexport const uploadOrganization = (formData) => API.post('/api/uploads/saveOrganization', formData);\nexport const deleteOrganizationProfileById = (formData) => API.post('/api/organization/deleteOrganizationProfileById', formData);\n\n// Master data\nexport const fetchMasterDataLanguageAll = (formData) => API.post('/api/masterdata/language/findAll', formData);\nexport const fetchMasterDataLanguage = (formData) => API.post('/api/masterdata/language/find', formData);\nexport const fetchCountry = (formData) => API.post('/api/masterdata/country/findAll', formData);\nexport const updateMasterDataCountry = (formData) => API.post('/api/masterdata/country/updateOrCreate', formData);\nexport const updateMasterDataLanguage = (formData) => API.post('/api/masterdata/language/updateOrCreate', formData);\nexport const fetchLandingContent = (formData) => API.post('/api/masterdata/public/findLandingContent', formData);\nexport const updateLandingContent = (formData) => API.post('/api/masterdata/public/updateLandingContent', formData);\nexport const fetchLocalizationContent = (formData) => API.post('/api/masterdata/public/findLocalizationContent', formData);\nexport const createLocalizationContent = (formData) => API.post('/api/masterdata/public/createLocalizationContent', formData);\nexport const updateLocalizationContent = (formData) => API.post('/api/masterdata/public/updateLocalizationContent', formData);\n// export const uploadPrimer = (formData) => API.post('/api/uploads/savePrimer', formData);\n// export const uploadLogo = (formData) => API.post('/api/uploads/saveLogo', formData);\n\n// Resource\nexport const fetchResources = (formData) => API.post('/api/resource/findAll', formData);\nexport const createResource = (formData) => API.post('/api/resource/create', formData);\nexport const updateResource = (formData) => API.post('/api/resource/update', formData);\nexport const deleteResource = (formData) => API.post('/api/resource/deleteById', formData);\nexport const uploadResource = (formData) => API.post('/api/uploads/saveResource', formData);\nexport const uploadPrimer = (formData) => API.post('/api/uploads/savePrimer', formData);\nexport const uploadLogo = (formData) => API.post('/api/uploads/saveLogo', formData);\nexport const uploadJSON = (formData) => API.post('/api/uploads/saveJSON', formData);\n\n// Reports\nexport const fetchReportAnswerAll = (formData) => API.post('/api/report/answer/all', formData);\nexport const fetchReportAnswersByUser = (formData) => API.post('/api/report/answer/byUser', formData);\nexport const fetchReportAnswerByCountry = (formData) => API.post('/api/report/answer/summaryByCountry', formData);\nexport const fetchAnswerStat = (formData) => API.post('/api/report/answer/findStats', formData);\nexport const fetchUserStat = (formData) => API.post('/api/report/answer/findUserStats', formData);\n\n","import {\n SURVEY_FETCH_ALL,\n SURVEY_FETCH_ACTIVE,\n SURVEY_TEMPLATE_FETCH_ALL,\n SURVEY_TEMPLATE_LOCAL,\n SURVEY_LOCALIZATION,\n LOCALIZATION_DELETE,\n SURVEY_ACTIVE_LOCAL,\n ANSWER_FETCH_BY_USER,\n ANSWER_FETCH_BY_ID,\n RECOMMENDATION_FETCH_ALL,\n SHOW_LOADING,\n GRAPH_LOCAL_ANSWER,\n} from \"constants/actionTypes\";\nimport { LOGINSTATE, SUPPORT_EMAIL } from \"config/config.json\";\nimport * as api from \"../api/index.js\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport Lodash from \"lodash\";\n\n// Surveys\n\n// no need\n// seems not using\nexport const fetchSurveyAll = () => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchSurveyAll();\n if (data?.status === \"success\") {\n dispatch({ type: SURVEY_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// trans done\nexport const fetchActiveSurveyByType = (formData, router, t) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchActiveSurveyByType(formData);\n if (LOGINSTATE) console.log(\"server response data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: SURVEY_FETCH_ACTIVE, payload: data?.data });\n localStorage.setItem(SURVEY_ACTIVE_LOCAL, \"{}\");\n }\n\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n // confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n // alert(error);\n if (LOGINSTATE) console.log(\"catch error:\", error);\n if (error?.response?.status && error?.response?.status === 401) {\n // confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const createSurveyTemplate = (formData, history) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createSurveyTemplate(formData);\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"Assessment created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push({ pathname: \"/registered/assessment\" });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error in data: \", data);\n confirmAlert({ title: \"Error\", message: \"Survey create failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const fetchSurveyTemplateAll = () => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchSurveyTemplateAll();\n if (LOGINSTATE) console.log(\"data fetchSurveyTemplateAll: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: SURVEY_TEMPLATE_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need\n// seems not using\nexport const fetchActiveSurveyTemplateByType = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchActiveSurveyTemplateByType(formData);\n if (LOGINSTATE) console.log(\"server response data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: SURVEY_FETCH_ACTIVE, payload: data?.data });\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, \"{}\");\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need\n// seems not using\nexport const fetchGraph = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const data = await JSON.parse(localStorage.getItem(GRAPH_LOCAL_ANSWER));;\n console.log(\"data\", data);\n if (data) {\n dispatch({ type: GRAPH_LOCAL_ANSWER, payload: data });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const createLocalizationBySurveyTemplate = (formData, history) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const response = await api.createLocalizationBySurveyTemplate(formData);\n\n const { data } = response;\n if (data?.status === \"success\") {\n confirmAlert({ message: \"Assessment localization is created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (data?.data?.surveyId) {\n history.push({ pathname: \"/registered/assessment\", state: { survey: { _id: data?.data?.surveyId } } });\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ title: \"Error\", message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(\"error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateLocalizationBySurveyTemplate = (formData, history) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateLocalizationBySurveyTemplate(formData);\n\n if (data?.status === \"success\") {\n confirmAlert({ message: \"Assessment locale is updated.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (data?.data?.surveyId) {\n history.push({ pathname: \"/registered/assessment\", state: { survey: { _id: data?.data?.surveyId } } });\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// need #####\nexport const fetchLocalizationBySurveyTemplate = (formData, router) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"formData\", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchLocalizationBySurveyTemplate(formData);\n if (LOGINSTATE) console.log(\"server response data action: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: SURVEY_LOCALIZATION, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n alert(error);\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const deleteSurveyLocalization = (formData, router) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"formdata\", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const response = await api.deleteSurveyLocalization(formData);\n const { data } = response;\n if (LOGINSTATE) console.log(\"delete localization: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: LOCALIZATION_DELETE, payload: dispatch });\n confirmAlert({\n message: \"Localization deleted.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n window.location.reload(true);\n },\n },\n ],\n });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n let errorMessage = error?.response?.data?.message;\n confirmAlert({ message: errorMessage, buttons: [{ label: \"Yes\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n\n if (LOGINSTATE) console.log(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// not need trans\nexport const updateSurveyTemplatePublishById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateSurveyTemplatePublishById(formData);\n\n if (LOGINSTATE) console.log(\"server response data: \", data);\n if (data?.status === \"success\") {\n confirmAlert({ message: \"Assessment is published.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n dispatch(fetchSurveyTemplateAll());\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error: \", data);\n confirmAlert({ message: \"Status update is failed.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: \"Status update is failed.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateSurveyTemplateById = (formData, history) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n formData[\"surveyId\"] = formData[\"_id\"];\n const { data } = await api.updateSurveyTemplateById(formData);\n if (LOGINSTATE) console.log(\"server response data: \", data);\n if (data?.status === \"success\") {\n confirmAlert({ message: \"Success\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push({ pathname: \"/registered/assessment\" });\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error: \", data);\n confirmAlert({ message: \"Update failed.\", buttons: [{ label: \"Yes\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: \"Update failed.\", buttons: [{ label: \"Yes\", onClick: () => { } }] });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// Answer\n\n// trans done\nexport const createSurveyAnswer = (formData, history, systemContentLocale, t) => async () => {\n if (LOGINSTATE) console.log(\"formData create\", formData);\n try {\n const { data } = await api.createSurveyAnswer(formData, systemContentLocale);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"Assessment answer created: \", data?.data);\n if (data.data?.status === \"PROGRESS\") {\n confirmAlert({\n message: systemContentLocale.app_success,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => {\n history.push({ pathname: \"/registered/assessment_answers\" });\n },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n } else {\n confirmAlert({\n message: systemContentLocale.assessment_completion + \" \" + SUPPORT_EMAIL,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => {\n history.push({ pathname: \"/registered/assessment_answer_complete\", state: { answer: formData, language: data.data?.languageCode } });\n },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n }\n //Localize\n if (data?.data?.surveyId) {\n // history.push({ pathname: '/registered/survey_answers'});\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: systemContentLocale.app_assessment_incomplete_title, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n // confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: t('common.ok'), onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n }\n};\n\n// trans done\nexport const updateSurveyAnswer = (formData, history, systemContentLocale, t) => async () => {\n if (LOGINSTATE) console.log(\"formData continue\", formData);\n try {\n const { data } = await api.updateSurveyAnswerById(formData);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"Assessment answer updated: \", data?.data);\n if (data.data?.status === \"PROGRESS\") {\n confirmAlert({\n message: systemContentLocale.app_success,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => {\n history.push({ pathname: \"/registered/assessment_answers\" });\n },\n },\n ],\n });\n } else {\n confirmAlert({\n message: systemContentLocale.assessment_completion + \" \" + SUPPORT_EMAIL,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => {\n history.push({ pathname: \"/registered/assessment_answer_complete\", state: { answer: formData, language: data.data?.languageCode } });\n },\n },\n ],\n });\n }\n if (data?.data?.surveyId) {\n // history.push({ pathname: '/registered/survey_answers'});\n }\n }\n if (data?.status === \"error\") {\n // if(LOGINSTATE) console.log('data error');\n\n confirmAlert({ message: systemContentLocale.app_assessment_incomplete_title, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n // if(LOGINSTATE) console.log('catch error: ', error);\n if (error?.response?.status && error?.response?.status === 401) {\n // confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: t('common.ok'), onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n }\n};\n\n// no need\n// seems not using\nexport const fetchSurveyAnswerById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchSurveyAnswerById(formData);\n if (data?.status === \"success\") {\n // if(LOGINSTATE) console.log('survey answer updated: ', data?.data)\n dispatch({ type: ANSWER_FETCH_BY_ID, payload: data?.data });\n }\n if (data?.status === \"error\") {\n // if(LOGINSTATE) console.log('data error');\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n // if(LOGINSTATE) console.log('catch error: ', error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }] });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// may ####\nexport const fetchSurveyAnswerByUser = (formData, router, t) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"formdata\", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchSurveyAnswerByUser(formData);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"Assessment answer updated: \", data?.data);\n dispatch({ type: ANSWER_FETCH_BY_USER, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: t('assessmentPage.removedUserReports'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// Recommendation\n\n// no need trans\nexport const createRecommendation = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createRecommendation(formData);\n if (data?.status === \"success\") {\n // if(LOGINSTATE) console.log('survey answer created: ', data?.data)\n\n confirmAlert({\n message: \"Recommendation is created.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n let params = {\n _id: data?.data?.surveyId,\n };\n // router.push({ pathname: '/registered/assessment_recommendation_localization', state: { survey: params } });\n router.push({ pathname: \"/registered/assessment_recommendations\" });\n },\n },\n ],\n });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateRecommendationById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateRecommendationById(formData);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"survey answer updated: \", data?.data);\n confirmAlert({\n message: \"Recommendation is updated.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n let params = {\n _id: data?.data?.surveyId,\n };\n // router.push({ pathname: '/registered/assessment_recommendation_localization', state: { survey: params } })\n router.push({ pathname: \"/registered/assessment_recommendations\" });\n },\n },\n ],\n });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const deleteRecommendationById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.deleteRecommendationById(formData);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"survey answer deleted: \", data?.data);\n confirmAlert({\n message: \"Recommendation is deleted.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n let params = {\n _id: data?.data?.surveyId,\n };\n router.push({ pathname: \"/registered/assessment_recommendations\" });\n },\n },\n ],\n });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// may ####\nexport const fetchRecommendationsBySurveyId = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchRecommendationsBySurveyId(formData);\n if (data?.status === \"success\") {\n // console.log(\"survey recommendations: \", data?.data);\n dispatch({ type: RECOMMENDATION_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }] });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }] });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n","import React from \"react\";\nimport { Container } from \"reactstrap\"; // reactstrap components\n\nconst PageHeader = () => {\n return (\n <>\n
\n\n {/* Mask */}\n {/* */}\n\n \n \n\n
\n \n );\n};\n\nexport default PageHeader;\n","const Grid = {\n marginBottom: \"20px\"\n}\n\nconst GridEmpty = {\n // marginBottom: \"20px\"\n}\n\nconst Input = {\n marginBottom: \"20px\",\n}\n\nconst Head = {\n // color: '#525F7F',\n color: '#af1e23',\n fontWeight: \"bold\",\n}\n\nconst Topic = {\n color: '#af1e23',\n fontWeight: \"bold\",\n}\n\nconst SubTopic = {\n color: '#fdba2b',\n marginTop: \"16px\",\n marginBottom: \"32px\",\n fontWeight: \"900!important\",\n}\n\nconst LogoText = {\n color: '#142237',\n fontWeight: \"900!important\",\n}\n\nconst Question = {\n marginTop: 10,\n marginBottom: 10,\n fontWeight: '600!important'\n}\n\nconst QuestionNote = {\n marginTop: 10,\n marginBottom: 10,\n fontStyle: 'italic'\n}\n\nconst FeedbackError = {\n fontSize: 10,\n color: 'red'\n}\n\nconst QuickNote = {\n fontSize: 10,\n marginTop: -10,\n marginBottom: 10,\n}\n\nconst BottomButton = {\n minWidth: '30%',\n marginTop: 40\n}\n\nconst GeneralButton = {\n minWidth: '30%',\n marginBottom: 5\n}\n\nexport const ChsStyles = {\n Input: Input,\n Grid: Grid,\n GridEmpty: GridEmpty,\n SubTopic: SubTopic,\n Topic: Topic,\n Head: Head,\n LogoText: LogoText,\n Question: Question,\n QuestionNote: QuestionNote,\n FeedbackError: FeedbackError,\n QuickNote: QuickNote,\n BottomButton: BottomButton,\n GeneralButton: GeneralButton,\n}\n\nexport const MbppStyles = {\n Input: Input,\n Grid: Grid,\n GridEmpty: GridEmpty,\n SubTopic: SubTopic,\n Topic: Topic,\n Head: Head,\n LogoText: LogoText,\n}\n\n// Got from react native's argonTheme.COLORS\nexport const GlobalStylesColor = {\n mbppBlue: '#af1e23',\n mbppThemeBlue: '#af1e23',\n mbppThemeYellow: '#fdba2b',\n mbppText: '#525f7f',\n mbppLabel: '#fbb61a',\n mbppDisable: '#142237',\n mbppInputEnable: '#525F7F',\n mbppInputDisable: '#ADB5BD',\n mbppIconColor: '#525f7f',\n mbppIconColorLight: '#6d7893',\n // chsChsat: '#c03e3a',\n // chsIcat: '#d37775',\n // chsTie: '#e6b0af',\n // chsChsat: '#AE0F0A',\n // chsIcat: '#8B0C08',\n // chsTie: '#BE3E3A',\n chsChsat: '#9f120b',\n chsIcat: '#70150b',\n chsTie: '#BE3E3A',\n}\n","import { fetchSurveyTemplateAll, updateSurveyTemplatePublishById } from \"actions/survey\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Config from \"config/config.json\";\nimport Lodash from \"lodash\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Badge, Card, CardHeader, Container, Row, Table } from \"reactstrap\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { Tooltip } from \"@material-ui/core\";\nimport TranslateOutlinedIcon from \"@material-ui/icons/TranslateOutlined\";\n\n// Populate version row for each survey type\nconst SurveyRow = ({ survey, localizationClick }) => (\n // VERSION | TITLE | DESCRIPTION | STATUS\n \n {survey.version}\n {survey.title}\n {survey.description}\n {survey.status}\n \n {survey.published ? (\n \n \n YES\n \n ) : (\n \n \n NO\n \n )}\n \n \n
\n \n {\n localizationClick(e, survey);\n }}\n >\n \n
\n \n \n \n \n);\n\n// export function\nconst Recommendation = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n // get forum topics\n const surveyTemplateAll = useSelector((state) => state.survey.surveyTemplateAll);\n\n useEffect(() => {\n // fetching all surveys\n dispatch(fetchSurveyTemplateAll());\n }, []);\n\n const handleStatusClick = (e, survey) => {\n e.preventDefault();\n dispatch(updateSurveyTemplatePublishById({ surveyId: survey._id }, history));\n };\n\n // handle Click event of the survey. Navigate to the localization page. There will be auto english version for every version\n const handleLocalizationClick = (e, survey) => {\n e.preventDefault();\n if (LOGINSTATE) console.log(\"survey\", survey);\n history.push({ pathname: \"/registered/assessment_recommendation_localization\", state: { survey: survey } });\n };\n\n // create survey from existing survey\n const handleEditClick = (e, survey, type) => {\n e.preventDefault();\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {!Lodash.isEmpty(surveyTemplateAll) &&\n Config.TOOLS.map((tool, i) => {\n return (\n \n
\n \n \n
\n
\n

{tool.title}

\n
{tool.description}
\n
\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {Lodash.filter(surveyTemplateAll, { type: tool.type }).map((survey, i) => {\n \n return ;\n })}\n \n
VersionTitleDescriptionStatusPublishedActions
\n
\n
\n
\n );\n })}\n
\n \n );\n};\n\nexport default Recommendation;\n","import Recommendation from \"views/pages/recommendation/Recommendation\";\n\nexport const CREATE = 'CREATE';\nexport const UPDATE = 'UPDATE';\nexport const DELETE = 'DELETE';\nexport const FETCH_ONE = 'FETCH_ONE';\nexport const FETCH_ALL = 'FETCH_ALL';\nexport const LIKE = 'LIKE';\n\n// User Auth\nexport const AUTH = 'AUTH';\nexport const LOGOUT = 'LOGOUT';\n\n// user\nexport const USER_FETCH_ONE = 'USER_FETCH_ONE';\nexport const USER_FETCH_ONE_ORG = 'USER_FETCH_ONE_ORG';\nexport const USER_FETCH_ALL = 'USER_FETCH_ALL';\nexport const USER_CREATE = 'USER_CREATE';\nexport const USER_UPDATE = 'USER_UPDATE';\nexport const USER_FETCH_BY_ADMIN = 'USER_FETCH_BY_ADMIN';\nexport const IS_HUMAN = \"IS_HUMAN\";\n\n// Forum topic\nexport const FRM_TOPIC_FETCH_ALL = 'FRM_TOPIC_FETCH_ALL';\nexport const FRM_TOPIC_FETCH_ONE = 'FRM_TOPIC_FETCH_ONE';\nexport const FRM_TOPIC_CREATE = 'FRM_TOPIC_CREATE';\nexport const FRM_TOPIC_UPDATE = 'FRM_TOPIC_UPDATE';\n// Forum sub topic\nexport const FRM_SUB_TOPIC_FETCH_ALL = 'FRM_SUB_TOPIC_FETCH_ALL';\nexport const FRM_SUB_TOPIC_FETCH_ONE = 'FRM_SUB_TOPIC_FETCH_ONE';\nexport const FRM_SUB_TOPIC_CREATE = 'FRM_SUB_TOPIC_CREATE';\nexport const FRM_SUB_TOPIC_UPDATE = 'FRM_SUB_TOPIC_UPDATE';\nexport const FRM_SUB_TOPIC_DELETE = 'FRM_SUB_TOPIC_DELETE';\n// Forum Questions\nexport const FRM_QUS_FETCH_ONE = 'FRM_QUS_FETCH_ONE';\nexport const FRM_QUS_FETCH_ALL = 'FRM_QUS_FETCH_ALL';\nexport const FRM_QUS_TOPIC_FETCH_ALL = 'FRM_QUS_TOPIC_FETCH_ALL';\nexport const FRM_QUS_CREATE = 'FRM_QUS_CREATE';\nexport const FRM_QUS_UPDATE = 'FRM_QUS_UPDATE';\nexport const FRM_QUS_DELETE = 'FRM_QUS_DELETE';\n// Forum Answers\nexport const FRM_ANS_FETCH_ALL = 'FRM_ANS_FETCH_ALL';\nexport const FRM_ANS_FETCH_ONE = 'FRM_ANS_FETCH_ONE';\nexport const FRM_ANS_CREATE = 'FRM_ANS_CREATE';\nexport const FRM_ANS_UPDATE = 'FRM_ANS_UPDATE';\nexport const FRM_ANS_DELETE = 'FRM_ANS_DELETE';\n\n// Dashbord\nexport const STAT_SUMMERY_TOTAL = 'STAT_SUMMERY_TOTAL';\nexport const STAT_SUMMERY_CON_MON_FETCH = 'STAT_SUMMERY_CON_MON_FETCH';\nexport const STAT_SUMMERY_CON_WEK_FETCH = 'STAT_SUMMERY_CON_WEK_FETCH';\nexport const STAT_SUMMERY_REP_FETCH = 'STAT_SUMMERY_REP_FETCH';\n// Loading Indicator\nexport const SHOW_LOADING = 'SHOW_LOADING';\n\n//Survey\nexport const SURVEY_FETCH_ALL = 'SURVEY_FETCH_ALL';\nexport const SURVEY_FETCH_ACTIVE = 'SURVEY_FETCH_ACTIVE';\nexport const SURVEY_TEMPLATE_CREATE = 'SURVEY_TEMPLATE_CREATE';\nexport const SURVEY_TEMPLATE_FETCH_ALL = 'SURVEY_TEMPLATE_FETCH_ALL';\nexport const SURVEY_TEMPLATE_LOCAL = 'SURVEY_TEMPLATE_LOCAL';\nexport const SURVEY_TEMPLATE_LOCALE_LOCAL = 'SURVEY_TEMPLATE_LOCALE_LOCAL';\nexport const SURVEY_ACTIVE_LOCAL = 'SURVEY_ACTIVE_LOCAL';\nexport const SURVEY_LOCALIZATION_CREATE = 'SURVEY_LOCALIZATION_CREATE';\nexport const SURVEY_LOCALIZATION = 'SURVEY_LOCALIZATION';\nexport const LOCALIZATION_DELETE = \"LOCALIZATION_DELETE\";\n//Answer\nexport const ANSWER_FETCH_BY_USER = 'ANSWER_FETCH_BY_USER';\nexport const ANSWER_FETCH_BY_ID = 'ANSWER_FETCH_BY_ID';\nexport const GRAPH_LOCAL_NAME = 'GRAPH_LOCAL_NAME';\nexport const GRAPH_LOCAL_SCORE = 'GRAPH_LOCAL_SCORE';\nexport const GRAPH_LOCAL_LONG_NAME = \"GRAPH_LOCAL_LONG_NAME\";\nexport const GRAPH_LOCAL_ANSWER = \"GRAPH_LOCAL_ANSWER\";\nexport const GRAPH_LOCAL_LOCALE = \"GRAPH_LOCAL_LOCALE\";\nexport const GRAPH_LOCAL_SYSTEM_CONTENT = \"GRAPH_LOCAL_SYSTEM_CONTENT\";\n// Recommendation\nexport const RECOMMENDATION_CREATE = 'RECOMMENDATION_CREATE';\nexport const RECOMMENDATION_UPDATE = 'RECOMMENDATION_UPDATE';\nexport const RECOMMENDATION_FETCH_ALL = 'RECOMMENDATION_FETCH_ALL';\nexport const RECOMMENDATION_LOCAL = 'RECOMMENDATION_LOCAL';\n\n//Organization\nexport const ORG_FETCH_ALL = 'ORG_FETCH_ALL';\nexport const ORG_UPDATE = 'ORG_UPDATE';\nexport const ORG_FETCH_ONE = 'ORG_FETCH_ONE';\nexport const ORG_CITY_STATUS_UPDATE = \"ORG_CITY_STATUS_UPDATE\";\nexport const ORG_FETCH_ALL_BY_COUNTRY_ID = \"ORG_FETCH_ALL_BY_COUNTRY_ID\";\nexport const ORGANIZATION_PROFILE_DELETE = \"ORGANIZATION_PROFILE_DELETE\";\n\n// Master data\nexport const MASTERDATA_FETCH_LANGUAGE = 'MASTERDATA_FETCH_LANGUAGE';\nexport const MASTERDATA_FETCH_ONE_LANGUAGE = 'MASTERDATA_FETCH_ONE_LANGUAGE';\nexport const COUNTRY_FETCH_ALL = \"COUNTRY_FETCH_ALL\";\nexport const MASTER_DATA_UPDATE = \"MASTER_DATA_UPDATE\";\nexport const MASTER_DATA_LAN_UPDATE = \"MASTER_DATA_LAN_UPDATE\"\nexport const LANDING_FETCH = \"LANDING_FETCH\";\nexport const LANDING_UPDATE = \"LANDING_UPDATE\";\nexport const LOCALIZATION_FETCH = \"LOCALIZATION_FETCH\";\n\n// Resources\nexport const RESOURCE_CREATE = \"RESOURCE_CREATE\";\nexport const RESOURCE_UPDATE = \"RESOURCE_UPDATE\";\nexport const RESOURCE_FETCH_ALL = \"RESOURCE_FETCH_ALL\";\nexport const RESOURCE_DELETE = \"RESOURCE_DELETE\";\n\n// Report\nexport const REPORT_ANSWER_ALL = \"REPORT_ANSWER_ALL\";\nexport const REPORT_ANSWER_BY_USER = \"REPORT_ANSWER_BY_USER\";\nexport const REPORT_ANSWER_BY_COUNTRY = \"REPORT_ANSWER_BY_COUNTRY\";\nexport const REPORT_ANSWER_STAT = \"REPORT_ANSWER_STAT\";\nexport const REPORT_USER_STAT = \"REPORT_USER_STAT\";\n\n//Language\nexport const LANGUAGE = \"LANGUAGE\";\n\n","import * as actionType from 'constants/actionTypes';\n\nconst authData = JSON.parse(localStorage.getItem('userDetails'))\n\nconst initState = { authData: authData || {}, loading: true, errors: null }\n\nconst authReducer = (state = initState, action) => {\n switch (action.type) {\n case actionType.AUTH:\n return { ...state, authData: action.payload, loading: false, errors: null };\n case actionType.LOGOUT:\n return { ...state, authData: null, loading: false, errors: null };\n default:\n return state;\n }\n};\n\nexport default authReducer;\n","import {\n FRM_ANS_CREATE, FRM_ANS_FETCH_ALL,\n FRM_ANS_FETCH_ONE,\n FRM_ANS_UPDATE, FRM_QUS_CREATE, FRM_QUS_FETCH_ALL, FRM_QUS_FETCH_ONE,\n FRM_QUS_TOPIC_FETCH_ALL,\n FRM_QUS_UPDATE, FRM_SUB_TOPIC_CREATE, FRM_SUB_TOPIC_FETCH_ALL,\n FRM_SUB_TOPIC_FETCH_ONE,\n FRM_SUB_TOPIC_UPDATE, FRM_TOPIC_CREATE, FRM_TOPIC_FETCH_ALL,\n FRM_TOPIC_FETCH_ONE,\n FRM_TOPIC_UPDATE\n} from 'constants/actionTypes';\n\nconst initState = {\n frmAllTopics: [],\n frmTopic:{},\n frmTopicCreate:[],\n frmTopicUpdate:[],\n\n frmAllSubTopics:[],\n frmSubTopic:{},\n frmSubTopicCreate:[],\n frmSubTopicUpdate:[],\n\n frmQus: {},\n frmAllQus:[],\n frmQusByTopic:[],\n frmQusCreate:[],\n frmQusUpdate:[],\n\n frmAllAnswers:[],\n frmAnswer:{},\n frmAnswerCreate:[],\n frmAnswerUpdate:[]\n}\n\nconst forumReducer =(forum = initState, action) => {\n switch (action.type) {\n // forum topics\n case FRM_TOPIC_FETCH_ALL:\n return {...forum, frmAllTopics: action.payload};\n case FRM_TOPIC_FETCH_ONE:\n return {...forum, frmTopic: action.payload};\n case FRM_TOPIC_CREATE:\n return {...forum, frmTopicCreate:action.payload};\n case FRM_TOPIC_UPDATE:\n return {...forum, frmTopicUpdate:action.payload};\n // forum sub topics\n case FRM_SUB_TOPIC_FETCH_ALL:\n return {...forum, frmAllSubTopics: action.payload};\n case FRM_SUB_TOPIC_FETCH_ONE:\n return {...forum, frmSubTopic: action.payload};\n case FRM_SUB_TOPIC_CREATE:\n return {...forum, frmSubTopicCreate:action.payload};\n case FRM_SUB_TOPIC_UPDATE:\n return {...forum, frmSubTopicUpdate:action.payload};\n // forum Questions\n case FRM_QUS_FETCH_ONE:\n return {...forum, frmQus: action.payload};\n case FRM_QUS_FETCH_ALL:\n return {...forum, frmAllQus: action.payload};\n case FRM_QUS_TOPIC_FETCH_ALL:\n return {...forum, frmQusByTopic: action.payload};\n case FRM_QUS_CREATE:\n return {...forum, frmQusCreate:action.payload};\n case FRM_QUS_UPDATE:\n return {...forum, frmQusUpdate:action.payload};\n // forum Answers\n case FRM_ANS_FETCH_ALL:\n return {...forum, frmAllAnswers: action.payload};\n case FRM_ANS_FETCH_ONE:\n return {...forum, frmAnswer: action.payload};\n case FRM_ANS_CREATE:\n return {...forum, frmAnswerCreate:action.payload};\n case FRM_ANS_UPDATE:\n return {...forum, frmAnswerUpdate:action.payload};\n default:\n return forum;\n }\n};\n\nexport default forumReducer;","import {\n SURVEY_FETCH_ALL,\n SURVEY_FETCH_ACTIVE,\n SURVEY_TEMPLATE_CREATE,\n SURVEY_TEMPLATE_FETCH_ALL,\n SURVEY_TEMPLATE_LOCAL,\n SURVEY_TEMPLATE_LOCALE_LOCAL,\n SURVEY_LOCALIZATION,\n ANSWER_FETCH_BY_USER,\n ANSWER_FETCH_BY_ID,\n RECOMMENDATION_CREATE,\n RECOMMENDATION_FETCH_ALL,\n RECOMMENDATION_LOCAL,\n RECOMMENDATION_UPDATE,\n GRAPH_LOCAL_ANSWER,\n} from \"constants/actionTypes\";\nimport { LOGINSTATE } from \"config/config.json\";\n\nconst initState = {\n surveyAll: [],\n questionnaireAll: [],\n surveyActive: {},\n surveyTemplateAll: [],\n createSurveyTemplate: {},\n localSurveyTemplate: {},\n surveyLocalizationAll: [],\n answerById: {},\n answerByUser: [],\n createRecommendation: {},\n updateRecommendation: {},\n recommendationAll: [],\n};\n\nconst surveyReducer = (survey = initState, action) => {\n if (LOGINSTATE) console.log(\"Dispatch is called for: \", action.type);\n if (LOGINSTATE) console.log(\"Dispatch is called with: \", action.payload);\n switch (action.type) {\n case SURVEY_FETCH_ALL:\n return { ...survey, surveyAll: action.payload };\n case SURVEY_FETCH_ACTIVE:\n return { ...survey, surveyActive: action.payload };\n case SURVEY_TEMPLATE_CREATE:\n return { ...survey, createSurveyTemplate: action.payload };\n case SURVEY_TEMPLATE_FETCH_ALL:\n return { ...survey, surveyTemplateAll: action.payload };\n case SURVEY_TEMPLATE_LOCAL:\n return { ...survey, localSurveyTemplate: action.payload };\n case SURVEY_TEMPLATE_LOCALE_LOCAL:\n return { ...survey, localSurveyTemplateLocale: action.payload };\n case SURVEY_LOCALIZATION:\n return { ...survey, surveyLocalizationAll: action.payload };\n case ANSWER_FETCH_BY_USER:\n return { ...survey, answerByUser: action.payload };\n case ANSWER_FETCH_BY_ID:\n return { ...survey, answerById: action.payload };\n case RECOMMENDATION_CREATE:\n return { ...survey, createRecommendation: action.payload };\n case RECOMMENDATION_FETCH_ALL:\n return { ...survey, recommendationAll: action.payload };\n case RECOMMENDATION_LOCAL:\n return { ...survey, localRecommendationTemplate: action.payload };\n case RECOMMENDATION_UPDATE:\n return { ...survey, updateRecommendation: action.payload };\n case GRAPH_LOCAL_ANSWER:\n return { ...survey, answerAll: action.payload };\n default:\n return survey;\n }\n};\n\nexport default surveyReducer;\n","import {\n USER_FETCH_ALL,\n USER_FETCH_ONE,\n USER_UPDATE,\n USER_FETCH_ONE_ORG,\n COUNTRY_FETCH_ALL,\n IS_HUMAN,\n USER_FETCH_BY_ADMIN,\n} from 'constants/actionTypes';\n\nconst initState = {\n userProfile: [],\n usersProfiles: [],\n userProfileUpdate: [],\n userProfileOrg: {},\n countryAll: [],\n userProfileOrgByAdmin:{},\n isHuman: {},\n}\n\nconst userReducer = (user = initState, action) => {\n switch (action.type) {\n case USER_FETCH_ONE:\n return { ...user, userProfile: action.payload };\n case USER_FETCH_ONE_ORG:\n return { ...user, userProfileOrg: action.payload };\n case USER_FETCH_ALL:\n return { ...user, usersProfiles: action.payload };\n case USER_UPDATE:\n return { ...user, userProfileUpdate: action.payload };\n case USER_FETCH_BY_ADMIN:\n return { ...user, userProfileOrgByAdmin: action.payload };\n case COUNTRY_FETCH_ALL:\n return { ...user, countryAll: action.payload };\n case IS_HUMAN:\n return { ...user, isHuman: action.payload };\n default:\n return user;\n }\n};\n\nexport default userReducer;\n","import {\n ORG_FETCH_ALL,\n ORG_UPDATE,\n ORG_FETCH_ONE,\n ORG_CITY_STATUS_UPDATE,\n ORG_FETCH_ALL_BY_COUNTRY_ID,\n ORGANIZATION_PROFILE_DELETE,\n} from 'constants/actionTypes';\nimport { LOGINSTATE } from \"config/config.json\";\n\nconst initState = {\n organizationAll: [],\n userProfileOrg: [],\n orgProfileUpdate: [],\n updateOrgCityStatus: [],\n organizationAllByCountryId: [],\n deleteOrganization : [],\n}\n\nconst organizationReducer = (organization = initState, action) => {\n if(LOGINSTATE) console.log(\"Dispatch is called for: \", action.type);\n if(LOGINSTATE) console.log(\"Dispatch is called with: \", action.payload);\n switch (action.type) {\n case ORG_UPDATE:\n return {...organization, orgProfileUpdate : action.payload};\n case ORG_FETCH_ONE:\n return {...organization, userProfileOrg: action.payload };\n // All organizations\n case ORG_FETCH_ALL:\n return { ...organization, organizationAll: action.payload };\n case ORG_CITY_STATUS_UPDATE:\n return { ...organization, updateOrgCityStatus: action.payload };\n case ORG_FETCH_ALL_BY_COUNTRY_ID:\n return { ...organization, organizationAllByCountryId: action.payload };\n case ORGANIZATION_PROFILE_DELETE:\n return { ...organization, deleteOrganization: action.payload };\n default:\n return organization;\n }\n};\n\nexport default organizationReducer;\n","import { MASTERDATA_FETCH_LANGUAGE, MASTERDATA_FETCH_ONE_LANGUAGE, MASTER_DATA_UPDATE, COUNTRY_FETCH_ALL, MASTER_DATA_LAN_UPDATE, LANDING_FETCH, LANDING_UPDATE, LOCALIZATION_FETCH, LANGUAGE } from \"constants/actionTypes\";\nimport { LOGINSTATE } from \"config/config.json\";\n\nconst initState = {\n languageAll: [],\n languageByCode: {},\n updateMasterData: [],\n countryAll: [],\n updateMasterDataLan: [],\n fetchedLandingContent: {},\n updatedLandingContent: {},\n localizationContentAll: [],\n};\n\nconst masterDataReducer = (masterData = initState, action) => {\n if (LOGINSTATE) console.log(\"Dispatch is called for: \", action.type);\n if (LOGINSTATE) console.log(\"Dispatch is called with: \", action.payload);\n switch (action.type) {\n // Get all the languages\n case MASTERDATA_FETCH_LANGUAGE:\n return { ...masterData, languageAll: action.payload };\n case MASTERDATA_FETCH_ONE_LANGUAGE:\n return { ...masterData, languageByCode: action.payload };\n case MASTER_DATA_UPDATE:\n return { ...masterData, updateMasterData: action.payload };\n case MASTER_DATA_LAN_UPDATE:\n return { ...masterData, updateMasterDataLan: action.payload };\n\n case COUNTRY_FETCH_ALL:\n return { ...masterData, countryAll: action.payload };\n\n case LANDING_FETCH:\n return { ...masterData, fetchedLandingContent: action.payload };\n case LANDING_UPDATE:\n return { ...masterData, updatedLandingContent: action.payload };\n\n case LOCALIZATION_FETCH:\n return { ...masterData, localizationContentAll: action.payload };\n\n case LANGUAGE:\n return { ...masterData, localLanguage: action.payload };\n\n default:\n return masterData;\n }\n};\n\nexport default masterDataReducer;\n","import {\r\n RESOURCE_UPDATE,\r\n RESOURCE_FETCH_ALL,\r\n RESOURCE_DELETE\r\n} from 'constants/actionTypes';\r\n\r\nconst initState = {\r\n resourceAll: [],\r\n updateResource: [],\r\n deleteResource: [],\r\n}\r\n\r\nconst resourceReducer = (Resource = initState, action) => {\r\n switch (action.type) {\r\n // Get all the languages\r\n case RESOURCE_FETCH_ALL:\r\n return { ...Resource, resourceAll: action.payload };\r\n case RESOURCE_UPDATE:\r\n return { ...Resource, updateResource: action.payload };\r\n case RESOURCE_DELETE:\r\n return { ...Resource, deleteResource: action.payload };\r\n default:\r\n return Resource;\r\n }\r\n};\r\n\r\nexport default resourceReducer;","\r\nimport {\r\n REPORT_ANSWER_ALL,\r\n REPORT_ANSWER_BY_USER,\r\n REPORT_ANSWER_BY_COUNTRY,\r\n REPORT_ANSWER_STAT,\r\n REPORT_USER_STAT,\r\n} from 'constants/actionTypes';\r\n\r\nconst initState = {\r\n answerAll: [],\r\n answerByUserAll:[],\r\n answerByCountryAll:[],\r\n answerStat:[],\r\n userStat:[],\r\n}\r\n\r\nconst resourceReducer = (report = initState, action) => {\r\n switch (action.type) {\r\n case REPORT_ANSWER_ALL:\r\n return { ...report, answerAll: action.payload };\r\n case REPORT_ANSWER_BY_USER:\r\n return { ...report, answerByUserAll: action.payload };\r\n case REPORT_ANSWER_BY_COUNTRY:\r\n return { ...report, answerByCountryAll: action.payload };\r\n case REPORT_ANSWER_STAT:\r\n return { ...report, answerStat: action.payload };\r\n case REPORT_USER_STAT:\r\n return { ...report, userStat: action.payload };\r\n\r\n default:\r\n return report;\r\n }\r\n};\r\n\r\nexport default resourceReducer;\r\n","import {\n STAT_SUMMERY_CON_MON_FETCH,\n STAT_SUMMERY_CON_WEK_FETCH,\n STAT_SUMMERY_REP_FETCH,\n STAT_SUMMERY_TOTAL,\n SHOW_LOADING,\n} from 'constants/actionTypes';\n\nconst initState = {\n statSumTotal: [],\n StatSumConMon: [],\n StatSumConWek: [],\n StatSumRpt: [],\n showLoading: false,\n}\n\nconst dashboardReducer = (dashboard = initState, action) => {\n switch (action.type) {\n // stat summery 2\n case STAT_SUMMERY_TOTAL:\n return { ...dashboard, statSumTotal: action.payload };\n case STAT_SUMMERY_CON_MON_FETCH:\n return { ...dashboard, StatSumConMon: action.payload };\n case STAT_SUMMERY_CON_WEK_FETCH:\n return { ...dashboard, StatSumConWek: action.payload };\n case STAT_SUMMERY_REP_FETCH:\n return { ...dashboard, StatSumRpt: action.payload };\n\n case SHOW_LOADING:\n return { ...dashboard, showLoading: action.payload };\n\n default:\n return dashboard;\n }\n};\n\nexport default dashboardReducer;","import { combineReducers } from 'redux';\nimport auth from './auth';\nimport forum from './forum';\nimport survey from './survey';\nimport user from './user';\nimport organization from './organization';\nimport masterData from './masterData';\nimport resource from './resource';\nimport report from './report';\nimport dashboard from './dashboard';\n\nexport const reducers = combineReducers({\n auth,\n user,\n forum,\n survey,\n organization,\n masterData,\n resource,\n report,\n dashboard\n});\n","import i18next from \"i18next\";\r\nimport HttpApi from 'i18next-http-backend';\r\nimport ChainedBackend from \"i18next-chained-backend\";\r\nimport resourcesToBackend from \"i18next-resources-to-backend\";\r\nimport { initReactI18next } from \"react-i18next\";\r\nimport { SERVER_API_URL } from \"config/config.json\";\r\n\r\n\r\n// -------------------------------------------------------------------\r\n// # load translation resources locally #\r\n\r\n// import transitionEn from \"./assets/locales/en/translation.json\";\r\n// import transitionFr from \"./assets/locales/fr/translation.json\";\r\n// import transitionSi from \"./assets/locales/si/translation.json\";\r\n\r\n// const transitionEn = {\r\n// welcome: \"welcome\",\r\n// sample: \"sample\",\r\n// changed: \"count is\"\r\n// };\r\n\r\n// const transitionFr = {\r\n// welcome: \"Bienvenue\",\r\n// sample: \"goûter\",\r\n// changed: \"modifié\"\r\n// };\r\n\r\n// i18next\r\n// .use(initReactI18next)\r\n// .init({\r\n// debug: true,\r\n// interpolation: { escapeValue: false }, // React already does escaping\r\n// lng: 'en',\r\n// fallbackLng: 'en', // language to use\r\n// resources: {\r\n// en: { translation: transitionEn },\r\n// fr: { translation: transitionFr },\r\n// si: { translation: transitionSi },\r\n// },\r\n// });\r\n\r\n\r\n\r\n// -------------------------------------------------------------------\r\n// # load translation resources over http #\r\n// // const apiUrl = 'locales/{{lng}}/{{ns}}.json';\r\n// // const apiUrl = SERVER_API_URL+ 'uploads/locales/{{lng}}/{{ns}}.json';\r\n// const apiUrl = SERVER_API_URL+ 'uploads/resource/{{lng}}_{{ns}}.json';\r\n// i18next\r\n// .use(HttpApi )\r\n// .init({\r\n// lng: 'en',\r\n// fallbackLng: 'en',\r\n// crossDomain: false,\r\n// backend: {\r\n// loadPath: apiUrl\r\n// }\r\n// });\r\n \r\n\r\n\r\n// -------------------------------------------------------------------\r\n// # load translation resources over http, otherwise refer local default #\r\ni18next\r\n .use(ChainedBackend )\r\n .init({\r\n lng: 'en',\r\n fallbackLng: 'en',\r\n crossDomain: false,\r\n backend: {\r\n backends: [\r\n HttpApi,\r\n resourcesToBackend((lng, ns, clb) => {\r\n import(`./assets/locales/${lng}_localization.json`)\r\n .then((json) => clb(null, json))\r\n .catch(clb)\r\n })\r\n ],\r\n backendOptions: [{\r\n loadPath: SERVER_API_URL+ 'uploads/json/{{lng}}_localization.json'\r\n },{\r\n loadPath: './assets/locales/{{lng}}_localization.json'\r\n }]\r\n }\r\n });\r\n\r\n\r\nexport default i18next;\r\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Moment from \"moment\";\n// reactstrap components\nimport { Col, Nav, Container, NavItem, NavLink, Row } from \"reactstrap\";\n\n\nconst Footer = () => {\n const { t, i18n } = useTranslation();\n return (\n
\n
\n \n \n \n
\n {t('footer.Copyright') + \" \" + Moment().year() }\n \n {t('footer.App_name')}\n \n
\n \n \n \n \n
\n
\n
\n );\n};\n\nexport default Footer;\n","import { MASTERDATA_FETCH_LANGUAGE, MASTERDATA_FETCH_ONE_LANGUAGE, COUNTRY_FETCH_ALL, MASTER_DATA_UPDATE, MASTER_DATA_LAN_UPDATE, LANDING_FETCH, LANDING_UPDATE, LOCALIZATION_FETCH, SHOW_LOADING } from \"constants/actionTypes\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport * as api from \"../api/index.js\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport Lodash from \"lodash\";\n\n// Language\nexport const fetchMasterDataLanguageAll = () => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const response = await api.fetchMasterDataLanguageAll();\n const { data } = response;\n // if(LOGINSTATE) console.log(\"response data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: MASTERDATA_FETCH_LANGUAGE, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error: \", data?.message);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error);\n alert(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const fetchMasterDataLanguage = (formData) => async (dispatch) => {\n console.log(\"formData\", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const response = await api.fetchMasterDataLanguage(formData);\n const { data } = response;\n // if(LOGINSTATE) console.log(\"response data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: MASTERDATA_FETCH_ONE_LANGUAGE, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error: \", data?.message);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error);\n alert(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const fetchCountry = () => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchCountry();\n if (LOGINSTATE) console.log(\"country data\", data);\n if (data?.status === \"success\") {\n dispatch({ type: COUNTRY_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n } else {\n if (LOGINSTATE) console.log(\"else\");\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n alert(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const updateMasterData = (formData, router) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"Updating the master data with: \", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateMasterDataCountry(formData);\n dispatch({ type: MASTER_DATA_UPDATE, payload: data });\n if (data?.status === \"success\") {\n // alert(data?.message);\n dispatch(fetchCountry());\n formData.redirect && router.push(formData.redirect);\n confirmAlert({\n title: \"Success\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n router.push({ pathname: \"/registered/master_regions\" });\n },\n },\n ],\n });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n console.error(\"********\", error?.response);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n // let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n // let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n // errorMessge = Lodash.isEmpty(errorMessge) ? \"Oops, something went wrong\" : errorMessge;\n // confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n // alert(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const updateMasterDataLanguage = (formData, router) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"Updating the master data with: \", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateMasterDataLanguage(formData);\n dispatch({ type: MASTER_DATA_LAN_UPDATE, payload: data });\n if (data?.status === \"success\") {\n // alert(data?.message);\n formData.redirect && router.push(formData.redirect);\n confirmAlert({ title: \"Success\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"********\", error?.response);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n errorMessge = Lodash.isEmpty(errorMessge) ? \"Oops, something went wrong\" : errorMessge;\n confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n // alert(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const updateLandingContent = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateLandingContent(formData);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"landing content: \", data?.data);\n confirmAlert({ title: \"Success\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n\n dispatch(fetchLandingContent());\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const fetchLandingContent = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchLandingContent(formData);\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"landing content: \", data?.data);\n dispatch({ type: LANDING_FETCH, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"data error\");\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// system localization\n\nexport const createLocalizationContent = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createLocalizationContent(formData);\n\n if (formData.assessmentPage.Primer) {\n let updatePicResult = await uploadPrimer(formData, alert, router);\n\n // Profile picture update failed, stop the process;\n if (!updatePicResult) {\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } else {\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\n }\n\n if (formData.assessmentPage.Logo) {\n let updatePicResult = await uploadLogo(formData, alert, router);\n\n // Profile picture update failed, stop the process;\n if (!updatePicResult) {\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } else {\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\n }\n\n if (LOGINSTATE) console.log(\"localization content: \", data);\n\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n dispatch(fetchLocalizationContent());\n } else if (data?.status === \"error\") {\n confirmAlert({ title: \"Error\", message: data?.message, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ title: \"Error\", message: error?.response?.data?.message, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const updateLocalizationContent = (formData, router) => async (dispatch) => {\n console.log(\"formData\", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateLocalizationContent(formData);\n if (LOGINSTATE) console.log(\"localization content: \", data);\n\n if (formData.assessmentPage.Primer) {\n let updatePicResult = await uploadPrimer(formData, alert, router);\n\n // Profile picture update failed, stop the process;\n if (!updatePicResult) {\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } else {\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\n }\n\n if (formData.assessmentPage.Logo) {\n let updatePicResult = await uploadLogo(formData, alert, router);\n\n // Profile picture update failed, stop the process;\n if (!updatePicResult) {\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } else {\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\n }\n\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n dispatch(fetchLocalizationContent());\n } else if (data?.status === \"error\") {\n confirmAlert({ title: \"Error\", message: data?.message, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ title: \"Error\", message: \"Request failed with status code \" + error.response.status, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nconst uploadPrimer = async (values, alert, router) => {\n try {\n if (values.assessmentPage.Primer) {\n console.log(\"picture data: \", values.assessmentPage.Primer);\n // continue\n } else {\n console.log(\"empty picture\");\n\n return false;\n }\n\n if (LOGINSTATE) console.log(\"upload picture data\");\n const params = new FormData();\n params.append(\"Primer\", values.assessmentPage.Primer);\n // params.append(\"photo[]\", values.profileThumbnail);\n\n let res = await api.uploadPrimer(params);\n console.log(\"server returned: \", res);\n\n if (res && res.data && !Lodash.isEmpty(res.data.data) && res.data.data.length >= 2) {\n console.log(\"server returned new file names: \", res.data.data);\n values[\"assessmentPage.Primer\"] = res.data.data[0].name;\n // values[\"profileThumbnail\"] = res.data.data[1].name;\n }\n\n return true;\n } catch (error) {\n // console.log(\"catch error in picture upload: \", error?.response?.data);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n let errorMessge = error?.response?.data?.message;\n confirmAlert({ message: errorMessge, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n values.profilePicture = null;\n values.profileThumbnail = null;\n }\n return false;\n }\n};\n\nconst uploadLogo = async (values, alert, router) => {\n try {\n if (values.assessmentPage.Logo) {\n if (LOGINSTATE) console.log(\"picture data: \", values.assessmentPage.Logo);\n // continue\n } else {\n if (LOGINSTATE) console.log(\"empty picture\");\n\n return false;\n }\n\n if (LOGINSTATE) console.log(\"upload picture data\");\n const params = new FormData();\n params.append(\"Logo\", values.assessmentPage.Logo);\n // params.append(\"photo[]\", values.profileThumbnail);\n\n let res = await api.uploadLogo(params);\n // console.log(\"server returned: \", res);\n\n if (res && res.data && !Lodash.isEmpty(res.data.data) && res.data.data.length >= 2) {\n if (LOGINSTATE) console.log(\"server returned new file names: \", res.data.data);\n values[\"Logo\"] = res.data.data[0].name;\n values[\"profileThumbnail\"] = res.data.data[1].name;\n }\n\n return true;\n } catch (error) {\n // console.log(\"catch error in picture upload: \", error?.response?.data);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n let errorMessge = error?.response?.data?.message;\n confirmAlert({ message: errorMessge, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n values.profilePicture = null;\n values.profileThumbnail = null;\n }\n return false;\n }\n};\n\nexport const fetchLocalizationContent = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchLocalizationContent(formData);\n if (LOGINSTATE) console.log(\"localization content: \", data);\n\n if (data?.status === \"success\") {\n dispatch({ type: LOCALIZATION_FETCH, payload: data?.data });\n } else if (data?.status === \"error\") {\n confirmAlert({ title: \"Error\", message: data?.message, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n confirmAlert({ title: \"Error\", message: \"Request failed with status code \" + error.response.status, buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n","import { makeStyles } from \"@material-ui/core/styles\";\nimport CryptoJS from \"crypto-js\";\nimport { SUPPORT_EMAIL } from \"./config/config.json\";\n\nexport const phoneRegExp = /^((\\\\+[1-9]{1,4}[ \\\\-]*)|(\\\\([0-9]{2,3}\\\\)[ \\\\-]*)|([0-9]{2,4})[ \\\\-]*)*?[0-9]{3,4}?[ \\\\-]*[0-9]{3,4}?$/;\n\nexport const FILE_IMG_SIZE = 1024 * 720;\n\nexport const SUPPORTED_IMG_FORMATS = [\"image/jpg\", \"image/jpeg\", \"image/gif\", \"image/png\"];\n\nexport const ages = [\"0-15\", \"16-21\", \"22-35\", \"36-50\", \"51-75\", \"75+\"];\n\nexport const genders = [\"Male\", \"Female\", \"Other\"];\n\nexport const titles = [\"Mr\", \"Mrs\", \"Ms\", \"Dr\", \"Rev\", \"\"];\n\nexport const emp_types = [\"Government\", \"Non-government\", \"Private sector\", \"Other\"];\n\nexport const countries = [\"\", \"Cambodia\", \"Nepal\", \"Philippines\", \"Pakistan\", \"Myanmar\", \"Sri Lanka\"];\n\nexport const Contactgroup = [\"CMC\", \"Construction\", \"School\", \"Other\"]; // [\"School\", \"Construction\", \"Genaral\", \"Construction Site\", \"Other\"]\n\nexport const legal_entitys = [\"Yes\", \"No\"];\n\nexport const vision = [\"Yes\", \"No\"];\n\nexport const unit = [\"Yes\", \"No\"];\n\nexport const functional = [\"Yes\", \"No\"];\n\nexport const stakeholder = [\"Yes\", \"No\"];\n\nexport const headoffice = [\"Yes\", \"No\"];\n\nexport const geo_areas = [\"National\", \"Provincial\", \"District\", \"City/Municipality\", \"Village\"];\n\nexport const drm_acts = [\"All phases of DRM\", \"Before disasters\", \"During disasters\", \"After disasters\"];\n\nexport const city_drm_acts = [\"All phases of DRM\", \"Before disasters\", \"During disasters\", \"After disasters\"];\n\nexport const user_role = [\"GENERAL\", \"ADMIN\"];\n\nexport const emp_insitutes = [\"\", \"ADPC\", \"Other\"];\n\nexport const ins_cities = [\"Bankok\", \"Other\"];\n\nexport const app_country = [\"Yes\", \"No\"];\n\nexport const int_language = [\"Yes\", \"No\"];\n\nexport const internationalized = [\"Yes\", \"No\"];\n\nexport const RTL_FLAG_RIGHT = \"right\";\n\nexport const RTL_FLAG_LEFT = \"left\";\n\nexport const SYS_DEFAULT_LANGUAGE_CODE = \"en\";\n\nexport const institutionalQuestions = {\n organization: \"Name of the organization:\",\n type: \"Type of organization:\",\n legalStatus: \"Are you a legal entity under the Laws of your country?\",\n\n geographicArea: \"Geographic area of operations:\",\n numberOfEmployees: \"Number of employees:\",\n numberOfEmployees_remark: \"Remark of number of employees\",\n drmActivities: \"DRM activities performed:\",\n visionMission: \"Does your organization have vision and mission statements?\",\n visionMission_remark: \"Remark of vision mission\",\n functionalStructure: \"Does your organization have a functional organizational structure?\",\n functionalStructure_remark: \"Remark of functional structure\",\n unitProject: \"Is there a dedicated unit(s) charged with project formulation, Project implementation, Project monitoring and evaluation for preparedness planning and emergency response?\",\n unitProject_remark: \"Remark of unit project\",\n unitStakeholders: \"Is there a dedicated unit charged with coordinating identified stakeholders for emergency response?\",\n unitStakeholders_remark: \"Remark of unitstakeholder\",\n};\n\nexport const answer_status = [\"PROGRESS\", \"COMPLETE\"];\nexport const survey_status = { PROGRESS: \"PROGRESS\", COMPLETE: \"COMPLETE\" };\n\nexport const initialValues_assessmentPage = {\n languageCode: \"\",\n app_ok: \"Ok\",\n app_yes: \"Yes\",\n app_no: \"No\",\n app_next: \"NEXT\",\n app_back: \"BACK\",\n app_success: \"Success\",\n app_error: \"Something went wrong\",\n app_partly_save: \"PARTLY SAVE\",\n app_complete: \"COMPLETE\",\n app_sorry: \"Sorry\",\n app_no_active_survey: \"No active assessment\",\n app_download: \"Download PDF\",\n assessment_completion: \"Successfully saved your answer. Please send us your valuable feed back to\" + SUPPORT_EMAIL,\n chs_short: \"CHSAT\",\n icat_short: \"ICAT\",\n tie_short: \"TIE\",\n app_assessment_switch_title: \"Confirm to switch assessments\",\n app_assessment_switch_message: \"Are you sure to do this? You will lose unsaved answers.\",\n app_assessment_step_01: \"STEP 1: ORGANIZATION DETAILS\",\n app_assessment_step_01_message_01: \"Are you sure to do this? You will lose unsaved answers.\",\n app_assessment_step_02: \"STEP 2: PLEASE SELECT ONE OF THE ABOVE TO BEGIN AN ASSESSMENT.\",\n app_assessment_step_02_message_02: \"For more information, please refer resources section\",\n app_assessment_incomplete_title: \"Assessment is incomplete. Please complete the segment.\",\n app_assessment_institute_details: \"Institutional Details of the User\",\n app_assessment_step_01_title: \"STEP 1: ORGANIZATION DETAILS\",\n app_assessment_step_01_message: \"Below are the organization information for the assessment. Update your profile to keep it up to date.\",\n app_assessment_sentence: \"Your organization's details are used for the institutional profile. If it's not up to the date,\",\n app_assessment_sentence_ref: \"please update now\",\n app_assessment_organization_details: \"Show organization details ...\",\n app_assessment_answer_opt1: \"Not applicable\",\n app_assessment_answer_opt2: \"Achievements are negligible or minor\",\n app_assessment_answer_opt3: \"Achievements are incomplete\",\n app_assessment_answer_opt4: \"Achievements are moderate\",\n app_assessment_answer_opt5: \"Substantial achievement\",\n app_assessment_answer_opt6: \"Comprehensive achievement\",\n chsat: \"Core Humanitarian Standard Assessment Tool\",\n icat: \"Institutional Capacity Assessment Tool\",\n tie: \"Tool for Institutional Engagement\",\n answer_remark: \"Remark\",\n answer: \"Answer\",\n no_remark: \"No remark\",\n chs_app: \"APP Self Assessment Tool\",\n password_invalid: \"Password invalid.\",\n user_not_register: \"User not registered\",\n user_unlink: \"User removed\",\n user_deactivate: \"User deactivated\",\n user_not_create: \"User is not completed\",\n organization_deactivate: \"Your organization deactivated\",\n location_deactivate: \"Your location deactivated\",\n login_message: \"Please contact administrator by sending an email to \" + SUPPORT_EMAIL,\n user_successfully_created: \"User successfully created.\",\n session_expired: \"Session expired!\",\n print_preview: \"Print Full Recommendation\",\n segment_score: \"Segment score\",\n total_score: \"Total score\",\n version: \"Version of the assessment\",\n font_size: \"Default font Size\",\n self_assessment: \"Self Assessment\",\n recommendations_self_assessment: \"Recommendations for the self assessment\",\n pdf_version: \"PDF Version\",\n print: \"Print\",\n app_tool: \"APP Tool\",\n insitutional_details: \"Institutional details\",\n overall: \"Overall recommendation\",\n segment: \"Segment recommendation\",\n assessment_answer: \"Assessment answers\",\n no_recommendation: \"No recommendations\",\n update: \"Update\",\n};\n\n// camel case\nexport const Camelize = (str) => {\n return str ? str.replace(/\\b(\\w)/g, (s) => s.toUpperCase()) : \"\";\n};\n\n//password encryption\nexport const CryptoPassword = (value) => {\n return CryptoJS.SHA256(value).toString();\n};\n\nexport const useMultiSelectStyles = makeStyles((theme) => ({\n formControl: {\n margin: theme.spacing(1),\n width: 300,\n },\n indeterminateColor: {\n color: \"#f50057\",\n },\n selectAllText: {\n fontWeight: 500,\n },\n selectedAll: {\n backgroundColor: \"rgba(0, 0, 0, 0.08)\",\n \"&:hover\": {\n backgroundColor: \"rgba(0, 0, 0, 0.08)\",\n },\n },\n}));\n\nexport const roundValue = (value, toString) => {\n if (toString) {\n return value > 0 ? Math.round((value + Number.EPSILON) * 100) / 100 + \"\" : \"\";\n } else {\n return Math.round((value + Number.EPSILON) * 100) / 100;\n }\n};\n\n// Process array actions\nexport const processArray = async (array, process, position, value) => {\n let deletedElements = null;\n if (process === \"ADD\") {\n deletedElements = array.splice(position, 0, value);\n return array;\n } else if (process === \"DELETE\") {\n deletedElements = array.splice(position, 1);\n return array;\n } else if (process === \"MOVEUP\") {\n if (array.length > position + 1) {\n let temp = array[position];\n array[position] = array[position + 1];\n array[position + 1] = temp;\n return array;\n } else {\n return array;\n }\n } else if (process === \"MOVEDOWN\") {\n if (0 <= position - 1) {\n let temp = array[position];\n array[position] = array[position - 1];\n array[position - 1] = temp;\n return array;\n } else {\n return array;\n }\n } else if (process === \"UPDATEAT\") {\n array[position] = value;\n return array;\n } else {\n return array;\n }\n};\n\nexport const SAVE_DATE_TIME_FORMAT = \"YYYY-MM-DD HH:mm:ss\"\n\n// reCAPTCHA languages as per 2022-August\nexport const RECAPTCHA_LANG_LIST = [\"ar\",\n \"af\",\n \"am\",\n \"hy\",\n \"az\",\n \"eu\",\n \"bn\",\n \"bg\",\n \"ca\",\n \"zh-HK\",\n \"zh-CN\",\n \"zh-TW\",\n \"hr\",\n \"cs\",\n \"da\",\n \"nl\",\n \"en-GB\",\n \"en\",\n \"et\",\n \"fil\",\n \"fi\",\n \"fr\",\n \"fr-CA\",\n \"gl\",\n \"Value\",\n \"ka\",\n \"de\",\n \"de-AT\",\n \"de-CH\",\n \"el\",\n \"gu\",\n \"iw\",\n \"hi\",\n \"hu\",\n \"is\",\n \"id\",\n \"it\",\n \"ja\",\n \"kn\",\n \"ko\",\n \"lo\",\n \"lv\",\n \"lt\",\n \"ms\",\n \"ml\",\n \"mr\",\n \"mn\",\n \"no\",\n \"fa\",\n \"Value\",\n \"pl\",\n \"pt\",\n \"pt-BR\",\n \"pt-PT\",\n \"ro\",\n \"ru\",\n \"sr\",\n \"si\",\n \"sk\",\n \"sl\",\n \"es\",\n \"es-419\",\n \"sw\",\n \"sv\",\n \"ta\",\n \"te\",\n \"th\",\n \"tr\",\n \"uk\",\n \"ur\",\n \"vi\",\n \"zu\"]\n","import { Avatar } from \"@material-ui/core\";\nimport Config from \"config/config.json\";\nimport * as actionType from \"constants/actionTypes\";\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\nimport { Camelize } from \"helper.js\";\nimport { t } from \"i18next\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Link, useHistory } from \"react-router-dom\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\n\n// reactstrap components\nimport { Container, DropdownItem, DropdownMenu, DropdownToggle, Media, Nav, Navbar, UncontrolledDropdown } from \"reactstrap\";\n\nconst AdminNavbar = (props) => {\n console.log(\"brand text\", props);\n const userDetails = useSelector((state) => state.auth.authData);\n const dispatch = useDispatch();\n const history = useHistory();\n\n const { t, i18n } = useTranslation();\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n console.log(\"userLanguage\", userLanguage);\n useEffect(() => {\n i18n.changeLanguage(jUser?.user?.language);\n\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n // if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n // handle click event of logout\n const logout = () => {\n dispatch({ type: actionType.LOGOUT });\n localStorage.clear();\n history.push(\"/public/login\");\n };\n\n return (\n <>\n \n \n {uRole === \"GENERAL\" ? (\n {t(\"navigation.\" + props.brandText)}\n ) : (\n {props.brandText}\n )}\n {userDetails?.user ? (\n \n ) : null}\n \n \n \n );\n};\n\nexport default AdminNavbar;\n","import Lodash from \"lodash\";\nimport * as api from \"../api/index.js\";\nimport { AUTH, USER_FETCH_ALL, USER_FETCH_ONE, USER_FETCH_ONE_ORG, USER_UPDATE, ORG_UPDATE, USER_FETCH_BY_ADMIN, IS_HUMAN, SHOW_LOADING } from \"../constants/actionTypes\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"../assets/css/react-confirm-alert-custom.css\"; /// Import css\n\n// trans done\nexport const signin = (formData, router, systemContentLocale) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n\n const response = await api.signIn(formData);\n // if(LOGINSTATE) console.log(\"sign in response\", response);\n const { data } = response;\n\n if (data?.status === \"success\") {\n dispatch({ type: AUTH, payload: data?.data });\n localStorage.setItem(\"userDetails\", JSON.stringify({ ...data?.data }));\n\n router.push(\"/registered/index\");\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error: \", data);\n if (data?.message === \"Password invalid.\") {\n confirmAlert({ message: systemContentLocale.password_invalid, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else if (data?.message === \"user not registered.\") {\n confirmAlert({ message: systemContentLocale.user_not_register, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else if (data?.message === \"User unlinked\") {\n confirmAlert({ title: systemContentLocale.user_unlink, message: systemContentLocale.login_message, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else if (data?.message === \"User deactivated\") {\n confirmAlert({ title: systemContentLocale.user_deactivate, message: systemContentLocale.login_message, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else if (data?.message === \"User is not completed\") {\n confirmAlert({ title: systemContentLocale.user_not_create, message: systemContentLocale.login_message, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else if (data?.message === \"Your organization deactivated\") {\n confirmAlert({ title: systemContentLocale.organization_deactivate, message: systemContentLocale.login_message, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else if (data?.message === \"Your location deactivated\") {\n confirmAlert({ title: systemContentLocale.location_deactivate, message: systemContentLocale.login_message, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n router.push(\"/auth/signin\");\n }\n } catch (error) {\n console.log(\"catch error\", error?.response);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: systemContentLocale.session_expired, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n else {\n // process the error to show proper error message in popup\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n errorMessge = Lodash.isEmpty(errorMessge) ? systemContentLocale.app_error : errorMessge;\n // confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n // masking the error due to translation limitations\n confirmAlert({ title: systemContentLocale.app_sorry, message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// trans done\n// sign up with new account and new organization + new city\nexport const signUp = (formData, router, systemContentLocale) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n // if(LOGINSTATE) console.log(\"sign up form data\", formData);\n const { data } = await api.signUp(formData);\n\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"req is success\");\n confirmAlert({ title: systemContentLocale.app_success, message: systemContentLocale.user_successfully_created, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error: \", data);\n confirmAlert({ message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error.response);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: systemContentLocale.session_expired, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n // process the error to show proper error message in popup\n if (LOGINSTATE) console.log(\" error?.response\", error?.response);\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n errorMessge = Lodash.isEmpty(errorMessge) ? systemContentLocale.app_error : errorMessge;\n // confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n // masking the error due to translation limitations\n confirmAlert({ title: systemContentLocale.app_sorry, message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n // }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// seems not using\n// sign up with new account and organization + new city\nexport const signupalreadyregister = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n // if(LOGINSTATE) console.log(\"sign up form data\", formData);\n const { data } = await api.signupalreadyregister(formData);\n\n if (data?.status === \"success\") {\n if (LOGINSTATE) console.log(\"req is success\");\n confirmAlert({ title: \"Success\", message: \"User successfully created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error: \", data);\n confirmAlert({ message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error.response);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n // process the error to show proper error message in popup\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n errorMessge = Lodash.isEmpty(errorMessge) ? \"Oops, something went wrong\" : errorMessge;\n confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n // }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\n// sign up an admin by another admin\nexport const signupadmin = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n // if(LOGINSTATE) console.log(\"sign up form data\", formData);\n const { data } = await api.signupadmin(formData);\n\n // if(LOGINSTATE) console.log(\"sign up response data\", data);\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"User successfully created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/registered/user\");\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(\"error: \", data);\n confirmAlert({ message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error.response);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n // if (error.response && error.response.status && error.response.status === 409 && error.response.data && error.response.data.code && error.response.data.code === \"409\") {\n // process the error to show proper error message in popup\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n errorMessge = Lodash.isEmpty(errorMessge) ? \"Oops, something went wrong\" : errorMessge;\n confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/registered/user\");\n }\n // }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// seems not using\nexport const fetchProfile = (formData, t) => async (dispatch) => {\n // console.log(\"formData\", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchProfile(formData);\n if (LOGINSTATE) console.log(\"profile data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: USER_FETCH_ONE, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n // confirmAlert({ message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n confirmAlert({ message: error, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no trans need\nexport const fetchProfileOrg = () => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchProfileOrg();\n if (LOGINSTATE) console.log(\"profile data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: USER_FETCH_ONE_ORG, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n confirmAlert({ message: error, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// trans done\nexport const updateUser = (formData, needRefresh, history, systemContentLocale, t) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"Updating the profile with: \", formData);\n\n // Check whether the profile picture is new.\n // If yes, upload it first. Otherwise update the profile Details.\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n\n if (formData.newProfilePicture) {\n let updatePicResult = await uploadProfileImage(formData, alert, history);\n\n // Profile picture update failed, stop the process;\n if (!updatePicResult) {\n confirmAlert({ message: t('popups.profilePictureUploadFail'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } else {\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\n }\n\n if (LOGINSTATE) console.log(\"Updating the profile + picture with: \", formData);\n\n const { data } = await api.updateUser(formData);\n if (LOGINSTATE) console.log(\"update data: \", data);\n\n if (data?.status === \"success\") {\n // Admin update is just value change in the database\n\n dispatch({ type: USER_UPDATE, payload: data });\n\n // Update local storage data\n let currentUser = localStorage.getItem(\"userDetails\");\n if (LOGINSTATE) console.log(\"currentUser\", currentUser);\n\n let jUser = JSON.parse(currentUser);\n let newUserUpdate = {\n token: jUser.token,\n user: {\n id: formData.userId,\n firstName: formData.firstName,\n lastName: formData.lastName,\n email: formData.email,\n urole: jUser.user.urole,\n profilePicture: formData.profilePicture,\n language: formData.language,\n },\n };\n\n let result = localStorage.setItem(\"userDetails\", JSON.stringify(newUserUpdate));\n if (LOGINSTATE) console.log(\"newUserUpdate\", newUserUpdate);\n\n confirmAlert({ title: systemContentLocale.app_success, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (needRefresh) history.go(0);\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n // confirmAlert({ message: data?.message, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error in profile update\", error);\n // let errorMessge = error?.response?.data?.message;\n // confirmAlert({ message: errorMessge, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: systemContentLocale.session_expired, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need i18next: seems not using\nconst uploadProfileImage = async (values, alert, router) => {\n try {\n if (values.profilePicture) {\n if (LOGINSTATE) console.log(\"picture data: \", values.profilePicture);\n // continue\n } else {\n if (LOGINSTATE) console.log(\"empty picture\");\n\n return false;\n }\n\n if (LOGINSTATE) console.log(\"upload picture data\");\n const params = new FormData();\n params.append(\"photo[]\", values.profilePicture);\n params.append(\"photo[]\", values.profileThumbnail);\n\n let res = await api.uploadProfileImage(params);\n // console.log(\"server returned: \", res);\n\n if (res && res.data && !Lodash.isEmpty(res.data.data) && res.data.data.length >= 2) {\n if (LOGINSTATE) console.log(\"server returned new file names: \", res.data.data);\n values[\"profilePicture\"] = res.data.data[0].name;\n values[\"profileThumbnail\"] = res.data.data[1].name;\n }\n\n return true;\n } catch (error) {\n // console.log(\"catch error in picture upload: \", error?.response?.data);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n let errorMessge = error?.response?.data?.message;\n confirmAlert({ message: errorMessge, buttons: [{ label: \"Yes\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n values.profilePicture = null;\n values.profileThumbnail = null;\n }\n return false;\n }\n};\n\nexport const changePassword = (formData, router, systemContentLocale) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n let res = await api.changePassword(formData);\n\n if (res && res.status === 200) {\n // confirmAlert({ title: systemContentLocale.app_success, message: \"Password updated.\", buttons: [{ label: systemContentLocale.app_yes, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ title: systemContentLocale.app_success, buttons: [{ label: systemContentLocale.app_yes, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error.response) {\n if (error.response.status === 400) {\n confirmAlert({ title: systemContentLocale.app_error, message: systemContentLocale.password_invalid, buttons: [{ label: systemContentLocale.app_yes, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: systemContentLocale.session_expired, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n }\n else {\n confirmAlert({ message: systemContentLocale.app_error, buttons: [{ label: systemContentLocale.app_ok, onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const fetchAllProfiles = () => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchAllProfiles();\n if (data?.status === \"success\") {\n dispatch({ type: USER_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n confirmAlert({ message: error, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const fetchProfileOrgAsAdmin = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const response = await api.fetchProfileOrgAsAdmin(formData);\n const { data } = response;\n if (LOGINSTATE) console.log(\"profile data by admin: \", data);\n if (data?.status === \"success\") {\n let dispatchData = data?.data;\n dispatchData[\"user\"] = { user: formData };\n if (LOGINSTATE) console.log(\"profile data by admin all: \", dispatchData);\n dispatch({ type: USER_FETCH_BY_ADMIN, payload: dispatchData });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n }\n else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// trans done\nexport const resetPassword = (formData, router, t) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"reset password: \", formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const response = await api.resetPassword(formData);\n const { data } = response;\n if (LOGINSTATE) console.log(\"response data: \", data);\n if (data?.status === \"success\") {\n confirmAlert({\n title: t('resetPage.section1.resetSuccessTitle'),\n message: t('resetPage.section1.resetSuccessMessage'),\n buttons: [{ label: \"Ok\", onClick: () => { } }],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n router.push(\"public/login\");\n }\n else{\n // Including data?.status === \"error\"\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n router.push(\"/login\");\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n\n};\n\n// seems not using\nexport const validateHuman = (formData, router, t) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"formData re\", formData);\n\n try {\n const response = await api.validateHuman(formData);\n const { data } = response;\n if (LOGINSTATE) console.log(\"human data: \", data);\n if (data?.status === \"success\") {\n dispatch({ type: IS_HUMAN, payload: data?.data });\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: t('popups.recaptchaFail'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n confirmAlert({ message: t('popups.recaptchaError'), buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n","/*eslint-disable*/\nimport { Avatar } from \"@material-ui/core\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport * as actionType from \"constants/actionTypes\";\nimport { ChsStyles } from \"constants/globalStyles\";\nimport { fetchProfileOrg } from \"actions/user\";\n// nodejs library to set properties for components\nimport { PropTypes } from \"prop-types\";\nimport React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { Link, NavLink as NavLinkRRD, useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Col, Collapse, Container, DropdownItem, DropdownMenu, DropdownToggle, Media, Nav, Navbar, NavbarBrand, NavItem, NavLink, Row, UncontrolledDropdown } from \"reactstrap\";\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\n\nconst Sidebar = (props) => {\n const userDetails = useSelector((state) => state.auth.authData);\n const dispatch = useDispatch();\n const history = useHistory();\n const [collapseOpen, setCollapseOpen] = useState();\n const [userProfileOrg, setUserProfileOrg] = useState(\"\");\n // verifies if routeName is the one active (in browser input)\n const activeRoute = (routeName) => {\n return props.location.pathname.indexOf(routeName) > -1 ? \"active\" : \"active\";\n };\n // toggles collapse between opened and closed (true/false)\n const toggleCollapse = () => {\n setCollapseOpen((data) => !data);\n };\n // closes the collapse\n const closeCollapse = () => {\n setCollapseOpen(false);\n };\n\n // handle click event of logout\n const logout = () => {\n dispatch({ type: actionType.LOGOUT });\n localStorage.clear();\n history.push(\"/public/login\");\n };\n\n const { t, i18n } = useTranslation();\n\n const userProfileOrg1 = useSelector((state) => state.user.userProfileOrg);\n\n useEffect(() => {\n i18n.changeLanguage(jUser?.user?.language);\n dispatch(fetchProfileOrg());\n }, []);\n\n useEffect(() => {\n let country = userProfileOrg1.profile?.employment?.organization?.country?.app_country;\n setUserProfileOrg(country);\n }, [userProfileOrg1]);\n\n // href={Config.SERVER_API_URL + \"uploads/primer/\" + jUser.user.language + \"_primer.pdf\"}\n const showGuide = async (e) => {\n e.preventDefault();\n const result = await fetch(`${Config.SERVER_API_URL}uploads/primer/${jUser.user.language}_primer.pdf`, { method: 'HEAD' });\n if (result.ok) {\n let pathToResource = `${Config.SERVER_API_URL}uploads/primer/${jUser.user.language}_primer.pdf`;\n window.open(pathToResource, \"_blank\");\n }\n else {\n let pathToResource = `${Config.SERVER_API_URL}uploads/primer/en_primer.pdf`;\n window.open(pathToResource, \"_blank\");\n }\n }\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n\n // creates the links that appear in the left-menu / Sidebar\n const createLinks = (routes, location) => {\n return routes.map((prop, key) => {\n if (prop.location === location) {\n if (prop.hasOwnProperty(\"innerlinks\")) {\n // Navigation items with sub menu\n return (\n \n \n \n {t(\"navigation.\" + prop.name)}\n {console.log(\"items with sub menu 1 ------------> \", prop.name)}\n \n\n \n {prop.innerlinks.map((innerprop, innerkey) => (\n \n \n {innerprop.name}\n {/* {console.log(\"items of sub menu 2 ------------> \", innerprop.name)} */}\n \n ))}\n \n \n );\n } else {\n return (\n \n \n \n {t(\"navigation.\" + prop.name)}\n {console.log(\"single menu items 3 ------------> \", prop.name)}\n \n \n );\n }\n }\n });\n };\n\n const { bgColor, routes, logo, logoText } = props;\n let navbarBrandProps;\n if (logo && logo.innerLink) {\n navbarBrandProps = {\n to: logo.innerLink,\n tag: Link,\n };\n } else if (logo && logo.outterLink) {\n navbarBrandProps = {\n href: logo.outterLink,\n target: \"_blank\",\n };\n }\n if (logoText && logoText.innerLink) {\n navbarBrandProps = {\n to: logoText.innerLink,\n tag: Link,\n };\n } else if (logoText && logoText.outterLink) {\n navbarBrandProps = {\n href: logoText.outterLink,\n target: \"_blank\",\n };\n }\n\n return (\n \n \n {/* Toggler */}\n \n\n {/* Brand - Top logo of the navigation for full web*/}\n {logo ? (\n \n {logo.imgAlt}\n \n ) : null}\n\n {logoText ? (\n \n
{logoText}
\n
\n ) : null}\n\n {/* User */}\n {userDetails?.user ? (\n \n ) : null}\n\n {/* Collapse left navigation */}\n \n {/* Collapse header */}\n {/* Left menu header for the mobile/responsive user */}\n
\n \n {logo ? (\n \n {logo.innerLink ? (\n \n {logo.imgAlt}\n \n ) : (\n \n {logo.imgAlt}\n \n )}\n \n ) : null}\n {logoText ? (\n \n {logoText.innerLink ? (\n \n
{logoText}
\n \n ) : (\n \n
{logoText}
\n
\n )}\n \n ) : null}\n\n {/* Navigator close button */}\n \n \n \n
\n
\n\n {/* Main navigation */}\n \n\n {/* Divider */}\n {/*
*/}\n
\n
\n
\n );\n};\n\nSidebar.defaultProps = {\n routes: [{}],\n};\n\nSidebar.propTypes = {\n // links that will be displayed inside the component\n routes: PropTypes.arrayOf(PropTypes.object),\n logo: PropTypes.shape({\n // innerLink is for links that will direct the user within the app\n // it will be rendered as ... tag\n innerLink: PropTypes.string,\n // outterLink is for links that will direct the user outside the app\n // it will be rendered as simple ... tag\n outterLink: PropTypes.string,\n // the image src of the logo\n imgSrc: PropTypes.string.isRequired,\n // the alt for the img\n imgAlt: PropTypes.string.isRequired,\n }),\n logoText: PropTypes.string,\n};\n\nexport default Sidebar;\n","import * as actionType from \"constants/actionTypes\";\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\nimport { t } from \"i18next\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Card, CardBody, CardTitle, Col, Container, Row } from \"reactstrap\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\n\nconst Header = () => {\n const dispatch = useDispatch();\n const { t, i18n } = useTranslation();\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n console.log(\"userLanguage\", userLanguage);\n useEffect(() => {\n i18n.changeLanguage(jUser?.user?.language);\n console.log(\"language\", jUser?.user);\n\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n // if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n return (\n <>\n \n \n \n
\n {/* Card stats */}\n {rtlAlignment === \"right\" ? (\n \n \n

\n {t(\"dashboard.header\")}\n

\n\n {t(\"dashboard.paragraph1\")}\n
\n \n {t(\"dashboard.paragraph2\")}\n \n \n {t(\"dashboard.appTool\")}\n \n \n \n \n
\n ) : (\n \n \n

\n {t(\"dashboard.header\")}\n

\n\n {t(\"dashboard.paragraph1\")}\n
\n \n {t(\"dashboard.paragraph2\")}\n \n \n {t(\"dashboard.appTool\")}\n \n \n \n \n
\n )}\n {/*
\n
*/}\n {/* \n \n

The Core Humanitarian Standards Assessment Tool (CHSAT)

\n \n The CHSAT seeks to support the institutionalization of the Core Humanitarian Standard (CHS) among local humanitarian organizations. The tool intends to assist local actors to identify gaps in their adherence to the CHS as\n well as in designing and implementing capacity-building interventions to improve their provision of humanitarian assistance to populations affected by disasters\n \n \n\n \n

Institutional Capacity Assessment Tool (ICAT)

\n \n The ICAT aims to assist local actors to comply with the commitments enshrined in the CHS towards preventing and alleviating human suffering during emergencies. The tool seeks to support local humanitarian organizations to\n identify gaps in their institutional and operational capacities as well as to prioritize capacity-building interventions to strengthen their capacities in compliance with the tenets of the CHS.\n \n \n\n \n

Tool for Institutional Engagement (TIE)

\n \n The TIE enables organizations in the national ecosystems to evaluate and review the level of their contribution in the different phases of the disaster risk management (DRM) continuum. The tool is anchored on the concept\n of social responsibility that pertains to the duty of individuals and institutions to act in the best interests of the organization, environment, and society as a whole. It highlights the interventions that need to be\n implemented to enhance their institutional and operational engagement before, during, and after disasters.\n \n \n
*/}\n
\n
\n \n \n \n );\n};\n\nexport default Header;\n","// node.js library that concatenates classes (strings)\nimport classnames from \"classnames\";\nimport Header from \"components/Headers/Header.js\";\nimport AdminHeader from \"components/Headers/AdminHeader.js\";\nimport { LOGINSTATE } from \"../config/config.json\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n// import { fetchStatSummery } from 'actions/analytics'\n// reactstrap components\nimport { Card, CardBody, CardHeader, Col, Container, Nav, NavItem, NavLink, Row, Table, CardTitle } from \"reactstrap\";\n\nimport Chart from \"chart.js\"; // javascipt plugin for creating charts. Does the style formatting\nimport { Bar, Line, HorizontalBar } from \"react-chartjs-2\"; // react plugin used to create charts\nimport { chartOptions, getLineChart, getBarChart, parseOptions, setInitData } from \"variables/charts\";\nimport { fetchAnswerStat } from \"actions/report\";\nimport { fetchCountry } from \"actions/masterData\";\nimport Lodash from \"lodash\";\nimport { roundValue } from \"helper\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\n\nconst Index = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [barChart, setBarChart] = useState({});\n\n /////////////////////////////////\n const [statOrganization, setStatOrganization] = useState([]);\n const [statYear, setStatYear] = useState([]);\n\n const [statType_CHSAT_COMPLETE, setStatType_CHSAT_COMPLETE] = useState(\"\");\n const [statType_ICAT_COMPLETE, setStatType_ICAT_COMPLETE] = useState(\"\");\n const [statType_TIE_COMPLETE, setStatType_TIE_COMPLETE] = useState(\"\");\n const [statType_CHSAT_PROGRESS, setStatType_CHSAT_PROGRESS] = useState(\"\");\n const [statType_ICAT_PROGRESS, setStatType_ICAT_PROGRESS] = useState(\"\");\n const [statType_TIE_PROGRESS, setStatType_TIE_PROGRESS] = useState(\"\");\n\n const optionsGrid = {\n options: {\n indexAxis: \"x\",\n },\n scales: {\n xAxes: [\n {\n gridLines: {\n color: \"#212529\",\n zeroLineColor: \"#212529\",\n },\n ticks: {\n callback: function (value) {\n if (!(value % 1)) {\n return value;\n }\n },\n },\n },\n ],\n },\n };\n\n useEffect(() => {\n let params = { statType: \"StatDashboard\" };\n dispatch(fetchAnswerStat(params));\n }, []);\n\n const currentStat = useSelector((state) => state.report.answerStat);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"currentStat: \", currentStat);\n if (currentStat && currentStat.length > 0 && !Lodash.isEmpty(currentStat[0])) {\n //Current stat is an array\n let data = currentStat[0];\n\n // populate tiles with type ---------------------------------------\n setStatType_CHSAT_COMPLETE(data.surveyTiles.chsat_complete);\n setStatType_ICAT_COMPLETE(data.surveyTiles.icat_complete);\n setStatType_TIE_COMPLETE(data.surveyTiles.tie_complete);\n setStatType_CHSAT_PROGRESS(data.surveyTiles.chsat_progress);\n setStatType_ICAT_PROGRESS(data.surveyTiles.icat_progress);\n setStatType_TIE_PROGRESS(data.surveyTiles.tie_progress);\n\n // Draw graph with year data ---------------------------------------\n setBarChart(data.surveyGraph[0].chart ? data.surveyGraph[0].chart : {});\n if (LOGINSTATE) console.log(\"barchart\", data.surveyGraph);\n\n // populate table with year data ---------------------------------------\n setStatYear(data.surveyYear);\n if (LOGINSTATE) console.log(\"year data: \", data.surveyYear);\n\n // populate table with organization data ---------------------------------------\n setStatOrganization(data.surveyOrganization);\n }\n }, [currentStat]);\n\n if (window.Chart) {\n parseOptions(Chart, chartOptions());\n }\n\n // const toggleNavs = (e, index) => {\n // e.preventDefault();\n // console.log(\"###### index: \", index);\n\n // setActiveNav(index);\n // setChart1Data(\"data\" + index);\n // };\n return (\n <>\n {/* Header content */}\n \n\n {/* Page content */}\n \n
\n {/* Card stats */}\n
\n
\n
\n \n \n {\n history.push({ pathname: \"/registered/assessment_answers\" });\n }}\n style={{ cursor: \"pointer\" }}\n >\n \n \n
\n \n Core Humanitarian Standard Assessment Tool
\n
\n COMPLETED TEST\n
\n {statType_CHSAT_COMPLETE}\n
\n \n
\n \n
\n \n
\n

\n {statType_CHSAT_PROGRESS} On going\n

\n
\n \n \n\n \n {\n history.push({ pathname: \"/registered/assessment_answers\" });\n }}\n style={{ cursor: \"pointer\" }}\n >\n \n \n
\n \n Institutional Capacity Assessment Tool
\n
COMPLETED TEST\n
\n {statType_ICAT_COMPLETE}\n
\n \n
\n \n
\n \n
\n

\n {statType_ICAT_PROGRESS} On going\n

\n
\n \n \n\n \n {\n history.push({ pathname: \"/registered/assessment_answers\" });\n }}\n style={{ cursor: \"pointer\" }}\n >\n \n \n
\n \n Tool for Institutional Engagement
\n
COMPLETED TEST\n
\n {statType_TIE_COMPLETE}\n
\n \n
\n \n
\n \n
\n

\n {statType_TIE_PROGRESS} On going\n

\n
\n \n \n
\n
\n
\n
\n\n {/* Top charts */}\n \n \n \n \n \n
\n
Overview
\n

This Year Completion

\n
\n
\n \n
\n
\n
\n \n {/* Chart */}\n {/* {console.log(\"lineChart: \", lineChart)} */}\n\n
\n console.log(e)}\n />\n
\n
\n
\n \n
\n\n {/* Bottom detail tables */}\n \n \n \n \n \n
\n

All Assessment Completion By Organization Type

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {statOrganization.map((item, i) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
CountryGovernmentNon-GovernmentPrivate SectorOther
{item.country}{item.government?.count}{item.nonGovernment?.count}{item.private?.count}{item.other?.count}
\n
\n \n \n \n \n \n
\n

All Completed Assessments

\n
\n
\n
\n \n \n \n \n \n \n \n \n \n \n {statYear &&\n statYear.map((item, i) => {\n return (\n \n \n \n \n \n \n );\n })}\n \n
\n Country\n \n CHSAT\n \n ICAT\n TIE
{item.country}{item.chsat}{item.icat}{item.tie}
\n
\n \n
\n
\n \n );\n};\n\nexport default Index;\n","import {\r\n REPORT_ANSWER_ALL,\r\n REPORT_ANSWER_BY_USER,\r\n REPORT_ANSWER_BY_COUNTRY,\r\n REPORT_ANSWER_STAT,\r\n REPORT_USER_STAT,\r\n SHOW_LOADING\r\n} from 'constants/actionTypes';\r\nimport { LOGINSTATE } from \"config/config.json\";\r\nimport Lodash from \"lodash\";\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport * as api from '../api/index.js';\r\n// import 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\n\r\n\r\nexport const fetchReportAnswerAll = () => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n const { data } = await api.fetchReportAnswerAll();\r\n if(LOGINSTATE) console.log(\"report data\", data);\r\n\r\n if (data?.status === 'success') {\r\n dispatch({ type: REPORT_ANSWER_ALL, payload: data?.data });\r\n }\r\n else if (data?.status === 'error') {\r\n confirmAlert({ message: data?.message, buttons: [{ label: 'Ok', onClick: () => { } }] });\r\n }\r\n }\r\n catch (error) {\r\n if(LOGINSTATE) console.log(\"catch error\", error.response);\r\n\r\n // process the error to show proper error message in popup\r\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\r\n let errorMessage = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\r\n errorMessage = Lodash.isEmpty(errorMessage) ? \"Oops, something went wrong\" : errorMessage;\r\n confirmAlert({ title: errorTitle, message: errorMessage, buttons: [{ label: 'Ok', onClick: () => { } }] });\r\n }\r\n finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n\r\n};\r\n\r\n\r\nexport const fetchReportAnswersByUser = () => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n const { data } = await api.fetchReportAnswersByUser();\r\n if(LOGINSTATE) console.log(\"report data\", data);\r\n\r\n if (data?.status === 'success') {\r\n dispatch({ type: REPORT_ANSWER_BY_USER, payload: data?.data });\r\n }\r\n else if (data?.status === 'error') {\r\n confirmAlert({ message: data?.message, buttons: [{ label: 'Ok', onClick: () => { } }] });\r\n }\r\n }\r\n catch (error) {\r\n if(LOGINSTATE) console.log(\"catch error\", error.response);\r\n\r\n\r\n // process the error to show proper error message in popup\r\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\r\n let errorMessage = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\r\n errorMessage = Lodash.isEmpty(errorMessage) ? \"Oops, something went wrong\" : errorMessage;\r\n confirmAlert({ title: errorTitle, message: errorMessage, buttons: [{ label: 'Ok', onClick: () => { } }] });\r\n }\r\n finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n\r\n};\r\n\r\n\r\nexport const fetchReportAnswerByCountry = () => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n const { data } = await api.fetchReportAnswerByCountry();\r\n if(LOGINSTATE) console.log(\"report data\", data);\r\n\r\n if (data?.status === 'success') {\r\n dispatch({ type: REPORT_ANSWER_BY_COUNTRY, payload: data?.data });\r\n }\r\n else if (data?.status === 'error') {\r\n confirmAlert({ message: data?.message, buttons: [{ label: 'Ok', onClick: () => { } }] });\r\n }\r\n }\r\n catch (error) {\r\n if(LOGINSTATE) console.log(\"catch error\", error.response);\r\n\r\n\r\n // process the error to show proper error message in popup\r\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\r\n let errorMessage = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\r\n errorMessage = Lodash.isEmpty(errorMessage) ? \"Oops, something went wrong\" : errorMessage;\r\n confirmAlert({ title: errorTitle, message: errorMessage, buttons: [{ label: 'Ok', onClick: () => { } }] });\r\n }\r\n finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n\r\n};\r\n\r\n\r\nexport const fetchAnswerStat = (formData, router) => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n const { data } = await api.fetchAnswerStat(formData);\r\n if(LOGINSTATE) console.log(\"report data\", data);\r\n\r\n if (data?.status === 'success') {\r\n dispatch({ type: REPORT_ANSWER_STAT, payload: data?.data });\r\n }\r\n else {\r\n dispatch({ type: REPORT_ANSWER_STAT, payload: [] });\r\n }\r\n }\r\n catch (error) {\r\n if(LOGINSTATE) console.log(\"catch error\", error.response);\r\n dispatch({ type: REPORT_ANSWER_STAT, payload: [] });\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n router.push(\"/auth/signin\");\r\n }\r\n }\r\n finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n\r\n\r\nexport const fetchUserStat = () => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n const { data } = await api.fetchUserStat();\r\n if(LOGINSTATE) console.log(\"report data\", data);\r\n\r\n if (data?.status === 'success') {\r\n dispatch({ type: REPORT_USER_STAT, payload: data?.data });\r\n }\r\n else {\r\n dispatch({ type: REPORT_USER_STAT, payload: [] });\r\n }\r\n }\r\n catch (error) {\r\n if(LOGINSTATE) console.log(\"catch error\", error.response);\r\n dispatch({ type: REPORT_USER_STAT, payload: [] });\r\n }\r\n finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n\r\n\r\n\r\n","// node.js library that concatenates classes (strings)\nimport classnames from \"classnames\";\nimport Header from \"components/Headers/Header.js\";\nimport AdminHeader from \"components/Headers/AdminHeader.js\";\nimport { LOGINSTATE } from \"../config/config.json\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\n// import { fetchStatSummery } from 'actions/analytics'\n// reactstrap components\nimport { Card, CardBody, CardHeader, Col, Container, Nav, NavItem, NavLink, Row, Table, CardTitle, Button, CardFooter } from \"reactstrap\";\n\nimport Chart from \"chart.js\"; // javascipt plugin for creating charts. Does the style formatting\nimport { Bar, Line, Radar } from \"react-chartjs-2\"; // react plugin used to create charts\nimport { chartOptions, getLineChart, getBarChart, parseOptions, setInitData } from \"variables/charts\";\nimport { fetchAnswerStat, fetchUserStat } from \"actions/report\";\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\nimport Lodash from \"lodash\";\nimport { roundValue } from \"helper\";\nimport { blue } from \"@material-ui/core/colors\";\nimport { TextField } from \"@material-ui/core\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport { LANGUAGE } from \"constants/actionTypes\";\nimport Moment from \"moment\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\n\nconst Index = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [lineChartDetail, setLineChartDetail] = useState({});\n const [lineChart, setLineChart] = useState({});\n const [lineChartType, setLineChartType] = useState(\"CHSAT\");\n const [lineChartGroup, setLineChartGroup] = useState(\"2021-H2\");\n const [lineChartValues, setLineChartValues] = useState([]);\n const [lineChartLabels, setLineChartLabels] = useState([]);\n const [lineChartDropDown, setLineChartDropDown] = useState([]);\n\n const [barChart, setBarChart] = useState({});\n const [barChartLabels, setBarChartLabels] = useState([]);\n\n const [linex, setLinex] = useState(\"\");\n const [liney, setLiney] = useState(\"\");\n const [barx, setBarx] = useState(\"\");\n const [bary, setBary] = useState(\"\");\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n /////////////////////////////////\n\n const [statType_CHSAT_COMPLETE, setStatType_CHSAT_COMPLETE] = useState(\"0\");\n const [statType_ICAT_COMPLETE, setStatType_ICAT_COMPLETE] = useState(\"0\");\n const [statType_TIE_COMPLETE, setStatType_TIE_COMPLETE] = useState(\"0\");\n const [statType_CHSAT_PROGRESS, setStatType_CHSAT_PROGRESS] = useState(\"0\");\n const [statType_ICAT_PROGRESS, setStatType_ICAT_PROGRESS] = useState(\"0\");\n const [statType_TIE_PROGRESS, setStatType_TIE_PROGRESS] = useState(\"0\");\n\n //// tile expand ///\n\n const [showChsatDetails, setShowChsatDetails] = useState(false);\n const [showIcatDetails, setShowIcatDetails] = useState(false);\n const [showTieDetails, setShowTieDetails] = useState(false);\n\n const optionsGrid = {\n scales: {\n xAxes: [\n {\n ticks: {\n fontColor: \"#fff\",\n },\n display: true,\n scaleLabel: {\n display: true,\n labelString: linex,\n fontColor: \"#fff\",\n fontStyle: \"bold\",\n },\n },\n ],\n yAxes: [\n {\n gridLines: {\n color: \"#fff\",\n zeroLineColor: \"#fff\",\n },\n ticks: {\n callback: function (value) {\n if (!(value % 1)) {\n return value;\n }\n },\n fontColor: \"#fff\",\n beginAtZero: true,\n steps: 1,\n stepValue: 1,\n max: 5.2,\n },\n scaleLabel: {\n display: true,\n labelString: liney,\n fontColor: \"#fff\",\n fontStyle: \"bold\",\n },\n },\n ],\n },\n };\n\n const optionsGridBarChart = {\n scales: {\n xAxes: [\n {\n display: true,\n scaleLabel: {\n display: true,\n labelString: barx,\n fontStyle: \"bold\",\n },\n },\n ],\n yAxes: [\n {\n gridLines: {\n color: \"#212529\",\n zeroLineColor: \"#212529\",\n },\n ticks: {\n callback: function (value) {\n if (!(value % 1)) {\n return value;\n }\n },\n beginAtZero: true,\n steps: 1,\n stepValue: 1,\n max: 5.2,\n },\n scaleLabel: {\n display: true,\n labelString: bary,\n fontStyle: \"bold\",\n },\n },\n ],\n },\n };\n\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n console.log(\"userLanguage\", userLanguage);\n useEffect(() => {\n dispatch(fetchUserStat());\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n\n }, [jUser]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n console.log(\"uRole\", currentUser);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n\n // localStorage.setItem(LANGUAGE, JSON.stringify(full));\n }, [userLanguage]);\n\n const { t, i18n } = useTranslation();\n\n const currentStat = useSelector((state) => state.report.userStat);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"currentStat: \", currentStat);\n if (currentStat && !Lodash.isEmpty(currentStat)) {\n //Current stat is an array\n\n // populate tiles with type ---------------------------------------\n let dataTiles = currentStat?.surveyTiles;\n if (dataTiles && !Lodash.isEmpty(dataTiles)) {\n setStatType_CHSAT_COMPLETE(dataTiles.chsat_complete);\n setStatType_ICAT_COMPLETE(dataTiles.icat_complete);\n setStatType_TIE_COMPLETE(dataTiles.tie_complete);\n setStatType_CHSAT_PROGRESS(dataTiles.chsat_progress);\n setStatType_ICAT_PROGRESS(dataTiles.icat_progress);\n setStatType_TIE_PROGRESS(dataTiles.tie_progress);\n }\n\n // populate bar chart with survey ---------------------------------------\n let dataBarGraph = currentStat?.surveyLineGraph;\n if (dataBarGraph && !Lodash.isEmpty(dataBarGraph)) {\n setBarChart(dataBarGraph);\n let label = [];\n label.push(t(\"barChartLabels.chsat\"))\n label.push(t(\"barChartLabels.icat\"))\n label.push(t(\"barChartLabels.tie\"));\n setBarChartLabels(label);\n }\n\n // populate line graph with survey ---------------------------------------\n let dataLineGraph = currentStat?.surveyBarGraph;\n console.log(\"dataLineGraph\", dataLineGraph?.intervalGroups);\n\n // Translate dropdown values to locale\n let tempDropDownItems = [];\n if (Lodash.isArray(dataLineGraph?.intervalGroups)) {\n setLineChartDetail(dataLineGraph.intervalValues);\n\n dataLineGraph?.intervalGroups.forEach(value => {\n let updatedItem = (value.slice()).replace('January to June', t(\"dateAndTime.January to June\"))\n updatedItem = (updatedItem).replace('July to December', t(\"dateAndTime.July to December\"))\n\n const valueItem = {\n value: value,\n item: updatedItem\n }\n // console.log(\"### valueItem: \", valueItem);\n tempDropDownItems.push(valueItem)\n });\n }\n // setLineChartDropDown(dataLineGraph);\n setLineChartDropDown(tempDropDownItems);\n setLineChartGroup(tempDropDownItems[0].value);\n\n }\n }, [currentStat, t]);\n\n useEffect(() => {\n let currentData = Lodash.find(lineChartDetail, { group: lineChartGroup, type: lineChartType });\n\n if (Lodash.isEmpty(currentData)) {\n setLineChartLabels([]);\n setLineChartValues([]);\n } else {\n // Need to update start and end moths with locale\n let updatedLabels = [...currentData.graphLabels];\n if (Lodash.isArray(updatedLabels) && !Lodash.isEmpty(updatedLabels) && updatedLabels[0].includes('-Jan')) updatedLabels[0] = updatedLabels[0].replace('Jan', t(\"dateAndTime.JAN\"))\n if (Lodash.isArray(updatedLabels) && !Lodash.isEmpty(updatedLabels) && updatedLabels[0].includes('-Jul')) updatedLabels[0] = updatedLabels[0].replace('Jul', t(\"dateAndTime.JUL\"))\n if (Lodash.isArray(updatedLabels) && !Lodash.isEmpty(updatedLabels) && updatedLabels[updatedLabels.length - 1].includes('-Jun')) updatedLabels[updatedLabels.length - 1] = updatedLabels[updatedLabels.length - 1].replace('Jun', t(\"dateAndTime.JUN\"))\n if (Lodash.isArray(updatedLabels) && !Lodash.isEmpty(updatedLabels) && updatedLabels[updatedLabels.length - 1].includes('-Dec')) updatedLabels[updatedLabels.length - 1] = updatedLabels[updatedLabels.length - 1].replace('Dec', t(\"dateAndTime.DEC\"))\n\n setLineChartLabels(updatedLabels);\n // setLineChartLabels(currentData.graphLabels);\n setLineChartValues(currentData.graphValues);\n console.log(\"lineChartLabels\", updatedLabels);\n console.log(\"graphValues\", currentData.graphValues);\n }\n }, [lineChartDetail, lineChartGroup, lineChartType, t]);\n\n if (window.Chart) {\n parseOptions(Chart, chartOptions());\n }\n\n useEffect(() => {\n setLiney(t(\"dashboard.lineGraph.assessmentCompletion\"));\n setLinex(t(\"dashboard.lineGraph.totalScore\"));\n\n setBarx(t(\"dashboard.barGraph.type\"));\n setBary(t(\"dashboard.barGraph.totalScore\"));\n }, [t]);\n\n return (\n <>\n {/* Header content */}\n \n\n {/* Page content */}\n \n
\n {/* Card stats */}\n \n \n \n \n {\n // history.push({ pathname: \"/registered/assessment_answers\" });\n // }}\n // style={{ cursor: \"pointer\" }}\n >\n \n
\n \n {t(\"dashboard.chsat.title\")}
\n
\n {t(\"dashboard.chsat.completion\")}\n
\n {statType_CHSAT_COMPLETE}\n

\n {statType_CHSAT_PROGRESS} {t(\"dashboard.chsat.ongoing\")}\n

\n
\n \n
\n \n
\n \n
\n {/*

\n {statType_CHSAT_PROGRESS} {t(\"dashboard.chsat.ongoing\")}\n

*/}\n
\n\n \n \n {\n setShowChsatDetails(!showChsatDetails);\n }}\n >\n \n \n \n \n {showChsatDetails ? (\n \n \n {t(\"dashboard.chsat.description\")}\n \n \n ) : null}\n \n \n \n\n \n \n \n {\n // history.push({ pathname: \"/registered/assessment_answers\" });\n // }}\n // style={{ cursor: \"pointer\" }}\n >\n \n
\n \n {t(\"dashboard.icat.title\")}
\n
{t(\"dashboard.icat.completion\")}\n
\n {statType_ICAT_COMPLETE}\n

\n {statType_ICAT_PROGRESS} {t(\"dashboard.icat.ongoing\")}\n

\n
\n \n
\n \n
\n \n
\n {/*

\n {statType_ICAT_PROGRESS} {t(\"dashboard.icat.ongoing\")}\n

*/}\n \n\n \n \n {\n setShowIcatDetails(!showIcatDetails);\n }}\n >\n \n \n \n \n {showIcatDetails ? (\n \n \n {t(\"dashboard.icat.description\")}\n \n \n ) : null}\n
\n
\n \n\n \n \n \n {\n // history.push({ pathname: \"/registered/assessment_answers\" });\n // }}\n // style={{ cursor: \"pointer\" }}\n >\n \n
\n \n {t(\"dashboard.tie.title\")}
\n
{t(\"dashboard.tie.completion\")}\n
\n {statType_TIE_COMPLETE}\n

\n {statType_TIE_PROGRESS} {t(\"dashboard.tie.ongoing\")}\n

\n
\n \n
\n \n
\n \n
\n {/*

\n {statType_TIE_PROGRESS} {t(\"dashboard.tie.ongoing\")}\n

*/}\n \n\n \n \n {\n setShowTieDetails(!showTieDetails);\n }}\n >\n \n \n \n \n {showTieDetails ? (\n \n \n {t(\"dashboard.tie.description\")}\n \n \n ) : null}\n
\n
\n \n \n \n
\n\n {/* Top charts */}\n \n \n \n \n \n \n
{t(\"dashboard.lineGraph.overview\")}
\n

{t(\"dashboard.lineGraph.progress\")}

\n \n \n {\n setLineChartType(\"CHSAT\");\n }}\n >\n {t(\"dashboard.lineGraph.chsat\")}\n \n {\n setLineChartType(\"ICAT\");\n }}\n >\n {t(\"dashboard.lineGraph.icat\")}\n \n {\n setLineChartType(\"TIE\");\n }}\n >\n {t(\"dashboard.lineGraph.tie\")}\n \n \n
\n
\n \n {/* Chart */}\n {lineChartValues.length > 0 && (\n
\n console.log(e)}\n />\n
\n )}\n
\n \n {lineChartDropDown && lineChartDropDown.length > 0 && (\n {\n setLineChartGroup(e.target.value);\n }}\n SelectProps={{ native: true }}\n className={\"form-control-alternative form-control-edit\"}\n >\n {lineChartDropDown.map((valueItem) => (\n \n ))}\n \n )}\n \n
\n \n\n \n \n \n \n
\n
{t(\"dashboard.barGraph.summary\")}
\n

{t(\"dashboard.barGraph.score\")}

\n
\n
\n
\n \n {/* Chart */}\n {Object.keys(barChart).length > 0 && (\n
\n {console.log(\"barChartLabels\", barChartLabels)}\n \n
\n )}\n
\n
\n \n
\n
\n \n );\n};\n\nexport default Index;\n","import {\n FRM_TOPIC_FETCH_ALL,\n FRM_TOPIC_FETCH_ONE,\n FRM_TOPIC_CREATE,\n FRM_TOPIC_UPDATE,\n FRM_SUB_TOPIC_FETCH_ALL,\n FRM_SUB_TOPIC_FETCH_ONE,\n FRM_SUB_TOPIC_CREATE,\n FRM_SUB_TOPIC_UPDATE,\n FRM_QUS_FETCH_ONE,\n FRM_QUS_FETCH_ALL,\n FRM_QUS_TOPIC_FETCH_ALL,\n FRM_QUS_CREATE,\n FRM_QUS_UPDATE,\n FRM_ANS_FETCH_ALL,\n FRM_ANS_FETCH_ONE,\n FRM_ANS_CREATE,\n FRM_ANS_UPDATE,\n SHOW_LOADING,\n} from \"constants/actionTypes\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport * as api from \"../api/index.js\";\nimport Lodash from \"lodash\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\n// forum Topics\n\n// trans done\nexport const fetchFrmTopics = (history, t) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmTopics();\n if (data?.status === \"success\") {\n dispatch({ type: FRM_TOPIC_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n if (t) {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (t) {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ message: \"#1 Server is busy at the moment. Please retry again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n history.push(\"/public\");\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\n// seems not using\nexport const fetchFrmTopicById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmTopicById(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_TOPIC_FETCH_ONE, payload: data?.data });\n formData.redirect && router.push(formData.redirect);\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const createFrmTopic = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createFrmTopic(formData);\n dispatch({ type: FRM_TOPIC_CREATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"successfully created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateFrmTopic = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateFrmTopic(formData);\n dispatch({ type: FRM_TOPIC_UPDATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"successfully updated.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n formData.redirect && router.push(formData.redirect);\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// forum Sub Topics\n\n// no need trans\n// seems not using\nexport const fetchFrmSubTopics = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmSubTopics(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_SUB_TOPIC_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }] });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\n// seems not using\nexport const fetchFrmSubTopicById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmSubTopicById(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_SUB_TOPIC_FETCH_ONE, payload: data?.data });\n formData.redirect && router.push(formData.redirect);\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const createFrmSubTopic = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createFrmSubTopic(formData);\n dispatch({ type: FRM_SUB_TOPIC_CREATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"FAQ topic successfully created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/registered/faq_management\");\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateFrmSubTopic = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateFrmSubTopic(formData);\n dispatch({ type: FRM_SUB_TOPIC_UPDATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"FAQ status successfully updated.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/registered/faq_management\");\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// forum Questions\n\n// trans done\nexport const fetchFrmQus = (history, t) => async (dispatch) => {\n console.log(\"#### t\", t);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmQus();\n if (data?.status === \"success\") {\n dispatch({ type: FRM_QUS_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n if (t) {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (t) {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ message: \"#1 Server is busy at the moment. Please retry again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n history.push(\"/public\");\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\n// seems not using\nexport const fetchFrmQusbyTopics = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmQusbyTopics(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_QUS_TOPIC_FETCH_ALL, payload: data?.data });\n router.push(\"/registered/faq_questions\");\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\n// seems not using\nexport const fetchFrmQusbyId = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmQusbyId(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_QUS_FETCH_ONE, payload: data?.data });\n formData.redirect && router.push(formData.redirect);\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const createFrmQus = (formData, history, pathParam) => async (dispatch) => {\n if (LOGINSTATE) console.log(formData);\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createFrmQus(formData);\n dispatch({ type: FRM_QUS_CREATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"Question successfully created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (pathParam && !Lodash.isEmpty(pathParam?.path)) {\n history.push({ pathname: pathParam.path, state: pathParam.state });\n } else if (pathParam && Lodash.isBoolean(pathParam?.reload)) {\n history.go(0);\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateFrmQus = (formData, history, pathParam) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateFrmQus(formData);\n dispatch({ type: FRM_QUS_UPDATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"Question successfully updated.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (pathParam && !Lodash.isEmpty(pathParam?.path)) {\n history.push({ pathname: pathParam.path, state: pathParam.state });\n } else if (pathParam && Lodash.isBoolean(pathParam?.reload)) {\n history.go(0);\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n // if(LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// forum Answers\n\n// no need trans\n// seems not using\nexport const fetchFrmAns = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmAns(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_ANS_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\n// seems not using\nexport const fetchFrmAnsById = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchFrmAnsById(formData);\n if (data?.status === \"success\") {\n dispatch({ type: FRM_ANS_FETCH_ONE, payload: data?.data });\n formData.redirect && router.push(formData.redirect);\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const createFrmAns = (formData, history, pathParam) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.createFrmAns(formData);\n dispatch({ type: FRM_ANS_CREATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({ title: \"Success\", message: \"Answer successfully created.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (pathParam && !Lodash.isEmpty(pathParam?.path)) {\n history.push({ pathname: pathParam.path, state: pathParam.state });\n } else if (pathParam && Lodash.isBoolean(pathParam?.reload)) {\n history.go(0);\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need trans\nexport const updateFrmAns = (formData, history, pathParam) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"formData\", formData);\n if (LOGINSTATE) console.log(\"pathParam\", pathParam);\n\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.updateFrmAns(formData);\n dispatch({ type: FRM_ANS_UPDATE, payload: data });\n if (data?.status === \"success\") {\n confirmAlert({\n title: \"Success\",\n message: \"Answer successfully updated.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n if (pathParam && !Lodash.isEmpty(pathParam?.path)) {\n history.push({ pathname: pathParam.path, state: pathParam.state });\n } else if (pathParam && Lodash.isBoolean(pathParam?.reload)) {\n history.go(0);\n }\n },\n },\n ],\n });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\nexport const deleteFrmAns = (formData, history, pathParam) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"delete function is called\");\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.deleteFrmAns(formData);\n if (LOGINSTATE) console.log(\"delete response data: \", data);\n\n if (data?.status === \"success\") {\n confirmAlert({\n title: \"Success\",\n /*message: data?.message,*/ buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n // redirect to relevant page with state parameters (to populate the page), otherwise go back\n if (pathParam && !Lodash.isEmpty(pathParam?.path)) {\n history.push({ pathname: pathParam.path, state: pathParam.state });\n } else if (pathParam && Lodash.isBoolean(pathParam?.reload)) {\n history.go(0);\n }\n },\n },\n ],\n });\n } else if (data?.status === \"error\") {\n // if(LOGINSTATE) console.log(data);\n\n confirmAlert({ title: \"Error\", message: \"Couldn't perform the task.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n // if(LOGINSTATE) console.log(error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ title: \"Error\", message: \"Couldn't perform the task.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { fetchFrmTopics } from \"actions/forum\";\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\n\n// reactstrap components\nimport { Card, CardHeader, Media, Table, Container, Row, Button } from \"reactstrap\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport { Tooltip } from \"@material-ui/core\";\nimport NavigateNextIcon from \"@material-ui/icons/NavigateNext\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\nimport { updateFrmSubTopic } from \"actions/forum\";\nimport Lodash from \"lodash\";\nimport { confirmAlert } from \"react-confirm-alert\";\n\nconst ForumTableSubTopicRow = ({ topicId, subTopicId, subTopic, coverpic, description, status, subTopicClick, subTopicEdit, languageProp, statusClick, language }) => (\n \n \n \n {\n subTopicClick(e, topicId, subTopicId);\n }}\n >\n {coverpic ? (\n
\n {subTopic}\n
\n ) : null}\n \n {Lodash.find(language, { code: subTopic })?.name}\n \n \n
\n \n \n {description}\n \n
\n \n {\n subTopicEdit(e, topicId, subTopicId);\n }}\n >\n \n
\n \n \n {\n statusClick(e, topicId, subTopicId, status);\n }}\n >\n {status ? : }\n \n \n \n {\n subTopicClick(e, topicId, subTopicId);\n }}\n >\n \n \n \n \n \n \n);\n\nconst Forum = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n // get forum topics\n const forumalltopics = useSelector((state) => state.forum.frmAllTopics);\n console.log(\"forumalltopics\", forumalltopics);\n const language = useSelector((state) => state.masterData.languageAll);\n if (LOGINSTATE) console.log(\"language: \", language);\n\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics());\n dispatch(fetchMasterDataLanguageAll());\n }, []);\n\n const frmSubTopicUpdate = useSelector((state) => state.forum.frmSubTopicUpdate);\n useEffect(() => {\n if (frmSubTopicUpdate && !Lodash.isEmpty(frmSubTopicUpdate)) {\n dispatch(fetchFrmTopics());\n }\n }, [frmSubTopicUpdate]);\n\n // handle Click event of the SubTopic\n const handleSubTopicClick = (e, topicId, subTopicId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_questions\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId } });\n };\n\n // handle click event of add sub topic\n const handleAddSubTopicClick = (e, topicId, subTopic) => {\n e.preventDefault();\n console.log(\"subTopic\", subTopic);\n\n let finalLang = Lodash.reject(language, function (currentLang) {\n return Lodash.find(subTopic, { subTopic: currentLang.code });\n });\n if (LOGINSTATE) console.log(\"finalLang\", finalLang);\n if (Lodash.isEmpty(finalLang)) {\n confirmAlert({\n title: \"Error\",\n message: \"FAQ titles are exist for all languages.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {},\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n } else {\n history.push({ pathname: \"/registered/faq_sub_topic_form\", state: { frmTopicId: topicId, language: finalLang } });\n }\n };\n\n // handle click event of edit sub topic\n const handleEditSubTopicClick = (e, topicId, subTopicId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_sub_topic_form\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId, language: language } });\n };\n\n const handleStatusSubTopicClick = (e, topicId, subTopicId, status) => {\n e.preventDefault();\n dispatch(updateFrmSubTopic({ forumTopicId: topicId, forumSubTopicId: subTopicId, publish: !status }, history));\n };\n\n const handleAddQuestionClick = (e, topicId, subTopicId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_question_form\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId } });\n };\n\n return (\n <>\n \n {/* Page content */}\n \n {forumalltopics && forumalltopics.length > 0 ?\n
\n \n \n
\n
\n

{forumalltopics[1].topic}

\n {/*
{props.description}
*/}\n
\n
\n \n {\n handleAddSubTopicClick(e, forumalltopics[1]._id, forumalltopics[1].subTopic, language);\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n {Object.values(forumalltopics[1].subTopic).map((subprops, i) => {\n return (\n \n );\n })}\n \n
LanguageDescriptionActions
\n \n \n : null}\n
\n \n );\n};\n\nexport default Forum;\n","import * as actionType from \"constants/actionTypes\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Card, CardBody, CardTitle, Col, Container, Row } from \"reactstrap\";\n\n\nconst headImage = {\n dashboard: {\n fg: \"url(\" + require(\"../../assets/img/theme/dashboard.png\").default + \")\",\n bg: \"url(\" + require(\"../../assets/img/theme/dashboardBg.png\").default + \")\"\n },\n faq: {\n fg: \"url(\" + require(\"../../assets/img/theme/faq.png\").default + \")\",\n bg: \"url(\" + require(\"../../assets/img/theme/faqBg.png\").default + \")\"\n },\n takeAssessment: {\n fg: \"url(\" + require(\"../../assets/img/theme/takeAssessment.png\").default + \")\",\n bg: \"url(\" + require(\"../../assets/img/theme/takeAssessmentBg.png\").default + \")\"\n },\n resources: {\n fg: \"url(\" + require(\"../../assets/img/theme/resources.png\").default + \")\",\n bg: \"url(\" + require(\"../../assets/img/theme/resourcesBg.png\").default + \")\"\n },\n print: {\n fg: null,\n bg: \"url(\" + require(\"../../assets/img/theme/takeAssessmentBg.png\").default + \")\"\n }\n}\n\nconst Header = (props) => {\n\n useEffect(() => {\n // console.log(\"props by child: \", props?.hType);\n }, []);\n\n\n return (\n \n \n \n \n \n \n );\n\n // if (\"faq\" === props?.hType) {\n // return (\n // \n // \n // \n // \n // \n // \n // )\n // }\n // else if (\"takeAssessment\" === props?.hType) {\n // return (\n // \n // \n // \n // \n // \n // \n // )\n // }\n // else if (\"resources\" === props?.hType) {\n // return (\n // \n // \n // \n // \n // \n // \n // )\n // }\n // else {\n // return null;\n // }\n\n\n\n};\n\nexport default Header;\n","import React, { useState, useEffect } from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport Lodash from \"lodash\";\nimport { fetchFrmTopics, fetchFrmQus } from \"actions/forum\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { fetchMasterDataLanguageAll, fetchMasterDataLanguage } from \"actions/masterData\";\n\n// reactstrap components\nimport { Card, CardHeader, CardBody, Col, CardFooter, Table, Container, Row } from \"reactstrap\";\nimport Pagination from \"react-responsive-pagination\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport CommonHeader from \"components/Headers/CommonHeader\";\nimport FaqHeader from \"components/Headers/FaqHeader\";\n\nconst ForumTableSubTopicRow = ({ subTopicId, subTopic, language, rtlAlignment }) => (\n \n \n

{Lodash.find(language, { code: subTopic })?.name}

\n \n {/* {description} */}\n \n);\n\nconst ForumTableQuestionRow = ({ QusId, question, subTopic, jUser, rtlAlignment }) =>\n rtlAlignment === \"right\" ? (\n \n \n
\n
\n {question}\n
\n
\n \n {/* {qdescription} */}\n \n ) : (\n \n \n
\n {question}\n
\n \n {/* {qdescription} */}\n \n );\n\nconst ForumTableAnswerRow = ({ answerId, answer, subTopic, jUser, rtlAlignment }) =>\n rtlAlignment === \"right\" ? (\n \n \n
\n
{answer}
\n
\n \n {/* {ansdescription} */}\n \n ) : (\n \n \n
\n {answer}\n
\n \n {/* {ansdescription} */}\n \n );\n\nconst Faq = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n // get forum topics\n const forumalltopics = useSelector((state) => state.forum.frmAllTopics);\n const forumallquestions = useSelector((state) => state.forum.frmAllQus);\n\n // pagination\n const itemPageSize = 1;\n const [itemCurrent, setItemCurrent] = useState(1);\n const [itemPageContent, setItemPageContent] = useState([]);\n const [itemPageCount, setItemPageCount] = useState(1);\n // filter\n const [txtFilter, setTxtFilter] = useState(\"\");\n const [filterdContent, setFilterdContent] = useState([]);\n\n const language = useSelector((state) => state.masterData.languageAll);\n if (LOGINSTATE) console.log(\"forumalltopics: \", forumalltopics);\n if (LOGINSTATE) console.log(\"language: \", language);\n\n // set state topic id\n const [topicId, setTopicId] = useState(null);\n // set state topic\n const [topic, setTopic] = useState(null);\n // set state sub topic id\n const [subTopicId, setSubTopicId] = useState(null);\n // set state sub topic\n const [subTopic, setSubTopic] = useState(null);\n // set state sub topic description\n const [subTopicDescription, setSubTopicDescription] = useState(null);\n const [faqLanguages, setFaqLanguage] = useState([]);\n\n const [QusId, setQ] = useState(null);\n const [question, setQuestions] = useState(null);\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n const { t, i18n } = useTranslation();\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n console.log(\"userLanguage\", userLanguage);\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics(history, t));\n dispatch(fetchFrmQus(history, t));\n dispatch(fetchMasterDataLanguageAll());\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n useEffect(() => {\n if (subTopic && subTopicId) {\n setQ(subTopic._id);\n setQuestions(subTopic.topic);\n }\n }, [forumalltopics, forumallquestions]);\n\n // process content with filter\n useEffect(() => {\n // 1. filter the users form the filter\n let updatedOrgs = Lodash.filter(forumalltopics[1]?.subTopic, function (item) {\n return item.subTopic.indexOf(txtFilter) > -1;\n });\n setFilterdContent(updatedOrgs);\n }, [forumalltopics, txtFilter]);\n\n // process the pagination with page content\n useEffect(() => {\n if (LOGINSTATE) console.log(\"filterdContent.length: \", filterdContent.length);\n if (LOGINSTATE) console.log(\"filtered cont\", filterdContent);\n // Set the pagination count\n if (uRole === \"ADMIN\") {\n let currentPageCount = Math.ceil(filterdContent.length / itemPageSize);\n setItemPageCount(currentPageCount);\n\n // Set the pagination content\n if (filterdContent && filterdContent.length > 0) {\n // make sure the page doesn't exceed the array endings\n let startCount = (itemCurrent - 1) * itemPageSize < 0 ? 0 : (itemCurrent - 1) * itemPageSize;\n let endCount = itemCurrent * itemPageSize > filterdContent.length ? filterdContent.length : itemCurrent * itemPageSize;\n\n let updatedArray = Lodash.slice(filterdContent, startCount, endCount);\n if (updatedArray && updatedArray.length > 0) {\n setItemPageContent(updatedArray);\n } else {\n setItemPageContent([]);\n }\n } else {\n setItemPageContent([]);\n }\n if (LOGINSTATE) console.log(\"item page\", itemPageContent);\n } else {\n setItemPageContent(filterdContent);\n // let currentPageCount = Math.ceil(filterdContent.length / filterdContent.length);\n // setItemPageCount(currentPageCount);\n\n // // Set the pagination content\n // if (filterdContent && filterdContent.length > 0) {\n // // make sure the page doesn't exceed the array endings\n // let startCount = (itemCurrent - 1) * itemPageSize < 0 ? 0 : (itemCurrent - 1) * itemPageSize;\n // let endCount = itemCurrent * itemPageSize > filterdContent.length ? filterdContent.length : itemCurrent * itemPageSize;\n\n // let updatedArray = Lodash.slice(filterdContent, startCount, endCount);\n // if (updatedArray && updatedArray.length > 0) {\n // setItemPageContent(updatedArray);\n // } else {\n // setItemPageContent([]);\n // }\n // } else {\n // setItemPageContent([]);\n // }\n if (LOGINSTATE) console.log(\"item page\", itemPageContent);\n }\n }, [itemCurrent, filterdContent]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n return (\n <>\n \n {/* */}\n\n {/* Page content */}\n \n {forumalltopics.length > 0 &&\n Object.values([forumalltopics[1]]).map((props, i) => {\n return (\n \n
\n \n \n
\n
\n

\n {t(\"faq.\" + props.topic)}\n

\n {/*
{props.description}
*/}\n
\n
\n {/* {console.log(\"props **********\", props)} */}\n
\n \n \n {/* {itemPageContent &&\n itemPageContent.length > 0 &&\n itemPageContent.map((item, i) => { */}\n {uRole === \"ADMIN\"\n ? Object.values(itemPageContent).map((subprops, i) => {\n if (LOGINSTATE) console.log(\"sub\", subprops);\n return (\n \n <>\n \n {Lodash.filter(forumallquestions, {\n subTopic: subprops._id,\n }).map((index, j) => {\n {\n // console.log(\"id\", subprops._id);\n // console.log(\"loop 2\" + j, index);\n }\n return (\n \n \n\n {Object.values(index.answer).map((ans, l) => {\n return ;\n })}\n \n );\n })}\n \n \n );\n })\n : jUser.user.language !== \" \" && Lodash.filter(itemPageContent, { subTopic: jUser.user.language, status: true }).length > 0\n ? Object.values(Lodash.filter(itemPageContent, { subTopic: jUser.user.language, status: true })).map((subprops, i) => {\n if (LOGINSTATE) console.log(\"sub\", subprops);\n\n return (\n \n <>\n \n {Lodash.filter(forumallquestions, {\n subTopic: subprops._id,\n }).map((index, j) => {\n {\n // console.log(\"id\", subprops._id);\n // console.log(\"loop 2\" + j, index);\n }\n return (\n \n \n\n {Object.values(index.answer).map((ans, l) => {\n return ;\n })}\n \n );\n })}\n \n \n );\n })\n : jUser.user.language === null\n ? Object.values(Lodash.filter(itemPageContent, { subTopic: \"en\" })).map((subprops, i) => {\n if (LOGINSTATE) console.log(\"sub\", subprops);\n\n return (\n \n <>\n \n {Lodash.filter(forumallquestions, {\n subTopic: subprops._id,\n }).map((index, j) => {\n {\n // console.log(\"id\", subprops._id);\n // console.log(\"loop 2\" + j, index);\n }\n return (\n \n \n\n {Object.values(index.answer).map((ans, l) => {\n return ;\n })}\n \n );\n })}\n \n \n );\n })\n : Object.values(Lodash.filter(itemPageContent, { subTopic: \"en\" })).map((subprops, i) => {\n if (LOGINSTATE) console.log(\"sub\", subprops);\n return (\n \n <>\n \n {Lodash.filter(forumallquestions, {\n subTopic: subprops._id,\n }).map((index, j) => {\n {\n // console.log(\"id\", subprops._id);\n // console.log(\"loop 2\" + j, index);\n }\n return (\n \n \n\n {Object.values(index.answer).map((ans, l) => {\n return ;\n })}\n \n );\n })}\n \n \n );\n })}\n
\n
\n \n \n \n {itemPageCount && itemPageCount > 0 ? (\n {\n setItemCurrent(current);\n }}\n />\n ) : null}\n \n \n \n
\n
\n
\n );\n })}\n
\n \n );\n};\n\nexport default Faq;\n","import { fetchFrmQus, fetchFrmTopics } from \"actions/forum\";\r\nimport Lodash from \"lodash\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n// reactstrap components\r\nimport { Card, CardBody, CardHeader, Container, Row, Table, Col } from \"reactstrap\";\r\n\r\n// core components\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport CommonHeader from \"components/Headers/CommonHeader\";\r\n\r\nimport { fetchMasterDataLanguage, fetchLocalizationContent } from \"actions/masterData\";\r\nimport { LANGUAGE } from \"constants/actionTypes\";\r\n\r\nimport { CryptoPassword, initialValues_assessmentPage, RTL_FLAG_RIGHT, RTL_FLAG_LEFT } from \"helper\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\n\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\nconst ForumTableQuestionRow = ({ QusId, question, subTopicId, qdescription, rtlAlignment }) => (\r\n \r\n \r\n {question}\r\n \r\n \r\n);\r\n\r\nconst ForumTableAnswerRow = ({ answerId, answer, ansdescription, rtlAlignment }) => (\r\n \r\n \r\n

\r\n {answer}\r\n

\r\n \r\n
\r\n);\r\n\r\nconst FaqPublic = (props) => {\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n // get forum topics\r\n const forumalltopics = useSelector((state) => state.forum.frmAllTopics);\r\n const forumallquestions = useSelector((state) => state.forum.frmAllQus);\r\n\r\n const [subTopicId, setSubTopicId] = useState(null);\r\n // set state sub topic\r\n const [subTopic, setSubTopic] = useState(null);\r\n\r\n const [QusId, setQ] = useState(null);\r\n const [question, setQuestions] = useState(null);\r\n\r\n const [rtlAlignment, setRtlAlignment] = useState(RTL_FLAG_LEFT);\r\n const [languageCode, setLanguageCode] = useState(props?.location?.state?.languageCode);\r\n\r\n const { t, i18n } = useTranslation();\r\n\r\n useEffect(() => {\r\n // fetching forum topics\r\n dispatch(fetchFrmTopics(history, t));\r\n dispatch(fetchFrmQus(history, t));\r\n }, []);\r\n\r\n\r\n const userLang = useSelector((state) => state.masterData.languageByCode);\r\n if (LOGINSTATE) console.log(\"userLanguage\", userLang);\r\n\r\n useEffect(() => {\r\n userLang &&\r\n userLang.language &&\r\n Object.values(userLang.language).map((lang, i) => {\r\n if (lang && lang.dir === \"rtl\") {\r\n setRtlAlignment(RTL_FLAG_RIGHT);\r\n } else {\r\n setRtlAlignment(RTL_FLAG_LEFT);\r\n }\r\n const params = { languageCode: lang.code };\r\n dispatch(fetchLocalizationContent(params, history));\r\n\r\n i18n.changeLanguage(lang.code);\r\n setLanguageCode(lang.code);\r\n });\r\n }, [userLang]);\r\n\r\n useEffect(() => {\r\n if (subTopic && subTopicId) {\r\n setQ(subTopic._id);\r\n setQuestions(subTopic.topic);\r\n }\r\n }, [forumalltopics, forumallquestions]);\r\n\r\n return (\r\n <>\r\n \r\n {/* */}\r\n\r\n {/* Page content */}\r\n \r\n {forumalltopics.length > 0 &&\r\n [forumalltopics[1]].map((props, i) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

{t('faq.Frequently Asked Questions (FAQs)')}

\r\n {/*

{props.topic}

*/}\r\n {/*
{props.description}
*/}\r\n
\r\n
\r\n
\r\n \r\n {!Lodash.isEmpty(Lodash.filter(props.subTopic, { subTopic: languageCode }))\r\n ? Object.values(Lodash.filter(props.subTopic, { subTopic: languageCode })).map((subprops, i) => {\r\n return (\r\n <>\r\n {Lodash.filter(forumallquestions, { subTopic: subprops._id }).map((index, j) => {\r\n return (\r\n
\r\n \r\n\r\n {Object.values(index.answer).map((ans, l) => {\r\n return ;\r\n })}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n })\r\n : Object.values(Lodash.filter(props.subTopic, { subTopic: \"en\" })).map((subprops, i) => {\r\n return (\r\n <>\r\n {Lodash.filter(forumallquestions, { subTopic: subprops._id }).map((index, j) => {\r\n return (\r\n
\r\n \r\n\r\n {Object.values(index.answer).map((ans, l) => {\r\n return ;\r\n })}\r\n
\r\n );\r\n })}\r\n \r\n );\r\n })}\r\n {/* */}\r\n
\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default FaqPublic;\r\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { fetchFrmTopics, fetchFrmQus, deleteFrmAns } from \"actions/forum\";\n\n// reactstrap components\nimport { Card, CardHeader, Table, Container, Row, CardFooter, Col, Button } from \"reactstrap\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { GlobalStylesColor, ChsStyles } from \"constants/globalStyles\";\nimport { Tooltip } from \"@material-ui/core\";\nimport NavigateNextIcon from \"@material-ui/icons/NavigateNext\";\nimport { confirmAlert } from \"react-confirm-alert\";\n\nconst ForumTableQuestionRow = ({ topicId, subTopicId, QusId, question, description, questionClick, questionEdit, questionDelete }) => (\n \n {question}\n {description}\n \n
\n \n {\n questionEdit(e, topicId, subTopicId, QusId);\n }}\n >\n \n
\n \n \n {\n confirmAlert({\n title: 'Confirm delete',\n buttons: [\n { label: \"No\", onClick: () => { } },\n {\n label: \"Yes\", onClick: () => {\n questionDelete(e, QusId);\n }\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false\n });\n }}\n >\n \n \n \n \n {\n questionClick(e, topicId, subTopicId, QusId);\n }}\n >\n \n \n \n \n \n \n);\n\nconst ForumSubTopic = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state topic id\n const [topicId, setTopicId] = useState(null);\n // set state topic\n const [topic, setTopic] = useState(null);\n // set state topic description\n const [topicDescription, setTopicDescription] = useState(null);\n // set state sub topic id\n const [subTopicId, setSubTopicId] = useState(null);\n // set state sub topic\n const [subTopic, setSubTopic] = useState(null);\n // set state sub topic description\n const [subTopicDescription, setSubTopicDescription] = useState(null);\n // get topic details\n const selectFrmTopic = (state) => {\n const itemArray = state.forum.frmAllTopics?.filter((item) => {\n return item._id === props.location.state?.frmTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const topicDetails = useSelector(selectFrmTopic);\n // get sub topic details\n const selectFrmSubTopic = (topicDetails) => {\n const itemArray =\n topicDetails?.subTopic?.length > 0 &&\n topicDetails?.subTopic?.filter((item) => {\n return item._id === props.location.state?.frmSubTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const subTopicDetails = selectFrmSubTopic(topicDetails);\n // get Questions details by topic\n const selectFrmQuestions = (state) => {\n const itemArray = state.forum.frmAllQus?.filter((item) => {\n return item.subTopic === props.location.state?.frmSubTopicId;\n });\n if (itemArray) {\n return itemArray;\n }\n };\n const frmQuestionsByTopic = useSelector(selectFrmQuestions);\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics());\n // fetching forum Articles\n dispatch(fetchFrmQus());\n }, []);\n\n useEffect(() => {\n if (topicDetails && topicDetails._id) {\n setTopicId(topicDetails._id);\n setTopic(topicDetails.topic);\n setTopicDescription(topicDetails.description);\n }\n if (subTopicDetails && subTopicDetails._id) {\n setSubTopicId(subTopicDetails._id);\n setSubTopic(subTopicDetails.subTopic);\n setSubTopicDescription(subTopicDetails.description);\n }\n }, [topicDetails, subTopicDetails]);\n\n // handle Click event of the SubTopic\n const handleQuestionClick = (e, topicId, subTopicId, questionId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_answers\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId, frmQuestionId: questionId } });\n };\n\n const handleAddQuestionClick = (e, topicId, subTopicId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_question_form\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId } });\n };\n\n const handleEditQuestionClick = (e, topicId, subTopicId, questionId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_question_form\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId, frmQuestionId: questionId } });\n };\n\n const handleAddAnswerClick = (e, questionId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_answer_form\", state: { frmQuestionId: questionId } });\n };\n\n const handleDeleteAnswerClick = (e, questionId) => {\n e.preventDefault();\n let pathParam = {\n path: \"/registered/faq_management\",\n state: {},\n };\n let formData = { forumQuestionId: questionId };\n dispatch(deleteFrmAns(formData, history, pathParam));\n };\n\n return (\n <>\n \n {/* Page content */}\n \n \n
\n \n \n
\n
\n {topic && topic}    > \n

{subTopic && subTopic}

\n
{subTopicDescription && subTopicDescription}
\n
\n
\n \n {\n handleAddQuestionClick(e, topicId, subTopicId);\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n {frmQuestionsByTopic.length > 0 &&\n Object.values(frmQuestionsByTopic).map((props, i) => {\n return (\n \n );\n })}\n \n
QuestionsDescriptionActions
\n \n
\n \n {\n history.push({ pathname: \"/registered/faq_management\" });\n }}\n >\n BACK\n \n \n
\n
\n \n \n
\n
\n \n );\n};\n\nexport default ForumSubTopic;\n","import React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { fetchFrmTopics, fetchFrmQus, deleteFrmAns } from \"actions/forum\";\n\n// reactstrap components\nimport {\n // Badge,\n Card,\n CardHeader,\n Table,\n Container,\n Row,\n CardFooter,\n Col,\n Button,\n} from \"reactstrap\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { GlobalStylesColor, ChsStyles } from \"constants/globalStyles\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { confirmAlert } from \"react-confirm-alert\";\n\nconst ForumTableAnswerRow = ({ questionId, answerId, answer, image, description, status, answerEdit, answerStatus, answerDelete }) => (\n \n {answer}\n {description}\n \n
\n \n {\n answerEdit(e, questionId, answerId);\n }}\n >\n \n
\n \n \n {\n confirmAlert({\n title: 'Confirm delete',\n buttons: [\n { label: \"No\", onClick: () => { } },\n {\n label: \"Yes\", onClick: () => {\n answerDelete(e, questionId, answerId);\n }\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false\n });\n }}\n >\n \n \n \n \n \n \n);\n\nconst ForumQuestion = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state topic id\n const [topicId, setTopicId] = useState(null);\n // set state topic\n const [topic, setTopic] = useState(null);\n // set state topic description\n const [topicDescription, setTopicDescription] = useState(null);\n // set state sub topic id\n const [subTopicId, setSubTopicId] = useState(null);\n // set state sub topic\n const [subTopic, setSubTopic] = useState(null);\n // set state sub topic description\n const [subTopicDescription, setSubTopicDescription] = useState(null);\n // get topic details\n const selectFrmTopic = (state) => {\n const itemArray = state.forum.frmAllTopics?.filter((item) => {\n return item._id === props.location.state?.frmTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const topicDetails = useSelector(selectFrmTopic);\n // get sub topic details\n const selectFrmSubTopic = (topicDetails) => {\n const itemArray =\n topicDetails?.subTopic?.length > 0 &&\n topicDetails?.subTopic?.filter((item) => {\n return item._id === props.location.state?.frmSubTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const subTopicDetails = selectFrmSubTopic(topicDetails);\n // get Question details\n const selectFrmQuestion = (state) => {\n const itemArray = state.forum.frmAllQus?.filter((item) => {\n return item._id === props.location.state?.frmQuestionId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const frmQuestion = useSelector(selectFrmQuestion);\n\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics());\n // fetching forum Questions\n dispatch(fetchFrmQus());\n }, []);\n\n useEffect(() => {\n if (topicDetails && topicDetails._id) {\n setTopicId(topicDetails._id);\n setTopic(topicDetails.topic);\n setTopicDescription(topicDetails.description);\n }\n if (subTopicDetails && subTopicDetails._id) {\n setSubTopicId(subTopicDetails._id);\n setSubTopic(subTopicDetails.subTopic);\n setSubTopicDescription(subTopicDetails.description);\n }\n }, [topicDetails, subTopicDetails]);\n\n const handleStatusAnswerClick = (e, topicId, subTopicId, questionId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_question_form\", state: { frmTopicId: topicId, frmSubTopicId: subTopicId, frmQuestionId: questionId } });\n };\n\n const handleAddAnswerClick = (e, questionId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_answer_form\", state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId, frmQuestionId: questionId } });\n };\n\n const handleEditAnswerClick = (e, questionId, answerId) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/faq_answer_form\", state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId, frmQuestionId: questionId, frmAnswerId: answerId } });\n };\n\n const handleDeleteAnswerClick = (e, questionId, answerId) => {\n e.preventDefault();\n let pathParam = {\n path: \"/registered/faq_questions\",\n state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId },\n };\n let formData = { forumQuestionId: questionId, forumAnswerId: answerId };\n dispatch(deleteFrmAns(formData, history, pathParam));\n };\n\n return (\n <>\n \n {/* Page content */}\n \n \n \n {frmQuestion && Object.keys(frmQuestion).length > 0 && (\n \n \n
\n
\n \n {topic && topic}    >   {subTopic && subTopic}   >\n \n

\n
{frmQuestion.description}
\n
\n
\n \n {\n handleAddAnswerClick(e, frmQuestion._id);\n }}\n >\n \n
\n \n
\n \n
\n\n \n \n \n \n \n \n \n \n \n \n {frmQuestion.answer.length > 0 &&\n Object.values(frmQuestion.answer).map((props, i) => {\n return (\n \n );\n })}\n \n
AnswersDescriptionActions
\n\n \n
\n \n {\n history.push({pathname: \"/registered/faq_management\"});\n\n }}\n >\n BACK\n \n \n
\n
\n
\n
\n )}\n \n
\n
\n \n );\n};\n\nexport default ForumQuestion;\n","import React, { useEffect } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as yup from \"yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { ChsStyles } from \"constants/globalStyles\";\n\n// reactstrap components\nimport { Card, CardHeader, CardBody, CardFooter, Container, FormGroup, Form, Button, Row } from \"reactstrap\";\n\nimport { TextField, Grid } from \"@material-ui/core\";\n\nimport { fetchFrmTopics, createFrmTopic, updateFrmTopic } from \"actions/forum\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst validationSchemaTopic = yup.object({\n topic: yup.string(\"Enter contact title\").min(3, \"Description should be of minimum 3 characters length\").max(2000, \"Contact title should be of maximum 2000 characters length\").required(\"Contact title is required\"),\n description: yup.string(\"Enter contact description\").min(5, \"Description should be of minimum 5 characters length\").max(2000, \"Description should be of maximum 2000 characters length\"),\n status: yup.boolean(\"Enter contact Status\"),\n});\n\nconst ForumTopicForm = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // get state topic details\n const selectFrmTopic = (state) => {\n const itemArray = state.forum.frmAllTopics?.filter((item) => {\n return item._id === props.location.state?.frmTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const topicdetails = useSelector(selectFrmTopic);\n\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics());\n }, []);\n\n useEffect(() => {\n if (topicdetails && topicdetails._id) {\n formik.values.forumTopicId = topicdetails._id;\n formik.values.topic = topicdetails.topic;\n formik.values.description = topicdetails.description;\n formik.values.status = topicdetails.status;\n }\n if(LOGINSTATE) console.log(formik.values);\n }, [topicdetails]);\n\n const formik = useFormik({\n initialValues: {\n forumTopicId: \"\",\n topic: \"\",\n description: \"\",\n status: true,\n redirect: \"/registered/forum\",\n },\n validationSchema: validationSchemaTopic,\n onSubmit: (values, onSubmitProps) => {\n if (values.forumTopicId) {\n dispatch(updateFrmTopic(values, history));\n } else {\n dispatch(createFrmTopic(values, history));\n }\n if (LOGINSTATE) console.log(values);\n onSubmitProps.setSubmitting(false);\n onSubmitProps.resetForm();\n },\n });\n\n return (\n <>\n \n {/* Page content */}\n \n {/* Table School */}\n \n
\n \n \n

Topic Details

\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 window.history.back();\n }}\n >\n BACK\n \n
\n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n );\n};\n\nexport default ForumTopicForm;\n","import React, { useState, useEffect } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as yup from \"yup\";\nimport Lodash from \"lodash\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { ChsStyles } from \"constants/globalStyles\";\n\n// reactstrap components\nimport { Card, CardHeader, CardBody, CardFooter, Container, FormGroup, Form, Button, Row, Col } from \"reactstrap\";\n\nimport { TextField, Grid } from \"@material-ui/core\";\n\nimport { fetchFrmTopics, createFrmSubTopic, updateFrmSubTopic } from \"actions/forum\";\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst validationSchemaSubTopic = yup.object({\n subTopic: yup.string(\"Enter contact title\").min(2, \"Description should be of minimum 2 characters length\").max(2000, \"Contact title should be of maximum 2000 characters length\").required(\"Contact title is required\"),\n description: yup.string(\"Enter contact description\").min(5, \"Description should be of minimum 5 characters length\").max(2000, \"Description should be of maximum 2000 characters length\"),\n});\n\nconst ForumSubTopicForm = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state topic\n const [topic, setTopic] = useState(null);\n // set state topic description\n const [topicDescription, setTopicDescription] = useState(null);\n //set state edit or not\n const [isEdit, setIsEdit] = useState(false);\n\n if(LOGINSTATE) console.log(\"props\", props);\n\n // get topic details\n const selectFrmTopic = (state) => {\n const itemArray = state.forum.frmAllTopics?.filter((item) => {\n return item._id === props.location.state?.frmTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const topicDetails = useSelector(selectFrmTopic);\n // get sub topic details\n const selectFrmSubTopic = (topicDetails) => {\n const itemArray =\n topicDetails?.subTopic?.length > 0 &&\n topicDetails?.subTopic?.filter((item) => {\n return item._id === props.location.state?.frmSubTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n\n const subTopicDetails = selectFrmSubTopic(topicDetails);\n const language = useSelector((state) => state.masterData.languageAll);\n\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics());\n }, []);\n\n useEffect(() => {\n if (topicDetails && topicDetails._id) {\n formik.values.forumTopicId = topicDetails._id;\n setTopic(topicDetails.topic);\n setTopicDescription(topicDetails.description);\n }\n if (subTopicDetails && subTopicDetails._id) {\n formik.values.forumSubTopicId = subTopicDetails._id;\n formik.values.subTopic = subTopicDetails.subTopic;\n formik.values.description = subTopicDetails.description;\n formik.values.status = subTopicDetails.status;\n }\n dispatch(fetchMasterDataLanguageAll());\n\n //edit or new\n if (props.location.state?.frmSubTopicId) {\n setIsEdit(true);\n } else {\n }\n if(LOGINSTATE) console.log(\"subTopicDetails\", subTopicDetails);\n }, [topicDetails, subTopicDetails]);\n\n const formik = useFormik({\n initialValues: {\n forumTopicId: \"\",\n forumSubTopicId: \"\",\n subTopic: \"\",\n description: \"\",\n status: true,\n redirect: \"/registered/forum\",\n },\n validationSchema: validationSchemaSubTopic,\n onSubmit: (values, onSubmitProps) => {\n if (values.forumTopicId && values.forumSubTopicId) {\n if(LOGINSTATE) console.log(\"values\", values);\n dispatch(updateFrmSubTopic(values, history));\n } else {\n dispatch(createFrmSubTopic(values, history));\n }\n },\n });\n\n return (\n <>\n \n {/* Page content */}\n \n {/* Table School */}\n \n
\n \n \n

Localization Details

\n
\n
\n \n \n \n \n \n \n \n \n \n {!Lodash.isEmpty(props.location.state?.language) &&\n props.location.state?.language.map((item, i) => (\n \n ))}\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n {\n history.push({pathname: \"/registered/faq_management\"});\n }}\n >\n BACK\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default ForumSubTopicForm;\n","import React, { useState, useEffect } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as yup from \"yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { ChsStyles } from \"constants/globalStyles\";\n\n// reactstrap components\nimport { Card, CardHeader, CardBody, CardFooter, Container, FormGroup, Form, Button, Row, Col } from \"reactstrap\";\n\nimport { TextField, FormControlLabel, Switch, Grid } from \"@material-ui/core\";\nimport { fetchFrmTopics, fetchFrmQus, createFrmQus, updateFrmQus } from \"actions/forum\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst validationSchemaQuestion = yup.object({\n question: yup.string(\"Enter Question text\").required(\"Question is required\"),\n description: yup.string(\"Enter Question description\").min(3, \"Description should be of minimum 3 characters length\").max(2000, \"Description should be of maximum 2000 characters length\"),\n});\n\nconst ForumQuestionFrom = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state topic id\n const [topicId, setTopicId] = useState(null);\n // set state topic\n const [topic, setTopic] = useState(null);\n // set state topic description\n const [topicDescription, setTopicDescription] = useState(null);\n // set state sub topic id\n const [subTopicId, setSubTopicId] = useState(null);\n // set state sub topic\n const [subTopic, setSubTopic] = useState(null);\n // set state sub topic description\n const [subTopicDescription, setSubTopicDescription] = useState(null);\n // get topic details\n const selectFrmTopic = (state) => {\n const itemArray = state.forum.frmAllTopics?.filter((item) => {\n return item._id === props.location.state?.frmTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const topicDetails = useSelector(selectFrmTopic);\n // get sub topic details\n const selectFrmSubTopic = (topicDetails) => {\n const itemArray =\n topicDetails?.subTopic?.length > 0 &&\n topicDetails?.subTopic?.filter((item) => {\n return item._id === props.location.state?.frmSubTopicId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const subTopicDetails = selectFrmSubTopic(topicDetails);\n // get Question details\n const selectFrmQuestion = (state) => {\n const itemArray = state.forum.frmAllQus?.filter((item) => {\n return item._id === props.location.state?.frmQuestionId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const frmQuestion = useSelector(selectFrmQuestion);\n\n useEffect(() => {\n // fetching forum topics\n dispatch(fetchFrmTopics());\n // fetching forum Questions\n dispatch(fetchFrmQus());\n }, []);\n\n useEffect(() => {\n if (topicDetails && topicDetails._id) {\n setTopicId(topicDetails._id);\n setTopic(topicDetails.topic);\n setTopicDescription(topicDetails.description);\n }\n if (subTopicDetails && subTopicDetails._id) {\n setSubTopicId(subTopicDetails._id);\n formik.values.subTopicId = subTopicDetails._id;\n setSubTopic(subTopicDetails.subTopic);\n setSubTopicDescription(subTopicDetails.description);\n }\n if (frmQuestion && frmQuestion._id) {\n formik.values.forumQuestionId = frmQuestion._id;\n formik.values.subTopicId = frmQuestion.subTopic;\n formik.values.question = frmQuestion.question;\n formik.values.keyWord = frmQuestion.keyWord;\n formik.values.description = frmQuestion.description;\n formik.values.status = frmQuestion.status;\n setImage(frmQuestion.image && frmQuestion.image.length !== 0 ? frmQuestion.image : [\"\"]);\n }\n }, [topicDetails, subTopicDetails, frmQuestion]);\n\n // set state image list\n const [listImage, setImage] = useState([\"\"]);\n\n const formik = useFormik({\n initialValues: {\n subTopicId: \"\",\n forumQuestionId: \"\",\n question: \"\",\n image: [],\n keyWord: [],\n description: \"\",\n status: true,\n redirect: \"/registered/faq_questions\",\n },\n validationSchema: validationSchemaQuestion,\n onSubmit: (values, onSubmitProps) => {\n values.image = listImage.filter((el) => {\n return el !== null && el !== \"\";\n });\n if (LOGINSTATE) console.log(\"values\", values);\n if (values.subTopicId) {\n if (values.forumQuestionId) {\n let pathParam = {\n path: \"/registered/faq_questions\",\n state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId, frmQuestionId: props.location.state?.frmQuestionId },\n };\n let formData = { forumQuestionId: values.forumQuestionId, description: values.description, question: values.question };\n dispatch(updateFrmQus(formData, history, pathParam));\n } else {\n let pathParam = {\n path: \"/registered/faq_questions\",\n state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId, frmQuestionId: props.location.state?.frmQuestionId },\n };\n let formData = { subTopicId: props.location.state?.frmSubTopicId, forumQuestionId: values.forumQuestionId, description: values.description, question: values.question };\n dispatch(createFrmQus(formData, history, pathParam));\n }\n }\n },\n onReset: () => {\n setImage([\"\"]);\n },\n });\n\n return (\n <>\n \n {/* Page content */}\n \n {/* Table School */}\n \n
\n \n \n

Question Details

\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 history.push({pathname: \"/registered/faq_management\"});\n }}\n >\n BACK\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default ForumQuestionFrom;\n","import React, { useState, useEffect } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as yup from \"yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { ChsStyles } from \"constants/globalStyles\";\n\n// reactstrap components\nimport { Card, CardHeader, CardBody, CardFooter, Container, FormGroup, Form, Button, Row, Col } from \"reactstrap\";\n\nimport { TextField, Grid } from \"@material-ui/core\";\n\nimport { fetchFrmQus, createFrmAns, updateFrmAns } from \"actions/forum\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst validationSchemaAnswer = yup.object({\n answer: yup.string(\"Enter Answer text\").required(\"Answer is required\"),\n description: yup.string(\"Enter Answer description\").min(3, \"Description should be of minimum 3 characters length\").max(2000, \"Description should be of maximum 2000 characters length\"),\n status: yup.boolean(\"Enter Answer Status\"),\n});\n\nconst ForumAnswerForm = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // get Question details\n const selectFrmQuestion = (state) => {\n const itemArray = state.forum.frmAllQus?.filter((item) => {\n return item._id === props.location.state?.frmQuestionId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const frmQuestion = useSelector(selectFrmQuestion);\n if(LOGINSTATE) console.log(\"props.location\", props.location);\n // get Answer details\n const selectFrmAnswer = (frmQuestion) => {\n const itemArray =\n frmQuestion?.answer?.length > 0 &&\n frmQuestion?.answer?.filter((item) => {\n return item._id === props.location.state?.frmAnswerId;\n });\n if (itemArray && itemArray[0]) {\n return itemArray[0];\n }\n };\n const frmAnswer = selectFrmAnswer(frmQuestion);\n if(LOGINSTATE) console.log(props.location);\n if(LOGINSTATE) console.log(frmQuestion);\n if(LOGINSTATE) console.log(props.location.state?.frmAnswerId);\n if(LOGINSTATE) console.log(frmAnswer);\n useEffect(() => {\n // fetching forum Questions\n dispatch(fetchFrmQus());\n }, []);\n\n useEffect(() => {\n if (frmQuestion && frmQuestion._id) {\n formik.values.forumQuestionId = frmQuestion._id;\n }\n if (frmAnswer && frmAnswer._id) {\n formik.values.forumAnswerId = frmAnswer._id;\n formik.values.answer = frmAnswer.answer;\n formik.values.description = frmAnswer.description;\n formik.values.status = frmAnswer.status;\n // setImage(frmAnswer.image.length !== 0 ? frmAnswer.image : ['']);\n }\n }, [frmQuestion, frmAnswer]);\n\n // set state image list\n const [listImage, setImage] = useState([\"\"]);\n\n // handle change event of the Image list\n const handleImageChange = (e, index) => {\n const list = [...listImage];\n let reader = new FileReader();\n formik.values.image[index] = e.target.files[0];\n reader.addEventListener(\"load\", function (e) {\n list[index] = e.target.result;\n });\n reader.readAsDataURL(e.target.files[0]);\n setImage(list);\n };\n\n // handle click event of the Remove button of Image\n const handleRemoveImageClick = (index) => {\n const list = [...listImage];\n list.splice(index, 1);\n setImage(list);\n };\n\n // handle click event of the Add button of Image\n const handleAddImageClick = () => {\n setImage([...listImage, \"\"]);\n };\n\n const formik = useFormik({\n initialValues: {\n forumQuestionId: \"\",\n forumAnswerId: \"\",\n answer: \"\",\n image: [],\n description: \"\",\n status: true,\n redirect: \"/registered/forum\",\n },\n validationSchema: validationSchemaAnswer,\n onSubmit: (values, onSubmitProps) => {\n values.image = listImage.filter((el) => {\n return el !== null && el !== \"\";\n });\n if (values.forumQuestionId && values.forumAnswerId) {\n let pathParam = {\n path: \"/registered/faq_questions\",\n state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId, forumQuestionId: props.location.state?.frmQuestionId },\n };\n let formData = { forumQuestionId: values.forumQuestionId, forumAnswerId: values.forumAnswerId, description: values.description, answer: values.answer };\n dispatch(updateFrmAns(formData, history, pathParam));\n } else {\n let pathParam = {\n path: \"/registered/faq_questions\",\n state: { frmTopicId: props.location.state?.frmTopicId, frmSubTopicId: props.location.state?.frmSubTopicId, forumQuestionId: props.location.state?.frmQuestionId },\n };\n let formData = { forumQuestionId: values.forumQuestionId, forumAnswerId: values.forumAnswerId, description: values.description, answer: values.answer };\n dispatch(createFrmAns(formData, history, pathParam));\n }\n },\n onReset: () => {\n setImage([\"\"]);\n },\n });\n\n return (\n <>\n \n {/* Page content */}\n \n {/* Table School */}\n \n
\n \n \n

Answer Details

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

\n

{frmQuestion && frmQuestion?.description}

\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 history.push({pathname: \"/registered/faq_management\"});\n }}\n >\n BACK\n \n \n \n \n \n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default ForumAnswerForm;\n","import { Avatar } from \"@material-ui/core\";\nimport { fetchAllProfiles, updateUser, fetchProfileOrgAsAdmin } from \"actions/user\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { useFormik } from \"formik\";\nimport { Camelize } from \"helper.js\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState } from \"react\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Badge, Button, Card, CardBody, CardHeader, CardFooter, Col, Container, Media, Row, Table, FormGroup, InputGroup, InputGroupAddon, InputGroupText, Input } from \"reactstrap\";\nimport * as api from \"../../../api/index.js\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport Pagination from \"react-responsive-pagination\";\n\nconst User = () => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [userDetails, setUserDetails] = useState({});\n const [userProfile, setUserProfile] = useState({});\n // Show User or edit profile\n const [editSection, setEditSection] = useState(\"USERS\");\n // set state edit\n const [organizationUserAll, setOrganizationUserAll] = useState([]);\n\n // pagination\n const itemPageSize = Config.ITEM_PAGE_SIZE;\n const [itemCurrent, setItemCurrent] = useState(1);\n const [itemPageContent, setItemPageContent] = useState([]);\n const [itemPageCount, setItemPageCount] = useState(1);\n // filter\n const [txtFilter, setTxtFilter] = useState(\"\");\n const [filterdContent, setFilterdContent] = useState([]);\n\n useEffect(() => {\n // fetching all user profiles\n if (LOGINSTATE) console.log(\"getting all the users\");\n dispatch(fetchAllProfiles());\n }, []);\n\n // get state all user profiles\n const allUserProfiles = useSelector((state) => state.user.usersProfiles);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"allUserProfiles: \", allUserProfiles);\n setOrganizationUserAll(Lodash.filter(allUserProfiles, { urole: \"GENERAL\" }));\n }, [allUserProfiles]);\n\n // process content with filter\n useEffect(() => {\n // 1. filter the users form the filter\n let updatedUsers = Lodash.filter(organizationUserAll, function (item) {\n return item.email.indexOf(txtFilter) > -1;\n });\n setItemCurrent(1)\n setFilterdContent(updatedUsers);\n }, [organizationUserAll, txtFilter]);\n\n // process the pagination with page content\n useEffect(() => {\n if (LOGINSTATE) console.log(\"filterdContent.length: \", filterdContent.length);\n // Set the pagination count\n let currentPageCount = Math.ceil(filterdContent.length / itemPageSize);\n setItemPageCount(currentPageCount);\n\n // Set the pagination content\n if (filterdContent && filterdContent.length > 0) {\n // make sure the page doesn't exceed the array endings\n let startCount = (itemCurrent - 1) * itemPageSize < 0 ? 0 : (itemCurrent - 1) * itemPageSize;\n let endCount = itemCurrent * itemPageSize > filterdContent.length ? filterdContent.length : itemCurrent * itemPageSize;\n\n let updatedArray = Lodash.slice(filterdContent, startCount, endCount);\n if (updatedArray && updatedArray.length > 0) {\n setItemPageContent(updatedArray);\n } else {\n setItemPageContent([]);\n }\n } else {\n setItemPageContent([]);\n }\n }, [itemCurrent, filterdContent]);\n\n const UserTableRow = ({ id, itemCount, itemPageSize, itemCurrent, email, role, status, profile }) => (\n \n {itemCount >= 0 ? {itemPageSize * (itemCurrent - 1) + itemCount + 1} : null}\n \n \n \n {profile && profile.firstName && profile.firstName.length > 0 ? profile.firstName.charAt(0).toUpperCase() : \"\"}\n \n
\n {email}\n \n {profile && !Lodash.isEmpty(profile.firstName) ? Camelize(profile.firstName + \" \" + profile.lastName) : \"\"}\n \n
\n
\n \n {/* {(profile && profile.employment && profile.employment.designation) ? profile.employment.designation : \"\"} */}\n {profile && profile.employment && profile.employment.organization && profile.employment.organization.name ? profile.employment.organization.name : \"\"}\n \n {\n {\n ACTIVE: (\n \n \n ACTIVE\n \n ),\n INACTIVE: (\n \n \n INACTIVE\n \n ),\n UNLINKED: (\n \n \n REMOVED\n \n ),\n }[status] || (\n \n \n {status}\n \n ) // default status\n }\n \n \n {\n if (LOGINSTATE) console.log(\"test profile ...\", profile);\n setUserDetails({ user: { id: id, email: email, status: status, urole: role } });\n setUserProfile(profile);\n }}\n >\n \n \n \n \n );\n\n // Profile edit start -------------------------------------------\n\n useEffect(() => {\n if (userProfile && Object.keys(userProfile).length > 0) {\n if (LOGINSTATE) console.log(\"userProfile: \", userProfile);\n\n formik.values.userId = userDetails?.user.id || \"\";\n formik.values.email = userDetails?.user.email || \"\";\n\n formik.values.profileId = userProfile?._id || \"\";\n formik.values.firstName = userProfile?.firstName || \"\";\n formik.values.lastName = userProfile?.lastName || \"\";\n formik.values.profilePicture = userProfile?.profilePicture || \"\";\n formik.values.profileThumbnail = userProfile?.profileThumbnail || \"\";\n\n formik.values.emp_organization_name = userProfile?.employment?.organization?.name || \"\";\n formik.values.emp_organization_type = userProfile?.employment?.organization?.type || \"\";\n // formik.values.emp_organization_legalStatus = userProfile?.employment?.organization?.legalStatus?.status || false;\n formik.values.emp_organization_geographicArea = userProfile?.employment?.organization?.geographicArea || \"\";\n formik.values.emp_organization_website = userProfile?.employment?.organization?.website || \"\";\n formik.values.emp_designation = userProfile?.employment?.designation || \"\";\n }\n }, [userProfile]);\n\n const changeUserStatus = async (userId, status) => {\n const params = { userId: userId, status: status };\n\n try {\n if (LOGINSTATE) console.log(\"params: \", params);\n const response = await api.changeStatus(params);\n if (LOGINSTATE) console.log(\"response: \", response);\n const { data } = response;\n if (LOGINSTATE) console.log(\"data: \", data);\n\n if (data?.status === \"success\") {\n dispatch(fetchAllProfiles());\n setEditSection(\"USERS\");\n setUserProfile({});\n } else if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: data?.message ? data.message : \"User status change failed.\", buttons: [{ label: \"OK\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error.response);\n if (LOGINSTATE) console.log(\"status\", error.response.data.status);\n if (LOGINSTATE) console.log(\"msg\", error.response.data.message);\n\n // process the error to show proper error message in popup\n let errorTitle = error?.response?.data?.data ? error?.response?.data?.message : null;\n let errorMessge = error?.response?.data?.data ? error?.response?.data?.data : error?.response?.data?.message;\n errorMessge = Lodash.isEmpty(errorMessge) ? \"Oops, something went wrong\" : errorMessge;\n confirmAlert({ title: errorTitle, message: errorMessge, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n };\n\n const formik = useFormik({\n initialValues: {\n userId: \"\",\n profileId: \"\",\n email: \"\",\n firstName: \"\",\n lastName: \"\",\n profilePicture: \"\",\n profileThumbnail: \"\",\n newProfilePicture: false,\n\n emp_organization_name: \"\",\n emp_designation: \"\",\n emp_organization_type: \"\",\n emp_organization_legalStatus: false,\n emp_organization_website: \"\",\n emp_organization_geographicArea: \"\",\n },\n // validationSchema: validationSchema,\n onSubmit: (values, onSubmitProps) => {\n values[\"update_by_admin\"] = true;\n values[\"user\"] = userDetails?.user?.id;\n if (LOGINSTATE) console.log(\"Update\", values);\n dispatch(updateUser(values, false, history));\n },\n });\n\n // Profile edit end -------------------------------------------\n\n return (\n <>\n \n {/* Page content */}\n \n \n {/* Right panel //////////////////////////////////////////////////////////////////////////////// */}\n \n {!Lodash.isEmpty(userProfile) && (\n \n \n \n
\n
\n {userProfile?.profilePicture || Lodash.isEmpty(userProfile?.firstName) ? \"\" : userProfile?.firstName.charAt(0).toUpperCase()}\n
\n
\n \n
\n \n \n
\n {\n // setEditSection(\"PROFILE\");\n if (LOGINSTATE) console.log(\"userProfile: \", userProfile);\n let params = {\n user: {\n userId: userDetails?.user?.id,\n email: userDetails?.user?.email,\n urole: userDetails.user?.urole,\n },\n };\n dispatch(fetchProfileOrgAsAdmin(params.user));\n history.push({ pathname: \"/registered/user_profile_manage\", state: { userDetails: params } });\n }}\n size=\"sm\"\n // style={{ minWidth: 130 }}\n style={{ width: 120, paddingTop: 3, paddingBottom: 3 }}\n >\n View Profile\n \n {\n changeUserStatus(userDetails?.user?.id, userDetails?.user?.status === \"ACTIVE\" ? \"INACTIVE\" : \"ACTIVE\");\n }}\n size=\"sm\"\n style={{ width: 120, paddingTop: 3, paddingBottom: 3 }}\n >\n Change Status\n \n
\n \n
\n\n {userDetails?.user.urole === \"ADMIN\" ? (\n \n
\n

\n
\n
\n

{Camelize(userProfile?.firstName + \" \" + userProfile?.lastName)}

\n
{userDetails?.user?.email}
\n
\n
\n ) : (\n \n
\n

\n
\n
\n

{Camelize(userProfile?.firstName + \" \" + userProfile?.lastName)}

\n
{userDetails?.user?.email}
\n
\n\n
Designation
\n
{userProfile?.employment?.designation}
\n
\n\n
Organization
\n
{userProfile?.employment?.organization?.name}
\n
\n\n
Type
\n
{userProfile?.employment?.organization?.type}
\n
\n\n
Geographic Area
\n
{userProfile?.employment?.organization?.geographicArea}
\n
\n\n
Website
\n
{userProfile?.employment?.organization?.website}
\n
\n
\n
\n )}\n
\n )}\n \n\n {/* Left panel //////////////////////////////////////////////////////////////////////////////// */}\n\n {/* Table admin user details */}\n \n \n
\n \n \n
\n
\n

Admin User Profiles

\n
\n
\n \n {\n history.push({ pathname: \"/registered/register_admin\" });\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n {/* \n \n \n \n \n \n {allUserProfiles.length > 0 &&\n Object.values(Lodash.filter(allUserProfiles, { urole: \"ADMIN\" })).map((props, i) => {\n if (LOGINSTATE) console.log(\"map profile\", props);\n return ;\n })}\n \n
*/}\n User (email↓)Status\n
\n \n \n
\n\n \n \n
\n
\n \n
\n\n {/* Table organization user details */}\n \n
\n \n \n \n \n

Organization User Profiles

\n \n \n \n \n \n \n \n \n \n {\n if (LOGINSTATE) console.log(e.target.value);\n setTxtFilter(e.target.value);\n }}\n />\n \n \n \n
\n
\n \n \n \n \n {/* */}\n \n \n \n \n \n {itemPageContent &&\n itemPageContent.length > 0 &&\n itemPageContent.map((props, i) => {\n if (LOGINSTATE) console.log(i, props);\n return ;\n })}\n \n
\n User (email↓)DesignationOrganizationStatus\n
\n\n {/* pagination */}\n \n \n \n {itemPageCount && itemPageCount > 0 ? (\n {\n setItemCurrent(current);\n }}\n />\n ) : null}\n \n \n \n
\n
\n
\n \n
\n
\n \n );\n};\n\nexport default User;\n","import { withStyles, TextField as TextFieldDef } from \"@material-ui/core\";\r\n\r\nconst TextField = withStyles({\r\n root: {\r\n \"& label\": {\r\n transformOrigin: \"top right\",\r\n right: 28,\r\n left: \"auto\",\r\n },\r\n \"& legend\": {\r\n textAlign: \"right\",\r\n },\r\n \"& input\": {\r\n textAlign: \"right\",\r\n },\r\n }\r\n})(TextFieldDef);\r\n\r\nexport const RtlTextField = (props) => {\r\n return (\r\n !!props.rtol || (props.rtol && props.rtol === true)\r\n ? \r\n : \r\n )\r\n}\r\n","// Option 2\nimport { TextField, RtlTextField } from \"../../../components/Custom/RTLTextField\";\n\nimport { Grid, IconButton, InputAdornment, TextField as TextFieldDef } from \"@material-ui/core\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport { signin, signUp } from \"actions/user\";\nimport { MbppStyles } from \"constants/globalStyles\";\nimport { LANGUAGE } from \"constants/actionTypes\";\nimport { fetchMasterDataLanguage, fetchLocalizationContent } from \"actions/masterData\";\nimport { useFormik } from \"formik\";\nimport React, { useState, useEffect } from \"react\";\n\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, Link, NavLink } from \"react-router-dom\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\nimport { CryptoPassword, initialValues_assessmentPage, RTL_FLAG_RIGHT, RTL_FLAG_LEFT } from \"helper\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\n\n// reactstrap components\nimport { Button, Card, CardBody, Col, Form, FormGroup, Row, Container } from \"reactstrap\";\nimport * as yup from \"yup\";\nimport { ImportExportTwoTone } from \"@material-ui/icons\";\n\n// const validationSchemaSignin = yup.object({\n// email: yup.string(\"Enter your email\").email(\"Enter a valid email\").required(\"Email is required\"),\n// password: yup.string(\"Enter your password\").min(3, \"Password should be of minimum 8 characters length\").required(\"Password is required\"),\n// });\n\nconst validationSchemaSignUp = yup.object({});\n\nconst Login = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state contact number list\n const [contactList, setContactList] = useState([{ index: 0, contactno: \"\" }]);\n\n const [rtlAlignment, setRtlAlignment] = useState(RTL_FLAG_LEFT);\n const [systemContentLocale, setSystemContentLocale] = useState({});\n\n // set state signup /signin\n const [isSignup, setIsSignup] = useState(false);\n\n const { t, i18n } = useTranslation();\n\n const userLang = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLanguage: \", userLang);\n\n useEffect(() => {\n if (userLang && userLang.language && userLang.language.length > 0) {\n const lang = userLang.language[0]\n\n i18n.changeLanguage(lang.code);\n const params = { languageCode: lang.code };\n dispatch(fetchLocalizationContent(params, history));\n\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(RTL_FLAG_RIGHT);\n }\n else {\n setRtlAlignment(RTL_FLAG_LEFT);\n }\n }\n }, [userLang]);\n\n // get system content\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent) && systemContent.length > 0) {\n setSystemContentLocale(systemContent[0].assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContent]);\n\n // handle click event of the Remove button of contact number\n\n // handle click event of the Add button of contact number\n\n // handle click event of password visible and password dotted\n const [showPassword, setShowPassword] = useState(false);\n const handleShowPassword = () => setShowPassword(!showPassword);\n\n const formik = useFormik({\n initialValues: {\n firstName: \"\",\n lastName: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n profilePicture: \"\",\n profileThumbnail: \"\",\n newProfilePicture: false,\n age: \"\",\n gender: \"\",\n title: \"\",\n telephone: [\"\"],\n address: \"\",\n emp_type: \"\",\n emp_designation: \"\",\n emp_institute: \"\",\n emp_department: \"\",\n emp_address: \"\",\n country: \"\",\n legal_entity: \"\",\n geo_area: \"\",\n no_emp: \"\",\n drm_act: \"\",\n ins_city: \"\",\n },\n // validationSchema: isSignup ? validationSchemaSignUp : validationSchemaSignin,\n validationSchema: isSignup\n ? validationSchemaSignUp\n : yup.object({\n email: yup.string(t('registerPage.section2.enterEmail'))\n .email(t('registerPage.section2.emailInvalid'))\n .required(t('registerPage.section2.emailRequired')),\n password: yup.string(t('registerPage.section2.enterPassword'))\n .min(6, t('registerPage.section2.parameterLengthMin'))\n .required(t('registerPage.section2.passwordRequired')),\n }),\n onSubmit: (values, onSubmitProps) => {\n if (isSignup) {\n values.password = CryptoPassword(values.password);\n if (LOGINSTATE) console.log(\"systemContentLocale\", systemContentLocale);\n dispatch(signUp(values, history, systemContentLocale));\n } else {\n values.password = CryptoPassword(values.password);\n dispatch(signin(values, history, systemContentLocale));\n if (LOGINSTATE) console.log(\"systemContentLocale\", systemContentLocale);\n }\n\n onSubmitProps.setSubmitting(false);\n setContactList([{ index: 0, contactno: \"\" }]);\n onSubmitProps.resetForm();\n },\n onReset: () => {\n setContactList([{ index: 0, contactno: \"\" }]);\n },\n });\n\n return (\n <>\n
\n {/* ToDo: explore */}\n {/* */}\n \n {/* Mask */}\n {/*bg-gradient-yellow*/}\n \n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n {/* Page content */}\n \n \n \n \n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n {t(\"loginPage.section1.title\")}\n
\n ) : (\n
\n {t(\"loginPage.section1.title\")}\n
\n )}\n\n
\n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {showPassword ? : }\n \n ),\n }\n : showPassword !== null && rtlAlignment === RTL_FLAG_LEFT\n ? {\n endAdornment: (\n \n {showPassword ? : }\n \n ),\n }\n : null\n }\n />\n \n \n \n \n\n
\n \n
\n \n
\n
\n\n \n \n \n \n {t('loginPage.section1.fogotPassword')}\n \n \n \n \n \n \n {t('loginPage.section1.newAccount')}\n \n \n \n \n\n \n \n
\n
\n \n
\n\n \n
\n
\n \n \n );\n};\n\nexport default Login;\n","import { ORG_FETCH_ALL, ORG_UPDATE, ORG_CITY_STATUS_UPDATE, ORG_FETCH_ALL_BY_COUNTRY_ID, SHOW_LOADING, ORGANIZATION_PROFILE_DELETE } from \"constants/actionTypes\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport * as api from \"../api/index.js\";\nimport Lodash from \"lodash\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\n// Surveys\n\n// no need trans\nexport const fetchOrganizationAll = (formData, router) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchOrganizationAll(formData);\n if (data?.status === \"success\") {\n dispatch({ type: ORG_FETCH_ALL, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n if (LOGINSTATE) console.log(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// trans done\nexport const fetchOrganizationAllByCountryId = (formData, router, t) => async (dispatch) => {\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n const { data } = await api.fetchOrganizationAllByCountryId(formData);\n if (data?.status === \"success\") {\n dispatch({ type: ORG_FETCH_ALL_BY_COUNTRY_ID, payload: data?.data });\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n // confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (error?.response?.status && error?.response?.status === 401) {\n // confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n router.push(\"/auth/signin\");\n } else {\n alert(error);\n }\n if (LOGINSTATE) console.log(error);\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// trans done\nexport const updateOrganization = (formData, needRefresh, history, t) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"Updating the organization with: \", formData);\n\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n\n let fileIsReady = \"\";\n\n if (formData.organizationProfile && formData.cityId) {\n fileIsReady = await uploadOrganization(formData, alert, history);\n }\n\n if (!Lodash.isEmpty(fileIsReady)) {\n // data.success or not test\n if(t){\n confirmAlert({ message: t('popups.noAttachment'), buttons: [{ label: t('common.ok'), onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else{\n confirmAlert({ message: \"No attachment, or attachment failed to upload. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n return;\n }\n\n const { data } = await api.updateOrganization(formData);\n if (LOGINSTATE) console.log(\"update data: \", data);\n\n if (data?.status === \"success\") {\n dispatch({ type: ORG_UPDATE, payload: data });\n // window.location.reload(); //indirect page update can be done using the dispatched value\n if(t){\n confirmAlert({ message: t('common.success'), buttons: [{ label: t('common.ok'), onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else{\n confirmAlert({ title: \"Success\", message: \"Organization updated.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n if (needRefresh) history.go(0);\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n if (t) {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ title: \"Error\", message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error);\n if (error?.response?.status && error?.response?.status === 401) {\n if (t) {\n confirmAlert({ message: t('popups.sessionExpired'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n history.push(\"/auth/signin\");\n } else {\n if (t) {\n confirmAlert({ message: t('popups.somethingWentWrong'), buttons: [{ label: t('common.ok'), onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n else {\n confirmAlert({ title: \"Error\", message: \"Oops, something went wrong. Please try again later\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n\n// no need\n// seems not using\nconst uploadOrganization = async (values, history) => {\n try {\n if (values.organizationProfile && values.cityId) {\n if (LOGINSTATE) console.log(\"organization data: \", values.organizationProfile);\n // continue\n } else {\n if (LOGINSTATE) console.log(\"empty organization\");\n return false;\n }\n\n const params = new FormData();\n params.append(\"organization\", values.organizationProfile);\n params.append(\"organization\", values.cityId);\n if (LOGINSTATE) console.log(\"upload picture data\", params);\n\n let res = await api.uploadOrganization(params);\n if (LOGINSTATE) console.log(\"server returned: \", res);\n\n if (res && res.data && res.data.status === \"success\" && !Lodash.isEmpty(res.data.data)) {\n if (LOGINSTATE) console.log(\"server returned new file name: \", res.data.data);\n values[\"organizationProfile\"] = res.data.data.name;\n\n return true;\n } else {\n return false;\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error in file upload: \", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n let errorMessage = error?.response?.data?.message;\n confirmAlert({ message: errorMessage, buttons: [{ label: \"Yes\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n\n return false;\n } finally {\n }\n};\n\n// no need trans\nexport const updateOrganizationCityStatus = (formData, history, pathParam) => async (dispatch) => {\n if (LOGINSTATE) console.log(\"Updating the organization with: \", formData);\n\n try {\n dispatch({ type: SHOW_LOADING, payload: true });\n\n const { data } = await api.updateCityStatus(formData);\n if (LOGINSTATE) console.log(\"update data: \", data);\n\n if (data?.status === \"success\") {\n dispatch({ type: ORG_CITY_STATUS_UPDATE, payload: data });\n // window.location.reload(); //indirect page update can be done using the dispatched value\n confirmAlert({ title: \"Success\", message: \"Organization updated.\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n if (pathParam && !Lodash.isEmpty(pathParam?.path)) {\n history.push({ pathname: pathParam.path, state: pathParam.state });\n } else if (pathParam && Lodash.isBoolean(pathParam?.reload)) {\n history.go(0);\n }\n }\n if (data?.status === \"error\") {\n if (LOGINSTATE) console.log(data);\n confirmAlert({ title: \"Error\", message: data?.message, buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } catch (error) {\n if (LOGINSTATE) console.log(\"catch error\", error);\n if (error?.response?.status && error?.response?.status === 401) {\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n history.push(\"/auth/signin\");\n } else {\n confirmAlert({ title: \"Error\", message: \"Oops, something went wrong. Please try again later\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\n }\n } finally {\n dispatch({ type: SHOW_LOADING, payload: false });\n }\n};\n","import { fetchProfileOrg } from 'actions/user';\nimport React, { useEffect } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { useHistory } from 'react-router-dom';\nimport { Container } from \"reactstrap\"; // reactstrap components\n\nconst UserHeader = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const userProfile = useSelector((state) => state.user.userProfile.profile);\n\n useEffect(() => {\n // fetching user's profile\n dispatch(fetchProfileOrg());\n }, [])\n\n return (\n <>\n
\n {/* */}\n {/* Mask */}\n {/* */}\n\n \n \n\n {/*
*/}\n \n \n );\n};\n\nexport default UserHeader;\n","import React from 'react';\r\nimport { RtlTextField } from \"./RTLTextField\";\r\nimport { InputAdornment, IconButton } from \"@material-ui/core\";\r\nimport AttachFileIcon from '@material-ui/icons/AttachFile';\r\nimport { RTL_FLAG_RIGHT } from 'helper';\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport { useTranslation, } from \"react-i18next\";\r\nimport Lodash from \"lodash\";\r\n\r\nconst RTLFileUpload = (props) => {\r\n const hiddenFileInput = React.useRef(null);\r\n const [selectedFileName, setSelectedFileName] = React.useState('')\r\n\r\n const { t } = useTranslation();\r\n\r\n const handleClick = (event) => {\r\n hiddenFileInput.current.click();\r\n };\r\n const handleChange = (event) => {\r\n const fileUploaded = event.target.files[0];\r\n if (fileUploaded) {\r\n // var pattern = /image-*/;\r\n if (Lodash.isArray(props.acceptPattern)) {\r\n let isAccepted = false\r\n props.acceptPattern.forEach(pattern => {\r\n if (fileUploaded.type.match(pattern)) {\r\n isAccepted = true;\r\n }\r\n });\r\n if (!isAccepted) {\r\n if (t) {\r\n confirmAlert({\r\n title: t(\"common.error\"),\r\n message: (props.acceptPattern).join(' | '),\r\n buttons: [\r\n {\r\n label: t(\"assessmentPage.app_ok\"),\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n return;\r\n }\r\n }\r\n\r\n\r\n setSelectedFileName(fileUploaded?.name)\r\n props.onChange(event);\r\n }\r\n\r\n };\r\n return (\r\n <>\r\n \r\n {}\r\n \r\n ),\r\n }}\r\n />\r\n\r\n \r\n \r\n );\r\n};\r\nexport default RTLFileUpload;\r\n","import { FormControl, Select, TextField as TextFieldDef, MenuItem, InputAdornment, IconButton } from \"@material-ui/core\";\nimport { TextField, RtlTextField, InputLabel } from \"../../../components/Custom/RTLTextField\";\nimport { changePassword, updateUser } from \"actions/user\";\nimport { updateOrganization } from \"actions/organization\";\n\nimport { fetchLocalizationContent, fetchMasterDataLanguageAll, fetchMasterDataLanguage } from \"actions/masterData\";\n// core components\nimport UserHeader from \"components/Headers/UserHeader.js\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { ChsStyles } from \"constants/globalStyles\";\nimport { useFormik } from \"formik\";\nimport { Camelize, CryptoPassword, emp_types, legal_entitys, geo_areas, drm_acts, unit, functional, stakeholder, vision, city_drm_acts, headoffice, RTL_FLAG_RIGHT, initialValues_assessmentPage } from \"helper.js\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\n// import { useAlert } from \"react-alert\";\nimport Resizer from \"react-image-file-resizer\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { Button, Card, CardBody, Col, Container, Form, Row } from \"reactstrap\";\nimport * as yup from \"yup\";\nimport { confirmAlert } from \"react-confirm-alert\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\nimport RTLFileUpload from \"components/Custom/RTLFileUpload\";\n\nconst Profile = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n // set state userDetails\n const userDetails = JSON.parse(localStorage.getItem(\"userDetails\"));\n if (LOGINSTATE) console.log(\"userDetails: \", userDetails);\n\n const userProfileOrg1 = useSelector((state) => state.user.userProfileOrg);\n if (LOGINSTATE) console.log(\"userOrg: \", userProfileOrg1);\n\n const language = useSelector((state) => state.masterData.languageAll);\n if (LOGINSTATE) console.log(\"language: \", language);\n\n const afterUpdate = useSelector((state) => state.masterData.userProfileUpdate);\n if (LOGINSTATE) console.log(\"afterUpdate: \", afterUpdate);\n\n const [userProfile, setUserProfile] = useState({});\n const [userProfileOrg, setUserProfileOrg] = useState({});\n const [isAdmin, setIsAdmin] = useState(false);\n const [isOrgOwner, setIsOrgOwner] = useState(false);\n const [cityPosition, setCityPosition] = useState(0);\n const [isCityOwner, setIsCityOwner] = useState(false);\n const [refreshCounter, setRefreshCounter] = useState(0);\n const [orgCities, setOrgCities] = useState([]);\n const [systemContentLocale, setSystemContentLocale] = useState({});\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n // set state edit\n const [isEdit, setIsEdit] = useState(true);\n // Show edit profile or change password\n const [editSection, setEditSection] = useState(\"WELCOME\");\n // Change the password text readability\n const [showPassword, setShowPassword] = useState(false);\n\n const hiddenProfileFileInputRef = useRef();\n\n // handle click event of togle Edit\n const switchMode = (e) => {\n e.preventDefault();\n setEditSection(\"PROFILE\");\n };\n\n const userLang = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLanguage\", userLang);\n const { t, i18n } = useTranslation();\n\n useEffect(() => {\n i18n.changeLanguage(jUser?.user?.language);\n\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n\n const paramsLocal = { languageCode: jUser?.user?.language };\n dispatch(fetchMasterDataLanguage(params.user));\n dispatch(fetchLocalizationContent(paramsLocal, history));\n }, []);\n\n useEffect(() => {\n userLang &&\n userLang.language &&\n Object.values(userLang.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLang]);\n\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent) && systemContent.length > 0) {\n setSystemContentLocale(systemContent[0].assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContent]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"userProfileOrg\", userProfileOrg);\n\n if (userProfileOrg1 && !Lodash.isEmpty(userProfileOrg1)) {\n // const profile1 = JSON.stringify(userProfileOrg1.profile);\n // const profile = JSON.parse(profile1);\n let userPro = userProfileOrg1.profile;\n\n setUserProfile(userPro);\n\n if (userDetails?.user?.urole === \"ADMIN\") {\n setIsAdmin(true);\n }\n\n let organization = userProfileOrg1.profile?.employment?.organization;\n setUserProfileOrg(organization);\n if (LOGINSTATE) console.log(\"userProfileOrg1\", userProfileOrg1);\n\n if (organization && !Lodash.isEmpty(organization)) {\n // profile.employment[\"organization\"] = profile.employment?.organization?._id;\n if (LOGINSTATE) console.log(\"userProfile?.user\", userPro?.user);\n if (userPro?.user._id === organization.createdBy) {\n setIsOrgOwner(true);\n if (LOGINSTATE) console.log(\"Owner true\", isOrgOwner);\n } else {\n setIsOrgOwner(false);\n if (LOGINSTATE) console.log(\"Owner false\", isOrgOwner);\n }\n\n if (LOGINSTATE) console.log(\"Owner\", isOrgOwner);\n\n /******************************** */\n let cities = organization.city;\n setOrgCities(cities);\n if (LOGINSTATE) console.log(\"city array\", organization.city);\n organization.city.map((props, i) => {\n if (LOGINSTATE) console.log(\"linkeduser\", props.linkedUser);\n if (LOGINSTATE) console.log(\"userId\", userPro?.user);\n if (userPro?.user._id === props.linkedUser) {\n setCityPosition(i);\n setIsCityOwner(true);\n if (LOGINSTATE) console.log(\"City true\", isCityOwner);\n }\n });\n }\n }\n\n dispatch(fetchMasterDataLanguageAll());\n }, [userProfileOrg1]);\n\n // handle change event of the profilePicture\n const handleFileChange = async (e) => {\n // Resize the image to generate thumbnail\n let image = null;\n try {\n const file = e.target.files[0];\n if (LOGINSTATE) console.log(\"selected file: \", file);\n if (LOGINSTATE) console.log(\"file size\", file.size);\n\n if (!(file.type.match('jpg') || file.type.match('jpeg') || file.type.match('png'))) {\n confirmAlert({\n title: t(\"common.error\"),\n message: \"*.jpg, *.jpeg, *.png\",\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n return;\n }\n\n\n if (file && file.size <= 2000000) {\n image = await resizeImage(file);\n // console.log(image);\n formik.values.profilePicture = file;\n formik.values.profileThumbnail = image;\n formik.values.newProfilePicture = true;\n formik.values.oldprofilePicture = userProfile?.profilePicture || \"\";\n formik.values.oldprofileThumbnail = userProfile?.profileThumbnail || \"\";\n } else {\n confirmAlert({\n title: t(\"assessmentPage.error\"),\n message: t(\"popups.profilePicture\"),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n return\n }\n } catch (err) {\n if (LOGINSTATE) console.log(err);\n }\n };\n\n // handle change event of the file\n const handleFileChangeOrg = async (e) => {\n try {\n // const files = e.target.files;\n const file = e.target.files[0];\n if (LOGINSTATE) console.log(file);\n if (file) {\n formik1.values.organizationProfile = file;\n }\n } catch (err) {\n if (LOGINSTATE) console.log(\"file error\", err);\n }\n };\n\n const resizeImage = (file) =>\n new Promise((resolve) => {\n Resizer.imageFileResizer(\n file,\n 200,\n 200,\n \"JPEG\",\n 100,\n 0,\n (uri) => {\n resolve(uri);\n },\n \"file\",\n 200,\n 200\n );\n });\n\n useEffect(() => {\n setEditSection(\"WELCOME\");\n if (LOGINSTATE) console.log(\"userProfile\", userProfile);\n\n if (userProfile && Object.keys(userProfile).length > 0) {\n formik.values.userId = userDetails?.user.id || \"\";\n formik.values.user = userDetails?.user || \"\";\n formik.values.profileId = userProfile?._id || \"\";\n formik.values.firstName = userProfile?.firstName || \"\";\n formik.values.lastName = userProfile?.lastName || \"\";\n formik.values.language = userProfile?.language || \"\";\n formik.values.email = userDetails?.user.email || \"\";\n formik.values.profilePicture = userProfile?.profilePicture || \"\";\n formik.values.profileThumbnail = userProfile?.profileThumbnail || \"\";\n formik.values.emp_designation = userProfile?.employment?.designation || \"\";\n formik.values.emp_linkedCity = userProfile?.employment?.linkedCity || \"\";\n formik.values.emp_organization = userProfile?.employment?.organization?._id || \"\";\n }\n }, [userProfile]);\n\n useEffect(() => {\n setEditSection(\"WELCOME\");\n\n if (userDetails?.user?.urole === \"GENERAL\") {\n if (userProfileOrg && Object.keys(userProfileOrg).length > 0) {\n formik1.values.organizationId = userProfileOrg?._id || \"\";\n formik1.values.firstName = userProfileOrg?.firstName || \"\";\n formik1.values.lastName = userProfileOrg?.lastName || \"\";\n formik1.values.type = userProfileOrg?.type || \"\";\n formik1.values.legalStatus_status = userProfileOrg?.legalStatus?.status === true ? \"Yes\" : \"No\";\n formik1.values.legalStatus_mandate = userProfileOrg?.legalStatus?.mandate || \"\";\n formik1.values.drmActivities = userProfileOrg?.drmActivities || \"\";\n formik1.values.visionMission_status = userProfileOrg?.visionMission?.status === true ? \"Yes\" : \"No\";\n formik1.values.visionMission_remarks = userProfileOrg?.visionMission?.remark || \"\";\n formik1.values.functionalStructure_status = userProfileOrg?.functionalStructure?.status === true ? \"Yes\" : \"No\";\n formik1.values.functionalStructure_remarks = userProfileOrg?.functionalStructure?.remark || \"\";\n formik1.values.unitProject_status = userProfileOrg?.unitProject?.status === true ? \"Yes\" : \"No\";\n formik1.values.unitProject_remarks = userProfileOrg?.unitProject?.remark || \"\";\n formik1.values.unitStakeholders_status = userProfileOrg?.unitStakeholders?.status === true ? \"Yes\" : \"No\";\n formik1.values.unitStakeholders_remarks = userProfileOrg?.unitStakeholders?.remark || \"\";\n formik1.values.geographicArea = userProfileOrg?.geographicArea || \"\";\n formik1.values.organization = userProfileOrg?.name || \"\";\n formik1.values.createdBy = userProfileOrg?.createdBy || \"\";\n formik1.values.country = userProfileOrg?.country?.name || \"\";\n formik1.values.website = userProfileOrg?.website || \"\";\n formik1.values.numberOfOrganizationEmployees_number = userProfileOrg?.numberOfOrganizationEmployees?.number || 0;\n formik1.values.numberOfOrganizationEmployees_remark = userProfileOrg?.numberOfOrganizationEmployees?.remark || \"\";\n formik1.values.oldOrganizationProfile = userProfileOrg?.organizationProfile || \"\";\n formik1.values.type = userProfileOrg?.type || \"\";\n formik1.values.city_name = userProfileOrg?.city[cityPosition]?.name || \"\";\n formik1.values.city_linkedUser = userProfileOrg?.city[cityPosition]?.linkedUser || null;\n formik1.values.city_website = userProfileOrg?.city[cityPosition]?.website || \"\";\n formik1.values.city_email = userProfileOrg?.city[cityPosition]?.email || \"\";\n formik1.values.city_address = userProfileOrg?.city[cityPosition]?.address || \"\";\n formik1.values.cityId = userProfileOrg?.city[cityPosition]?._id || \"\";\n formik1.values.city_isHeadOffice = userProfileOrg?.city[cityPosition]?.isHeadOffice === true ? \"Yes\" : \"No\";\n formik1.values.city_numberOfEmployees_number = userProfileOrg?.city[cityPosition]?.numberOfEmployees?.number || 0;\n formik1.values.city_numberOfEmployees_remarks = userProfileOrg?.city[cityPosition]?.numberOfEmployees?.remark || \"\";\n formik1.values.city_drmActivities_performed = userProfileOrg?.city[cityPosition]?.drmActivities?.performed || \"\";\n formik1.values.city_drmActivities_remarks = userProfileOrg?.city[cityPosition]?.drmActivities?.remark || \"\";\n formik1.values.modification_modifiedBy = userDetails?.user.id || \"\";\n formik1.values.modification_modifiedRemark = userProfileOrg?.modification?.modifiedRemark || \"\";\n }\n }\n }, [userProfileOrg]);\n\n const formik = useFormik({\n initialValues: {\n firstName: \"\",\n lastName: \"\",\n profilePicture: \"\",\n oldprofilePicture: \"\",\n profileThumbnail: \"\",\n oldprofileThumbnail: \"\",\n language: \"\",\n emp_designation: \"\",\n emp_organization: \"\",\n emp_linkedCity: \"\",\n emp_institute: \"\",\n linkedCity: \"\",\n },\n // validationSchema: validationSchema,\n validationSchema: yup.object({\n firstName: yup.string(t('registerPage.section2.enterFirstName'))\n .max(255, t('registerPage.section2.parameterLengthMax'))\n .required(t('registerPage.section2.firstNameRequired')),\n lastName: yup.string(t('registerPage.section2.enterLastName'))\n .max(255, t('registerPage.section2.parameterLengthMax'))\n .required(t('registerPage.section2.lastNameRequired')),\n }),\n onSubmit: (values, onSubmitProps) => {\n if (LOGINSTATE) console.log(\"Update profile\", values);\n dispatch(updateUser(values, true, history, systemContentLocale, t));\n },\n });\n\n const formik1 = useFormik({\n initialValues: {\n organizationId: \"\",\n country: \"\",\n organization: \"\",\n city_name: \"\",\n city_linkedUser: \"\",\n city_website: \"\",\n city_address: \"\",\n cityId: \"\",\n visionMission_status: \"\",\n visionMission_remarks: \"\",\n functionalStructure_status: \"\",\n functionalStructure_remarks: false,\n unitProject_status: \"\",\n unitProject_remarks: \"\",\n unitStakeholders_status: \"\",\n unitStakeholders_remarks: \"\",\n city_isHeadOffice: false,\n numberOfOrganizationEmployees_number: \"\",\n numberOfOrganizationEmployees_remark: \"\",\n city_numberOfEmployees_number: 0,\n city_drmActivities_performed: \"\",\n city_numberOfEmployees_remarks: \"\",\n city_drmActivities_remarks: \"\",\n type: \"\",\n legalStatus_status: \"\",\n legalStatus_mandate: \"Not applicable\",\n geographicArea: \"\",\n drmActivities: \"\",\n website: \"\",\n createdBy: \"\",\n modification_modifiedBy: \"\",\n modification_modifiedRemark: \"\",\n organizationProfile: \"\",\n oldOrganizationProfile: \"\",\n },\n // validationSchema: validationSchemaOrganization,\n validationSchema: yup.object({\n organization: yup.string().required(t('registerPage.section2.valueIsRequired')),\n type: yup.string().required(t('registerPage.section2.valueIsRequired')),\n legalStatus_status: yup.string().required(t('registerPage.section2.valueIsRequired')),\n geographicArea: yup.string().required(t('registerPage.section2.valueIsRequired')),\n numberOfEmployees_number: yup.number(t('registerPage.section2.valueIsRequired')),\n drmActivities: yup.string().required(t('registerPage.section2.valueIsRequired')),\n visionMission_status: yup.string().required(t('registerPage.section2.valueIsRequired')),\n functionalStructure_status: yup.string().required(t('registerPage.section2.valueIsRequired')),\n unitProject_status: yup.string().required(t('registerPage.section2.valueIsRequired')),\n unitStakeholders_status: yup.string().required(t('registerPage.section2.valueIsRequired')),\n country: yup.string().required(t('registerPage.section2.valueIsRequired')),\n }),\n onSubmit: (values) => {\n if (LOGINSTATE) console.log(\"Update organization\", values);\n if (LOGINSTATE) console.log(\"city position on submit\", cityPosition);\n let legal = {\n status: values.legalStatus_status === \"Yes\" ? true : false,\n mandate: values.legalStatus_mandate,\n };\n values[\"legalStatus\"] = legal;\n if (LOGINSTATE) console.log(\"boolean\", values.legalStatus_status);\n if (LOGINSTATE) console.log(\"legal\", values);\n\n let numberOfOrganizationEmployees = {\n number: values.numberOfOrganizationEmployees_number,\n remark: values.numberOfOrganizationEmployees_remark,\n };\n values[\"numberOfOrganizationEmployees\"] = numberOfOrganizationEmployees;\n\n let vision = {\n status: values.visionMission_status === \"Yes\" ? true : false,\n remark: values.visionMission_remarks,\n };\n values[\"visionMission\"] = vision;\n if (LOGINSTATE) console.log(\"visio\", vision);\n\n let functional = {\n status: values.functionalStructure_status === \"Yes\" ? true : false,\n remark: values.functionalStructure_remarks,\n };\n values[\"functionalStructure\"] = functional;\n if (LOGINSTATE) console.log(\"functional\", functional);\n\n let unit = {\n status: values.unitProject_status === \"Yes\" ? true : false,\n remark: values.unitProject_remarks,\n };\n values[\"unitProject\"] = unit;\n if (LOGINSTATE) console.log(\"unit\", unit);\n\n let stakeholder = {\n status: values.unitStakeholders_status === \"Yes\" ? true : false,\n remark: values.unitStakeholders_remarks,\n };\n values[\"unitStakeholders\"] = stakeholder;\n if (LOGINSTATE) console.log(\"stakeholder\", stakeholder);\n\n let modification = {\n modifiedBy: values.modification_modifiedBy,\n modifiedRemark: values.modification_modifiedRemark,\n };\n values[\"modification\"] = modification;\n if (LOGINSTATE) console.log(\"modification\", modification);\n\n if (LOGINSTATE) console.log(\"orgCities\", orgCities);\n\n let uptedcity = orgCities;\n // {\n // uptedcity[cityPosition][\"name\"] = values.city_name;\n // uptedcity[cityPosition][\"linkedUser\"] = values.city_linkedUser;\n // uptedcity[cityPosition][\"website\"] = values.city_website;\n // uptedcity[cityPosition][\"email\"] = values.city_email;\n // uptedcity[cityPosition][\"address\"] = values.city_address;\n // uptedcity[cityPosition][\"isHeadOffice\"] = values.city_isHeadOffice === \"Yes\" ? true : false;\n // uptedcity[cityPosition][\"drmActivities\"] = {\n // performed: values.city_drmActivities_performed,\n // remark: values.city_drmActivities_remarks,\n // };\n // uptedcity[cityPosition][\"numberOfEmployees\"] = {\n // number: values.city_numberOfEmployees_number,\n // remark: values.city_numberOfEmployees_remarks,\n // };\n // if (LOGINSTATE) console.log(\"uptedcity\", uptedcity);\n // }\n\n values[\"city\"] = uptedcity;\n if (LOGINSTATE) console.log(\"Update organization final update\", values);\n // dispatch(updateOrganization(values, true, history, systemContentLocale));\n dispatch(updateOrganization(values, true, history, t));\n },\n });\n\n const formikChangePassword = useFormik({\n initialValues: {\n currentPassword: \"\",\n password: \"\",\n confirmPassword: \"\",\n },\n // validationSchema: validationSchemaChangePassword,\n validationSchema: yup.object({\n currentPassword: yup.string(t('profile.currentPassword'))\n .min(6, t('registerPage.section2.parameterLengthMin'))\n .required(t('registerPage.section2.passwordRequired')),\n password: yup.string(t('profile.newPassword'))\n .min(6, t('registerPage.section2.parameterLengthMin'))\n .required(t('registerPage.section2.passwordRequired')),\n confirmPassword: yup.string(t('profile.retypeNewPassword'))\n .test(\"passwords-match\", t('registerPage.section2.passwordMismatch'), function (value) {\n return this.parent.password === value;\n }),\n }),\n onSubmit: (values, onSubmitProps) => {\n if (LOGINSTATE) console.log(\"Change password with values: \", values);\n values.oldpassword = CryptoPassword(values.currentPassword);\n values.newpassword = CryptoPassword(values.password);\n dispatch(changePassword(values, history, systemContentLocale));\n onSubmitProps.resetForm();\n },\n });\n\n return (\n
\n \n {/* Page content */}\n\n \n \n {/* Right profile update and change password */}\n {userProfile && (\n \n \n \n \n
\n \n {userProfile?.profilePicture ? \"\" : userProfile && userProfile?.firstName && userProfile?.firstName.length > 0 ? userProfile?.firstName.charAt(0).toUpperCase() : \"\"}\n
\n
\n \n \n \n \n
\n {\n switchMode(e);\n }}\n size=\"sm\"\n // style={{ minWidth: 130 }}\n style={{ minWidth: 100, paddingTop: 3, paddingBottom: 3 }}\n >\n {t(\"profile.updateProfile\")}\n \n {\n setEditSection(\"PASSWORD\");\n }}\n size=\"sm\"\n style={{ minWidth: 100, paddingTop: 3, paddingBottom: 3 }}\n >\n {t(\"profile.changePassword\")}\n \n
\n \n
\n \n
\n

\n
\n
\n

{Camelize(userProfile?.firstName + \" \" + userProfile?.lastName)}

\n
{userDetails?.user?.email}
\n
\n
\n
\n \n \n )}\n\n {/* Left profile summary */}\n\n {/* Welcome message */}\n \n {/* */}\n \n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n

\n {t(\"profile.hello\")} {Lodash.isEmpty(userProfile?.title) ? \"\" : (userProfile?.title ? userProfile?.title + \". \" : \"\") + Camelize(userProfile?.firstName + \" \" + userProfile?.lastName)}\n

\n

\n {t(\"profile.text\")}\n

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

\n {t(\"profile.hello\")} {Lodash.isEmpty(userProfile?.title) ? \"\" : (userProfile?.title ? userProfile?.title + \". \" : \"\") + Camelize(userProfile?.firstName + \" \" + userProfile?.lastName)}\n

\n

\n {t(\"profile.text\")}\n

\n \n
\n )}\n
\n
\n \n\n {/* Change password */}\n \n \n \n
\n
\n {t(\"profile.changePassword\")}\n
\n\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n )}\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n \n \n \n \n \n \n {/* {showPassword ? null : } */}\n \n \n \n \n \n \n ) : (\n \n \n \n \n \n \n \n \n {/* {showPassword ? null : } */}\n \n \n \n \n \n \n )}\n\n
\n
\n \n \n
\n
\n
\n
\n \n\n {/* Update profile */}\n \n \n \n
\n
\n {t(\"profile.userProfile\")}\n
\n\n
\n
\n
\n
\n {t(\"profile.personalDetails\")}\n
\n\n \n {rtlAlignment === RTL_FLAG_RIGHT ? : null}\n \n \n \n \n\n \n \n \n \n\n \n \n \n \n\n {isEdit && (\n \n \n {\n handleFileChange(e);\n }}\n />\n \n \n )}\n\n \n {rtlAlignment === RTL_FLAG_RIGHT ? : null}\n \n \n \n {language.map((item) => (\n <>\n {/* option1: better */}\n \n {/* option2 */}\n {/* \n {item.name}\n */}\n \n ))}\n \n \n \n\n \n {rtlAlignment === RTL_FLAG_RIGHT ? : null}\n \n \n \n \n\n
\n \n \n
\n
\n
\n
\n
\n\n
\n\n \n \n
\n {/* ORGANIZATIONAL PROFILE */}\n
\n {t(\"profile.organizationalProfile\")}\n
\n
\n
\n
\n {t(\"profile.organizationalDetails\")}\n
\n \n {rtlAlignment === RTL_FLAG_RIGHT ? : null}\n \n \n \n \n\n
\n \n \n \n \n \n
\n
\n
\n {t(\"profile.insitutionalDetails\")}\n
\n\n \n \n {/* type of organization */}\n \n {/* option1: better */}\n \n {emp_types.map((item) => (\n \n ))}\n \n \n\n \n {/* geographic area of operations */}\n \n \n {geo_areas.map((item) => (\n \n ))}\n \n \n \n\n
\n\n \n \n \n {/* legal entity */}\n \n \n \n \n \n \n {legal_entitys.map((item) => (\n \n ))}\n \n \n\n \n \n \n \n
\n\n \n \n \n {/* number of employees */}\n \n \n \n \n \n \n\n \n \n \n \n
\n\n \n {rtlAlignment === RTL_FLAG_RIGHT ? : null}\n \n {/* DRM activities */}\n \n \n {drm_acts.map((item) => (\n \n ))}\n \n \n \n
\n\n \n \n \n {/* vision mission */}\n \n \n \n \n \n \n {vision.map((item) => (\n \n ))}\n \n \n\n \n \n \n \n
\n\n \n \n \n {/* functional structure */}\n \n \n \n \n \n \n {functional.map((item) => (\n \n ))}\n \n \n\n \n \n \n \n
\n\n \n \n \n {/* monitoring and evaluation */}\n \n \n \n \n \n\n \n {unit.map((item) => (\n \n ))}\n \n \n\n \n \n \n \n
\n\n \n \n \n {/* identified stakeholders */}\n \n \n \n \n \n \n {stakeholder.map((item) => (\n \n ))}\n \n \n\n \n \n \n \n
\n\n \n \n {/* organization website */}\n \n \n \n
\n\n \n \n {/* organization profile */}\n {/* {\n handleFileChangeOrg(e);\n }}\n InputLabelProps={{ shrink: true }}\n style={ChsStyles.Question}\n className={\"form-control-alternative form-control-edit\"}\n error={formik1.touched.organizationProfile && Boolean(formik1.errors.organizationProfile)}\n helperText={formik1.touched.organizationProfile && formik1.errors.organizationProfile}\n disabled={!isOrgOwner}\n /> */}\n {\n handleFileChangeOrg(e);\n }}\n disabled={!isOrgOwner}\n />\n \n \n
\n {(!Lodash.isEmpty(formik1.values.oldOrganizationProfile)) ?\n {\n console.log(\"organizationProfile\", formik1.values.oldOrganizationProfile);\n e.preventDefault();\n let pathToResource = Config.SERVER_API_URL + \"uploads/organizationProfile/\" + formik1.values.oldOrganizationProfile;\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\n window.open(pathToResource, \"_blank\");\n }}\n >\n \n \n : null}\n
\n \n
\n
\n\n
\n {/* branch/location information */}\n
\n {t(\"profile.branchDetails\")}\n
\n\n \n \n {/* location */}\n \n \n \n
\n\n \n \n \n {/* number of employees */}\n \n \n \n \n \n \n\n \n \n \n \n
\n\n \n \n \n {/* DRM activities */}\n \n \n \n \n \n \n {city_drm_acts.map((item) => (\n \n ))}\n \n \n\n \n \n \n \n
\n\n \n \n {/* is head-office/branch */}\n \n \n {headoffice.map((item) => (\n \n ))}\n \n \n\n \n {/* office email */}\n \n \n \n
\n\n \n \n {/* head-office/branch website */}\n \n \n \n
\n\n \n \n {/* office address */}\n \n \n \n {/*
*/}\n\n
\n
\n\n
\n

{t(\"profile.mandataryFields\")}

\n
\n\n
\n\n
\n \n \n
\n \n \n
\n
\n \n \n \n \n );\n};\n\nexport default Profile;\n","import { FormControl, TextField } from \"@material-ui/core\";\r\nimport { updateOrganization } from \"actions/organization\";\r\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\r\n\r\n// core components\r\nimport UserHeader from \"components/Headers/UserHeader.js\";\r\nimport Config from \"config/config.json\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { ChsStyles } from \"constants/globalStyles\";\r\nimport { useFormik } from \"formik\";\r\nimport { Camelize, emp_types, legal_entitys, geo_areas, drm_acts, unit, functional, stakeholder, vision, city_drm_acts, headoffice } from \"helper.js\";\r\nimport Lodash from \"lodash\";\r\nimport React, { useEffect, useState } from \"react\";\r\n// import { useAlert } from \"react-alert\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Button, Card, CardBody, CardFooter, Col, Container, Form, Row } from \"reactstrap\";\r\nimport * as yup from \"yup\";\r\n\r\nconst validationSchema = yup.object({\r\n firstName: yup.string(\"Enter your first name\").max(255, \"First name should be of maximum 255 characters length\").required(\"First name is required\"),\r\n lastName: yup.string(\"Enter your last name\").max(255, \"Last name should be of maximum 255 characters length\"),\r\n});\r\n\r\nconst validationSchemaOrganization = yup.object({});\r\n\r\nconst Profile = (props) => {\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n // set state contact number list\r\n const [contactList, setContactList] = useState([{ index: 0, contactno: \"\" }]);\r\n // set state userDetails\r\n // get state user profile\r\n\r\n const [userProfile, setUserProfile] = useState({});\r\n const [userDetails, setUserDetails] = useState({});\r\n\r\n const [userProfileOrg, setUserProfileOrg] = useState({});\r\n const [isOrgOwner, setIsOrgOwner] = useState(false);\r\n const [cityPosition, setCityPosition] = useState(0);\r\n const [isCityOwner, setIsCityOwner] = useState(false);\r\n const [refreshCounter, setRefreshCounter] = useState(0);\r\n\r\n // set state edit\r\n const [isEdit, setIsEdit] = useState(true);\r\n // Show edit profile or change password\r\n const [editSection, setEditSection] = useState(\"WELCOME\");\r\n\r\n // handle click event of togle Edit\r\n const switchMode = (e) => {\r\n e.preventDefault();\r\n // setIsEdit((prevIsSignup) => !prevIsSignup);\r\n // setIsEdit(true);\r\n setEditSection(\"PROFILE\");\r\n };\r\n\r\n const userProfileOrg1 = useSelector((state) => state.user.userProfileOrgByAdmin);\r\n if(LOGINSTATE) console.log(\"userOrg\", userProfileOrg1);\r\n\r\n const language = useSelector((state) => state.masterData.languageAll);\r\n if(LOGINSTATE) console.log(\"language\", language);\r\n\r\n useEffect(() => {\r\n if(LOGINSTATE) console.log(\"userProfileOrg\", userProfileOrg);\r\n if (userProfileOrg1 && !Lodash.isEmpty(userProfileOrg1)) {\r\n // const paramUserDetails = props.location.state?.userDetails; // JSON.parse(localStorage.getItem(\"userDetails\"));\r\n // setUserDetails(paramUserDetails);\r\n\r\n let paramUserDetails = userProfileOrg1?.user;\r\n\r\n if (paramUserDetails && Object.keys(paramUserDetails).length > 0) {\r\n setEditSection(\"PROFILE\");\r\n if(LOGINSTATE) console.log(\"edit profile\");\r\n setUserDetails(paramUserDetails);\r\n } else {\r\n if(LOGINSTATE) console.log(\"edit welcome\");\r\n setEditSection(\"WELCOME\");\r\n }\r\n\r\n const profile1 = JSON.stringify(userProfileOrg1.profile);\r\n const profile = JSON.parse(profile1);\r\n\r\n setUserProfile(profile);\r\n\r\n let organization = userProfileOrg1.profile?.employment?.organization;\r\n setUserProfileOrg(organization);\r\n if(LOGINSTATE) console.log(\"profile1\", profile1);\r\n if(LOGINSTATE) console.log(\"profile\", profile);\r\n if(LOGINSTATE) console.log(\"userProfileOrg1\", userProfileOrg1);\r\n\r\n if (organization === !null) {\r\n profile.employment[\"organization\"] = profile.employment?.organization?._id;\r\n if (userProfile?.user === organization.createdBy) {\r\n setIsOrgOwner(true);\r\n } else {\r\n setIsOrgOwner(false);\r\n }\r\n\r\n if(LOGINSTATE) console.log(\"Owner\", isOrgOwner);\r\n\r\n if(LOGINSTATE) console.log(\"city array\", organization.city);\r\n organization.city.map((city, i) => {\r\n if(LOGINSTATE) console.log(\"i\", i);\r\n if(LOGINSTATE) console.log(\"linkeduser\", city.linkedUser);\r\n if(LOGINSTATE) console.log(\"userId\", userProfile?.user);\r\n if (userProfile?.user === city.linkedUser) {\r\n setCityPosition(i);\r\n if(LOGINSTATE) console.log(\"if i\", i);\r\n setIsCityOwner(true);\r\n }\r\n\r\n if(LOGINSTATE) console.log(\"City Owner\", isCityOwner);\r\n });\r\n }\r\n \r\n }\r\n dispatch(fetchMasterDataLanguageAll());\r\n }, [userProfileOrg1]);\r\n\r\n useEffect(() => {\r\n // setEditSection(\"WELCOME\");\r\n if(LOGINSTATE) console.log(\"---------- user details: \", userDetails);\r\n if(LOGINSTATE) console.log(\"---------- user profile: \", userProfile);\r\n\r\n if (userDetails && !Lodash.isEmpty(userDetails)) {\r\n formik.values.userId = userDetails?.user.id || \"\";\r\n formik.values.user = userDetails?.user || \"\";\r\n formik.values.email = userDetails?.user.email || \"\";\r\n\r\n formik1.values.modification_modifiedBy = userDetails?.user.id || \"\";\r\n }\r\n\r\n if (userProfile && Object.keys(userProfile).length > 0) {\r\n formik.values.profileId = userProfile?._id || \"\";\r\n formik.values.firstName = userProfile?.firstName || \"\";\r\n formik.values.lastName = userProfile?.lastName || \"\";\r\n formik.values.email = userProfile?.user.email || \"\";\r\n formik.values.language = userProfile?.language || \"\";\r\n formik.values.profilePicture = userProfile?.profilePicture || \"\";\r\n formik.values.profileThumbnail = userProfile?.profileThumbnail || \"\";\r\n formik.values.emp_email = userProfile?.employment?.email || \"\";\r\n formik.values.emp_address = userProfile?.city?.website || \"\";\r\n formik.values.emp_designation = userProfile?.employment?.designation || \"\";\r\n }\r\n\r\n if (userDetails?.user?.urole === \"GENERAL\") {\r\n if (userProfileOrg && Object.keys(userProfileOrg).length > 0) {\r\n // formik1.values.modification_modifiedBy = userDetails?.user.id || \"\";\r\n\r\n formik1.values.organizationId = userProfileOrg?._id || \"\";\r\n formik1.values.firstName = userProfileOrg?.firstName || \"\";\r\n formik1.values.lastName = userProfileOrg?.lastName || \"\";\r\n formik1.values.type = userProfileOrg?.type || \"\";\r\n formik1.values.legalStatus_status = userProfileOrg?.legalStatus?.status === true ? \"Yes\" : \"No\";\r\n formik1.values.legalStatus_mandate = userProfileOrg?.legalStatus?.mandate || \"\";\r\n formik1.values.drmActivities = userProfileOrg?.drmActivities || \"\";\r\n formik1.values.visionMission_status = userProfileOrg?.visionMission?.status === true ? \"Yes\" : \"No\";\r\n formik1.values.visionMission_remarks = userProfileOrg?.visionMission?.remark || \"\";\r\n formik1.values.functionalStructure_status = userProfileOrg?.functionalStructure?.status === true ? \"Yes\" : \"No\";\r\n formik1.values.functionalStructure_remarks = userProfileOrg?.functionalStructure?.remark || \"\";\r\n formik1.values.unitProject_status = userProfileOrg?.unitProject?.status === true ? \"Yes\" : \"No\";\r\n formik1.values.unitProject_remarks = userProfileOrg?.unitProject?.remark || \"\";\r\n formik1.values.unitStakeholders_status = userProfileOrg?.unitStakeholders?.status === true ? \"Yes\" : \"No\";\r\n formik1.values.unitStakeholders_remarks = userProfileOrg?.unitStakeholders?.remark || \"\";\r\n formik1.values.geographicArea = userProfileOrg?.geographicArea || \"\";\r\n formik1.values.organization = userProfileOrg?.name || \"\";\r\n formik1.values.createdBy = userProfileOrg?.createdBy || \"\";\r\n formik1.values.country = userProfileOrg?.country?.name || \"\";\r\n formik1.values.website = userProfileOrg?.website || \"\";\r\n formik1.values.type = userProfileOrg?.type || \"\";\r\n formik1.values.city_name = userProfileOrg?.city[cityPosition]?.name || \"\";\r\n formik1.values.city_linkedUser = userProfileOrg?.city[cityPosition]?.linkedUser || null;\r\n formik1.values.city_website = userProfileOrg?.city[cityPosition]?.website || \"\";\r\n formik1.values.city_email = userProfileOrg?.city[cityPosition]?.email || \"\";\r\n formik1.values.city_address = userProfileOrg?.city[cityPosition]?.address || \"\";\r\n formik1.values.numberOfOrganizationEmployees_number = userProfileOrg?.numberOfOrganizationEmployees?.number || 0;\r\n formik1.values.numberOfOrganizationEmployees_remark = userProfileOrg?.numberOfOrganizationEmployees?.remark || \"\";\r\n formik1.values.city_isHeadOffice = userProfileOrg?.city[cityPosition]?.isHeadOffice === true ? \"Yes\" : \"No\";\r\n formik1.values.city_numberOfEmployees_number = userProfileOrg?.city[cityPosition]?.numberOfEmployees?.number || 0;\r\n formik1.values.city_numberOfEmployees_remarks = userProfileOrg?.city[cityPosition]?.numberOfEmployees?.remark || \"\";\r\n formik1.values.city_drmActivities_performed = userProfileOrg?.city[cityPosition]?.drmActivities?.performed || \"\";\r\n formik1.values.city_drmActivities_remarks = userProfileOrg?.city[cityPosition]?.drmActivities?.remark || \"\";\r\n formik1.values.modification_modifiedRemark = userProfileOrg?.modification?.modifiedRemark || \"\";\r\n }\r\n }\r\n setRefreshCounter(refreshCounter + 1);\r\n }, [userDetails, userProfile, userProfileOrg]);\r\n\r\n const formik = useFormik({\r\n initialValues: {\r\n firstname: \"\",\r\n lastname: \"\",\r\n email: \"\",\r\n profilePicture: \"\",\r\n profileThumbnail: \"\",\r\n language: \"\",\r\n emp_designation: \"\",\r\n emp_linkedcity: \"\",\r\n },\r\n validationSchema: validationSchema,\r\n onSubmit: (values, onSubmitProps) => {\r\n if(LOGINSTATE) console.log(\"Update profile\", values);\r\n },\r\n });\r\n\r\n const formik1 = useFormik({\r\n initialValues: {\r\n organizationId: \"\",\r\n country: \"\",\r\n organization: \"\",\r\n city_name: \"\",\r\n city_linkedUser: \"\",\r\n city_website: \"\",\r\n city_address: \"\",\r\n visionMission_status: false,\r\n visionMission_remarks: \"\",\r\n functionalStructure_status: false,\r\n functionalStructure_remarks: false,\r\n unitProject_status: false,\r\n unitProject_remarks: \"\",\r\n unitStakeholders_status: false,\r\n unitStakeholders_remarks: \"\",\r\n city_isHeadOffice: false,\r\n numberOfOrganizationEmployees_number: 0,\r\n numberOfOrganizationEmployees_remark: \"\",\r\n city_numberOfEmployees_number: 0,\r\n city_drmActivities_performed: \"\",\r\n city_numberOfEmployees_remarks: \"\",\r\n city_drmActivities_remarks: \"\",\r\n type: \"\",\r\n legalStatus_status: false,\r\n legalStatus_mandate: \"\",\r\n geographicArea: \"\",\r\n drmActivities: \"\",\r\n website: \"\",\r\n createdBy: \"\",\r\n modification_modifiedBy: \"\",\r\n modification_modifiedRemark: \"\",\r\n },\r\n validationSchema: validationSchemaOrganization,\r\n onSubmit: (values, onSubmitProps) => {\r\n // setEditSection(\"ORGANIZATION_UPDATE\");\r\n if(LOGINSTATE) console.log(\"Update organization\", values);\r\n let legal = {\r\n status: values.legalStatus_status === \"Yes\" ? true : false,\r\n mandate: values.legalStatus_mandate,\r\n };\r\n values[\"legalStatus\"] = legal;\r\n if(LOGINSTATE) console.log(\"boolean\", values.legalStatus_status);\r\n if(LOGINSTATE) console.log(\"legal\", values);\r\n\r\n let vision = {\r\n status: values.visionMission_status === \"Yes\" ? true : false,\r\n remark: values.visionMission_remarks,\r\n };\r\n values[\"visionMission\"] = vision;\r\n if(LOGINSTATE) console.log(\"visio\", vision);\r\n\r\n let functional = {\r\n status: values.functionalStructure_status === \"Yes\" ? true : false,\r\n remark: values.functionalStructure_remarks,\r\n };\r\n values[\"functionalStructure\"] = functional;\r\n if(LOGINSTATE) console.log(\"functional\", functional);\r\n\r\n let unit = {\r\n status: values.unitProject_status === \"Yes\" ? true : false,\r\n remark: values.unitProject_remarks,\r\n };\r\n values[\"unitProject\"] = unit;\r\n if(LOGINSTATE) console.log(\"unit\", unit);\r\n\r\n let stakeholder = {\r\n status: values.unitStakeholders_status === \"Yes\" ? true : false,\r\n remark: values.unitStakeholders_remarks,\r\n };\r\n values[\"unitStakeholders\"] = stakeholder;\r\n if(LOGINSTATE) console.log(\"stakeholder\", stakeholder);\r\n\r\n let modification = {\r\n modifiedBy: values.modification_modifiedBy,\r\n modifiedRemark: values.modification_modifiedRemark,\r\n };\r\n values[\"modification\"] = modification;\r\n if(LOGINSTATE) console.log(\"modification\", modification);\r\n\r\n let uptedcity = [\r\n {\r\n name: values.city_name,\r\n linkedUser: values.city_linkedUser,\r\n website: values.city_website,\r\n email: values.city_email,\r\n address: values.city_address,\r\n isHeadOffice: values.city_isHeadOffice === \"Yes\" ? true : false,\r\n drmActivities: values.city_drmActivities_performed,\r\n numberOfEmployees: values.city_numberOfEmployees_number,\r\n },\r\n ];\r\n values[\"city\"] = uptedcity;\r\n if(LOGINSTATE) console.log(\"uptedcity\", uptedcity);\r\n dispatch(updateOrganization(values, true, history));\r\n },\r\n });\r\n\r\n return (\r\n <>\r\n \r\n {/* Page content */}\r\n \r\n \r\n {/* Right profile update and change password */}\r\n {userProfile && (\r\n \r\n \r\n \r\n \r\n
\r\n \r\n {userProfile?.profilePicture ? \"\" : userProfile && userProfile?.firstName && userProfile?.firstName.length > 0 ? userProfile?.firstName.charAt(0).toUpperCase() : \"\"}\r\n
\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n

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

{Camelize(userProfile?.firstName + \" \" + userProfile?.lastName)}

\r\n
{userDetails?.user?.email}
\r\n
\r\n
\r\n
\r\n
\r\n \r\n )}\r\n\r\n {/* Update profile */}\r\n \r\n \r\n \r\n
\r\n
\r\n View Profile\r\n
\r\n\r\n
\r\n
\r\n
\r\n
\r\n Personal Details\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n {isEdit && (\r\n \r\n \r\n {}}\r\n InputLabelProps={{\r\n shrink: true,\r\n }}\r\n error={formik.touched.profilePicture && Boolean(formik.errors.profilePicture)}\r\n className=\"form-control-alternative form-control-edit\"\r\n helperText={formik.touched.profilePicture && formik.errors.profilePicture}\r\n InputProps={{ readOnly: true, disabled: true }}\r\n />\r\n \r\n \r\n )}\r\n
\r\n\r\n \r\n \r\n \r\n \r\n {language.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n {\r\n // history.goBack();\r\n window.history.back();\r\n }}\r\n >\r\n BACK\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n Organizational Profile\r\n
\r\n
\r\n
\r\n
\r\n Organizational Details\r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n Institutional Details\r\n
\r\n \r\n \r\n \r\n {emp_types.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n {geo_areas.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {legal_entitys.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n {drm_acts.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Branch Details\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {vision.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {functional.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {unit.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {stakeholder.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {city_drm_acts.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n {headoffice.map((item) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n \r\n \r\n \r\n {\r\n // history.goBack();\r\n window.history.back();\r\n }}\r\n >\r\n BACK\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Profile;\r\n","// Option 2\nimport { TextField, InputLabel, RtlTextField } from \"../../../components/Custom/RTLTextField\";\n\nimport { Grid, IconButton, InputAdornment, FormControl, Select, TextField as TextFieldDef, MenuItem } from \"@material-ui/core\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport { signin, signUp } from \"actions/user\";\nimport { fetchOrganizationAllByCountryId } from \"actions/organization\";\nimport { fetchCountry } from \"actions/masterData\";\nimport { MbppStyles, ChsStyles } from \"constants/globalStyles\";\nimport { useFormik } from \"formik\";\nimport { countries } from \"helper\";\nimport { fetchLocalizationContent, fetchMasterDataLanguage } from \"actions/masterData\";\nimport { LANGUAGE } from \"constants/actionTypes\";\nimport { CryptoPassword, initialValues_assessmentPage, RTL_FLAG_RIGHT, RTL_FLAG_LEFT, SYS_DEFAULT_LANGUAGE_CODE } from \"helper.js\";\nimport React, { useState, useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n// reactstrap components\nimport { Button, Card, CardBody, CardFooter, Col, Form, FormGroup, Row, Pagination, PaginationItem, PaginationLink, Container } from \"reactstrap\";\nimport * as yup from \"yup\";\nimport Lodash from \"lodash\";\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport ReCaptchaV2 from \"react-google-recaptcha\";\nimport { APP_RECAPTCHA, LOGINSTATE } from \"../../../config/config.json\";\nimport { Warning } from \"@material-ui/icons\";\nimport { RECAPTCHA_LANG_LIST } from \"helper\";\n\n// const validationSchemaSignUp = yup.object({\n// email: yup.string(\"Enter your email\").email(\"Enter a valid email\").required(\"Email is required\"),\n// password: yup.string(\"Enter your password\").min(3, \"Password should be of minimum 8 characters length\").required(\"Password is required\"),\n// confirmPassword: yup.string(\"Passwords must match\").test(\"passwords-match\", \"Passwords must match\", function (value) {\n// return this.parent.password === value;\n// }),\n// firstname: yup.string(\"Enter your first name\").max(255, \"First name should be of maximum 255 characters length\").required(\"First name is required\"),\n// lastname: yup.string(\"Enter your last name\").max(255, \"Last name should be of maximum 255 characters length\").required(\"Last name is required\"),\n// country: yup.string(\"Enter the country of the organization\").required(\"Country is required\"),\n// organizationId: yup.string().when(\"organizationIdExist\", {\n// is: true,\n// then: yup.string().required(\"Organization is required\"),\n// }),\n// name: yup.string().when(\"nameExist\", {\n// is: true,\n// then: yup.string().required(\"Organization is required\"),\n// }),\n// cityId: yup.string().when(\"cityIdExist\", {\n// is: true,\n// then: yup.string().required(\"Location is required\"),\n// }),\n// city: yup.string().when(\"cityExist\", {\n// is: true,\n// then: yup.string().required(\"Location is required\"),\n// }),\n// });\n\nconst Register = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state contact number list\n const [contactList, setContactList] = useState([{ index: 0, contactno: \"\" }]);\n // set state signup /signin\n const [isSignup, setIsSignup] = useState(true);\n\n const [rtlAlignment, setRtlAlignment] = useState(RTL_FLAG_LEFT);\n\n const { t, i18n } = useTranslation();\n\n // handle click event of password visible and password dotted\n const [showPassword, setShowPassword] = useState(false);\n const handleShowPassword = () => setShowPassword(!showPassword);\n\n const [isNewOrganization, setIsNewOrganization] = useState(false);\n const [isNewCity, setIsNewCity] = useState(false);\n const [cityArray, setCityArray] = useState([]);\n const [isRegEnable, setIsRegEnable] = useState(false);\n const [isRegToken, setIsRegToken] = useState(\"\");\n const [refreshCounter, setRefreshCounter] = useState(0);\n const [refresh, setRefresh] = useState(0);\n\n const [systemContentLocale, setSystemContentLocale] = useState({});\n const [recaptchaLanguage, setRecaptchaLanguage] = useState(null);\n\n const allOrg = useSelector((state) => state.organization.organizationAllByCountryId);\n if (LOGINSTATE) console.log(\"allOrg\", allOrg);\n\n const allCountry = useSelector((state) => state.masterData.countryAll);\n if (LOGINSTATE) console.log(\"allCountry\", allCountry);\n\n useEffect(() => {\n dispatch(fetchCountry());\n setRefreshCounter(refreshCounter + 1);\n }, []);\n\n // const languageFromLocal = useSelector((state) => state.masterData.localLanguage);\n const userLang = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLanguage\", userLang);\n\n useEffect(() => {\n if (userLang && userLang.language && userLang.language.length > 0) {\n const lang = userLang.language[0]\n\n const params = { languageCode: lang.code };\n dispatch(fetchLocalizationContent(params, history));\n\n i18n.changeLanguage(lang.code);\n // reCAPTCHA languages as per 2022-August\n setRecaptchaLanguage(Lodash.indexOf(RECAPTCHA_LANG_LIST, lang.code) >= 0 ? lang.code : SYS_DEFAULT_LANGUAGE_CODE);\n\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(RTL_FLAG_RIGHT);\n } else {\n setRtlAlignment(RTL_FLAG_LEFT);\n }\n }\n else {\n // To fix location reload, may case issue with recaptcha re-render. test didn't show any issue\n i18n.changeLanguage(SYS_DEFAULT_LANGUAGE_CODE);\n setRecaptchaLanguage(SYS_DEFAULT_LANGUAGE_CODE);\n setRtlAlignment(RTL_FLAG_LEFT);\n }\n\n }, [userLang]);\n\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent) && systemContent.length > 0) {\n setSystemContentLocale(systemContent[0].assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContent]);\n\n const handleOrganizationClick = (e, countryId) => {\n if (LOGINSTATE) console.log(\"countryId\", e.target.value);\n const country = Lodash.find(allCountry, { _id: e.target.value });\n if (LOGINSTATE) console.log(\"country\", country);\n if (country && country.status === false) {\n e.preventDefault();\n confirmAlert({\n title: t(\"assessmentPage.error\"),\n message: t(\"popups.countryUnavailable\"),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n } else if (country) {\n formik.handleChange(e);\n dispatch(fetchOrganizationAllByCountryId({ countryId: e.target.value }, history, t));\n if (LOGINSTATE) console.log(\"dispatch call\");\n if (LOGINSTATE) console.log(\"allOrg dispatch\", allOrg);\n }\n };\n\n const charactersCheck = (e) => {\n const re = /^[a-z\\d\\-_\\s]+$/i;\n if (!re.test(e.key)) {\n e.preventDefault();\n }\n };\n\n const handleExpire = () => {\n setIsRegEnable(false);\n };\n\n const handleCity = (e, organizationId) => {\n if (LOGINSTATE) console.log(\"cityId\", e.target.value);\n\n const org = Lodash.find(allOrg, { _id: organizationId });\n\n const city = Lodash.find(org.city, { _id: e.target.value });\n\n if (!city?.linkedUser) {\n if (LOGINSTATE) console.log(\"linkedUser\");\n formik.values.cityIdExist = true;\n formik.handleChange(e);\n // formik.values.cityId = cityId;\n } else {\n e.preventDefault();\n formik.values.cityIdExist = false;\n confirmAlert({\n title: t(\"assessmentPage.error\"),\n message: t(\"popups.registeredLocation\"),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n }\n };\n\n function handleChange1(e) {\n if (LOGINSTATE) console.log(\"handleChange1\", e.target.value);\n\n formik.values.organizationId = e.target.value;\n const org = Lodash.find(allOrg, { _id: e.target.value });\n if (LOGINSTATE) console.log(\"organization\", org);\n if (org && org.status === true) {\n formik.values.organizationIdExist = true;\n formik.handleChange(e);\n setCityArray(org.city);\n if (LOGINSTATE) console.log(\"org.city\", org.city);\n if (LOGINSTATE) console.log(\"cityArray\", cityArray);\n } else {\n e.preventDefault();\n formik.values.organizationIdExist = false;\n confirmAlert({\n title: t(\"assessmentPage.error\"),\n message: t(\"popups.organizationUnavailable\"),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n }\n }\n\n const WarningMsg = () => {\n confirmAlert({\n title: t('assessmentPage.note'),\n message: t(\"popups.note\"),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n };\n\n const formik = useFormik({\n initialValues: {\n organizationId: \"\",\n firstname: \"\",\n lastname: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n emp_designation: \"\",\n name: \"\",\n organizationIdExist: false,\n nameExist: false,\n language: userLang && userLang.language && userLang.language.length > 0 ? userLang.language[0].code : SYS_DEFAULT_LANGUAGE_CODE,\n emp_address: \"\",\n\n country: \"\",\n city: \"\",\n cityId: \"\",\n cityIdExist: false,\n cityExist: false,\n recapture: \"\",\n },\n validationSchema: yup.object({\n email: yup.string(t(\"registerPage.section2.enterEmail\"))\n .email(t(\"registerPage.section2.emailInvalid\"))\n .required(t(\"registerPage.section2.emailRequired\")),\n password: yup.string(t(\"registerPage.section2.enterPassword\"))\n .min(6, t(\"registerPage.section2.parameterLengthMin\"))\n .required(t(\"registerPage.section2.passwordRequired\")),\n confirmPassword: yup.string(t(\"registerPage.section2.enterPassword\"))\n .test(\"passwords-match\", t(\"registerPage.section2.passwordMismatch\"), function (value) {\n return this.parent.password === value;\n }),\n firstname: yup.string(t(\"registerPage.section2.enterFirstName\"))\n .max(255, t(\"registerPage.section2.parameterLengthMax\"))\n .required(t(\"registerPage.section2.firstNameRequired\")),\n lastname: yup.string(t(\"registerPage.section2.enterLastName\"))\n .max(255, t(\"registerPage.section2.parameterLengthMax\"))\n .required(t(\"registerPage.section2.lastNameRequired\")),\n country: yup.string(t(\"registerPage.section2.enterCountry\"))\n .required(t(\"registerPage.section2.countryRequired\")),\n organizationId: yup.string().when(\"organizationIdExist\", {\n is: true,\n then: yup.string().required(t(\"registerPage.section2.organizationRequired\")),\n }),\n name: yup.string().when(\"nameExist\", {\n is: true,\n then: yup.string().required(t(\"registerPage.section2.organizationRequired\")),\n }),\n cityId: yup.string().when(\"cityIdExist\", {\n is: true,\n then: yup.string().required(t(\"registerPage.section2.locationRequired\")),\n }),\n city: yup.string().when(\"cityExist\", {\n is: true,\n then: yup.string().required(t(\"registerPage.section2.locationRequired\")),\n }),\n }),\n onSubmit: (values, onSubmitProps) => {\n const valuesParam = { ...values }\n if (LOGINSTATE) console.log(\"valuesParam\", valuesParam);\n if (isSignup) {\n valuesParam.password = CryptoPassword(valuesParam.password);\n\n if (LOGINSTATE) console.log(\"isNewOrganization\", isNewOrganization);\n if (LOGINSTATE) console.log(\"isNewCity\", isNewCity);\n\n if (isNewOrganization === false && isNewCity === false && valuesParam.cityId && !Lodash.isEmpty(valuesParam.cityId)) {\n // unlinked user, cityId should exist\n if (LOGINSTATE) console.log(\"city id\", valuesParam.cityId);\n let id = valuesParam.cityId;\n let updateCityArray = Lodash.find(cityArray, {\n _id: valuesParam.cityId,\n });\n updateCityArray[\"linkedUser\"] = id;\n if (LOGINSTATE) console.log(\"updateCityArray\", updateCityArray);\n\n valuesParam[\"city\"] = cityArray;\n if (LOGINSTATE) console.log(\"city array\", cityArray);\n dispatch(signUp(valuesParam, history, systemContentLocale));\n\n } else if (isNewOrganization === false && isNewCity === true) {\n if (LOGINSTATE) console.log(\"city name\", valuesParam.city);\n\n let duplicate = Lodash.findIndex(cityArray, function (chr) {\n return chr.name.toLocaleLowerCase() === valuesParam.city.toLocaleLowerCase();\n });\n if (LOGINSTATE) console.log(\"Duplicate city: \", duplicate);\n if (duplicate === -1) {\n let param = [...cityArray, { name: valuesParam.city }];\n valuesParam[\"city\"] = param;\n\n if (LOGINSTATE) console.log(\"valuesProcess\", valuesParam);\n dispatch(signUp(valuesParam, history, systemContentLocale));\n } else {\n if (LOGINSTATE) console.log(\"Duplicate city\", duplicate);\n confirmAlert({\n title: t(\"assessmentPage.error\"),\n message: t(\"popups.registeredLocation2\"),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => {\n window.location.reload(true);\n },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n }\n } else if (isNewOrganization === true && isNewCity === true) {\n if (LOGINSTATE) console.log(\"New user\");\n\n let duplicate = Lodash.findIndex(allOrg, function (chr) {\n return chr.name.toLocaleLowerCase() === valuesParam.name.toLocaleLowerCase();\n });\n if (LOGINSTATE) console.log(\"Duplicate city ****** \", duplicate);\n if (duplicate === -1) {\n let uptedcity = [\n {\n name: valuesParam.city,\n },\n ];\n valuesParam[\"city\"] = uptedcity;\n dispatch(signUp(valuesParam, history, systemContentLocale));\n } else {\n if (LOGINSTATE) console.log(\"Duplicate \", duplicate);\n confirmAlert({\n title: t(\"assessmentPage.error\"),\n message: t('popups.organizationExist'),\n buttons: [\n {\n label: t(\"assessmentPage.app_ok\"),\n onClick: () => {\n window.location.reload(true);\n },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n }\n } else {\n if (LOGINSTATE) console.log(\"else con\");\n }\n } else {\n valuesParam.password = CryptoPassword(valuesParam.password);\n dispatch(signin(valuesParam, history, systemContentLocale));\n }\n if (LOGINSTATE) console.log(valuesParam);\n },\n onReset: () => { },\n });\n\n return (\n <>\n \n {/* Page content */}\n \n \n \n \n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n {isSignup ? t(\"registerPage.section1.title\") : t(\"registerPage.section1.title\")}\n
\n ) : (\n
\n {isSignup ? t(\"registerPage.section1.title\") : t(\"registerPage.section1.title\")}\n
\n )}\n
\n\n
\n \n {rtlAlignment === RTL_FLAG_RIGHT\n ? isSignup && (\n <>\n
\n
\n {t(\"registerPage.section1.title1\")}\n
\n \n )\n : isSignup && (\n <>\n
\n
\n {t(\"registerPage.section1.title1\")}\n
\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
\n\n \n {rtlAlignment === RTL_FLAG_RIGHT\n ? isSignup && (\n <>\n
\n
\n {t(\"registerPage.section1.title2\")}\n
\n \n )\n : isSignup && (\n <>\n
\n
\n {t(\"registerPage.section1.title2\")}\n
\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {showPassword ? : }\n \n ),\n }\n : showPassword !== null && rtlAlignment === RTL_FLAG_LEFT\n ? {\n endAdornment: (\n \n {showPassword ? : }\n \n ),\n }\n : null\n }\n />\n \n \n {isSignup && (\n <>\n \n \n \n \n \n \n \n \n \n \n \n

{t(\"registerPage.section1.section2\")}

\n
\n
\n \n )}\n
\n\n {isSignup && (\n <>\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n {t(\"registerPage.section1.title3\")}\n
\n ) : (\n
\n {t(\"registerPage.section1.title3\")}\n
\n )}\n \n <>\n \n \n \n \n \n (formik.values.organizationId = \"\")}\n onChange={(e) => {\n handleOrganizationClick(e, formik.values.country);\n }}\n SelectProps={{\n native: true,\n }}\n className={\"form-control-alternative form-control-edit\"}\n error={formik.touched.country && Boolean(formik.errors.country)}\n helperText={formik.touched.country && formik.errors.country}\n InputProps={\n rtlAlignment === RTL_FLAG_RIGHT\n ? {\n startAdornment: (\n \n \n ),\n }\n : null\n }\n >\n \n {Lodash.filter(allCountry, { status: true }).map((key) => (\n \n ))}\n \n \n \n \n \n \n

{t(\"registerPage.section1.countryNote\")}

\n
\n
\n \n\n {/* if country is selected, list down the organizations for it */}\n {Lodash.isEmpty(formik.values.country) ? null : (\n <>\n <>\n \n \n \n \n \n handleChange1(e)}\n SelectProps={{\n native: true,\n }}\n className={\"form-control-alternative form-control-edit\"}\n error={formik.touched.organizationId && Boolean(formik.errors.organizationId)}\n helperText={formik.touched.organizationId && formik.errors.organizationId}\n InputProps={\n rtlAlignment === RTL_FLAG_RIGHT\n ? {\n startAdornment: (\n \n \n ),\n }\n : null\n }\n >\n \n {allOrg.map((key) => (\n \n ))}\n \n \n\n \n charactersCheck(e)}\n className={\"form-control-alternative form-control-edit\"}\n error={formik.touched.name && Boolean(formik.errors.name)}\n helperText={formik.touched.name && formik.errors.name}\n />\n \n \n\n \n \n \n

\n {t(\"registerPage.section1.section3\")}\n

\n
\n
\n \n \n \n \n \n {\n e.preventDefault();\n setIsNewOrganization(true);\n setIsNewCity(true);\n formik.values.organizationIdExist = false;\n formik.values.organizationId = \"\";\n formik.values.nameExist = true;\n formik.values.cityExist = true;\n WarningMsg();\n }}\n >\n \n Add\n \n \n {t(\"registerPage.section1.addOrganization\")}\n \n \n \n \n \n )}\n\n {/* {Lodash.isEmpty(formik.values.organizationId) ? null : ( */}\n\n <>\n \n \n \n \n\n \n handleCity(e, formik.values.organizationId)}\n SelectProps={{\n native: true,\n }}\n className={\"form-control-alternative form-control-edit\"}\n error={formik.touched.cityId && Boolean(formik.errors.cityId)}\n helperText={formik.touched.cityId && formik.errors.cityId}\n InputProps={\n rtlAlignment === RTL_FLAG_RIGHT\n ? {\n startAdornment: (\n \n \n ),\n }\n : null\n }\n >\n \n {allOrg &&\n formik.values.organizationId &&\n Lodash.find(allOrg, { _id: formik.values.organizationId }).city.map((key, i) => (\n \n ))}\n \n \n\n \n charactersCheck(e)}\n className={\"form-control-alternative form-control-edit\"}\n error={formik.touched.city && Boolean(formik.errors.city)}\n helperText={formik.touched.city && formik.errors.city}\n />\n \n \n \n \n \n

\n {t(\"registerPage.section1.section4\")}\n

\n
\n
\n \n \n \n \n \n {\n e.preventDefault();\n setIsNewCity(true);\n formik.values.cityIdExist = false;\n formik.values.cityId = \"\";\n formik.values.cityExist = true;\n WarningMsg();\n }}\n >\n \n Add\n \n \n {t(\"registerPage.section1.addLocation\")}\n \n \n \n \n
\n \n )}\n\n
\n
\n

\n {t(\"registerPage.section1.note\")}\n

\n\n
\n {recaptchaLanguage\n && {\n // if condition to check e null or not, if it is null msg\n setIsRegEnable(true);\n setIsRegToken(e);\n formik.values.recapture = e;\n }}\n hl={recaptchaLanguage}\n render=\"explicit\"\n onExpired={handleExpire}\n />}\n
\n\n \n \n \n {formik.submitCount - 4 > 0 && formik.isValid ? (\n \n {/* There are errors! Please correct and retry. */}\n * {t('registerPage.section2.valueIsRequired')}\n \n ) : null}\n \n \n
\n \n \n {\n window.location.reload(true);\n }}\n >\n {t(\"registerPage.section1.reset\")}\n \n\n \n \n \n
\n \n
\n
\n\n \n
\n
\n \n );\n};\n\nexport default Register;\n","import { Grid, IconButton, InputAdornment, TextField } from \"@material-ui/core\";\nimport Visibility from \"@material-ui/icons/Visibility\";\nimport VisibilityOff from \"@material-ui/icons/VisibilityOff\";\nimport { signupadmin } from \"actions/user\";\nimport { ChsStyles, MbppStyles } from \"constants/globalStyles\";\nimport { useFormik } from \"formik\";\nimport { CryptoPassword } from \"helper.js\";\nimport React, { useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport ReCaptchaV2 from \"react-google-recaptcha\";\nimport { APP_RECAPTCHA, LOGINSTATE } from \"../../../config/config.json\";\n// reactstrap components\nimport { Button, Card, CardBody, Col, Form, FormGroup, Row, Container } from \"reactstrap\";\nimport * as yup from \"yup\";\n\nconst validationSchema1 = yup.object({\n email: yup.string(\"Enter your email\").email(\"Enter a valid email\").required(\"Email is required\"),\n password: yup.string(\"Enter your password\").min(6, \"6 or more characters\").required(\"Password is required\"),\n confirmPassword: yup.string(\"Passwords must match\").test(\"passwords-match\", \"Those passwords didn’t match. Try again.\", function (value) {\n return this.parent.password === value;\n }),\n});\n\nconst Register = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n // set state contact number list\n const [contactList, setContactList] = useState([{ index: 0, contactno: \"\" }]);\n // set state signup /signin\n const [isSignup, setIsSignup] = useState(true);\n const [isRegEnable, setIsRegEnable] = useState(false);\n const [isRegToken, setIsRegToken] = useState(\"\");\n\n const switchMode = (e) => {\n e.preventDefault();\n setIsSignup((prevIsSignin) => !prevIsSignin);\n };\n\n // handle click event of password visible and password dotted\n const [showPassword, setShowPassword] = useState(false);\n const handleShowPassword = () => setShowPassword(!showPassword);\n\n const allOrg = useSelector((state) => state.organization.organizationAll);\n if (LOGINSTATE) console.log(\"allOrg\", allOrg);\n\n const allCountry = useSelector((state) => state.user.countryAll);\n if (LOGINSTATE) console.log(\"allCountry\", allCountry);\n\n const formik = useFormik({\n initialValues: {\n firstname: \"\",\n lastname: \"\",\n email: \"\",\n password: \"\",\n confirmPassword: \"\",\n urole: \"ADMIN\",\n emp_designation: \"\",\n emp_institute: \"\",\n language: \"\",\n recapture: \"\",\n },\n validationSchema: validationSchema1,\n onSubmit: (values, onSubmitProps) => {\n if (LOGINSTATE) console.log(\"values\", values);\n\n values.password = CryptoPassword(values.password);\n values[\"urole\"] = \"ADMIN\";\n\n dispatch(signupadmin(values, history));\n if (LOGINSTATE) console.log(\"New admin\");\n\n onSubmitProps.resetForm();\n },\n onReset: () => {\n setContactList([{ index: 0, contactno: \"\" }]);\n },\n });\n\n const handleExpire = () => {\n setIsRegEnable(false);\n };\n\n return (\n <>\n \n {/* Page content */}\n \n \n \n \n \n \n
\n {\"Admin Register\"}\n
\n
\n\n
\n \n <>\n
\n
\n Personal Details\n
\n \n\n \n \n \n \n \n \n \n \n \n \n
\n\n \n {isSignup && (\n <>\n
\n
\n Authentication Details\n
\n \n )}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {showPassword ? : }\n \n ),\n }\n : null\n }\n />\n \n \n\n <>\n \n \n \n \n \n \n \n \n\n \n \n \n

If you have used your email for a previous account under any admin or organization, the registration process will fail.

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

\n User have to update the user profile after the registration is successful.\n

\n\n
\n {\n // if condition to chck e null or not, if it is null msg\n setIsRegEnable(true);\n setIsRegToken(e);\n formik.values.recapture = e;\n }}\n onExpired={handleExpire}\n />\n
\n\n
\n \n \n \n {\n window.history.back();\n }}\n >\n BACK\n \n \n \n {isSignup && (\n \n )}\n \n \n \n \n \n
\n
\n \n \n {!isSignup && (\n e.preventDefault()}>\n Forgot password?\n \n )}\n \n \n \n {isSignup ? \"Already have an account? Login\" : \"Create new account\"}\n \n \n \n \n
\n
\n \n );\n};\n\nexport default Register;\n","import React, { useEffect, useState } from \"react\";\nimport { Container, Row, Col } from \"reactstrap\"; // reactstrap components\nimport \"../../../assets/css/chs-custom.css\";\nimport { useTranslation, initReactI18next, Trans } from 'react-i18next';\nimport { SERVER_API_URL } from \"config/config.json\";\n\n\nconst Landing = (props) => {\n const mainContent = React.useRef(null);\n const { t, i18n } = useTranslation();\n const imgServer = `${SERVER_API_URL}uploads/conceptImage/${i18n.language}_logo.png` // Server side concept image\n const imgLocal = require(\"../../../assets/img/theme/CHS_Diagram.png\").default // Fallback concept image\n\n const [isImageFound, setIsImageFound] = useState(true)\n\n\n useEffect(() => {\n // i18n.changeLanguage('en');\n }, [])\n\n useEffect(() => {\n setIsImageFound(true) // Make sure first check the image in the server side\n }, [i18n.language])\n\n return (\n <>\n
\n
\n \n \n \n
\n
\n

\n {t('landingPage.section1.title')}\n

\n
\n

\n \n landingPage.section1.paragraph1\n \n

\n\n

\n \n , italic: }}>landingPage.section1.paragraph2\n \n

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

\n {t('landingPage.section2.title')}\n

\n
\n

\n \n landingPage.section2.paragraph1\n \n

\n \n \n
\n {isImageFound\n ? {\n setIsImageFound(false)\n }}\n />\n : \n }\n
\n
\n \n
\n
\n
\n
\n
\n \n \n \n
\n

\n {t('landingPage.section3.title')}\n

\n
\n

\n \n landingPage.section3.paragraph1\n \n

\n \n
\n \n \n \n \"app-tools-use\"\n \n \n \n \n \"app\"\n \n \n \"bmg\"\n \n\n \n \"adpc\"\n \n \n
\n
\n
\n \n );\n};\n\nexport default Landing;\n","import React, { useState, useEffect } from \"react\";\n\n// reactstrap components\nimport { Card, Container, Row, Col, CardBody, CardHeader } from \"reactstrap\";\nimport { useDispatch, useSelector } from \"react-redux\";\n// core components\n\nimport CommonHeader from \"components/Headers/CommonHeader\";\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\nimport { fetchProfileOrg } from \"actions/user\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\n\nimport { confirmAlert } from \"react-confirm-alert\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\nimport { RTL_FLAG_RIGHT } from \"helper\";\n\nconst Forum = () => {\n const dispatch = useDispatch();\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n const [isAppCountry, setIsAppCountry] = useState(\"No\")\n\n const { t, i18n } = useTranslation();\n\n const userLang = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLanguage\", userLang);\n useEffect(() => {\n i18n.changeLanguage(jUser?.user?.language);\n\n dispatch(fetchProfileOrg());\n\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLang &&\n userLang.language &&\n Object.values(userLang.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLang]);\n\n const currentUserProfileOrg = useSelector((state) => state.user.userProfileOrg);\n if (LOGINSTATE) console.log(\"userOrg: \", currentUserProfileOrg);\n\n useEffect(() => {\n let appCountry = currentUserProfileOrg.profile?.employment?.organization?.country?.app_country;\n setIsAppCountry(appCountry);\n }, [currentUserProfileOrg]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n\n return (\n <>\n \n\n {/* Page content */}\n \n {isAppCountry === \"Yes\"\n ?\n \n \n

{t(\"privacyPolicy.appCountry.header\")}

\n
\n\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n {/* app country - right to left */}\n \n \n

\n

{t(\"privacyPolicy.appCountry.paragraph1\")}

\n\n

{t(\"privacyPolicy.appCountry.title1\")}

\n

{t(\"privacyPolicy.appCountry.paragraph2\")}

\n\n

{t(\"privacyPolicy.appCountry.title2\")}

\n
    \n {t(\"privacyPolicy.appCountry.listItem1\")}\n
    \n {t(\"privacyPolicy.appCountry.listItem2\")}\n
\n \n
\n
\n ) : (\n \n {/* app country - left to right */}\n \n \n

\n

{t(\"privacyPolicy.appCountry.paragraph1\")}

\n\n

{t(\"privacyPolicy.appCountry.title1\")}

\n

{t(\"privacyPolicy.appCountry.paragraph2\")}

\n\n

{t(\"privacyPolicy.appCountry.title2\")}

\n
    \n {t(\"privacyPolicy.appCountry.listItem1\")}\n
    \n {t(\"privacyPolicy.appCountry.listItem2\")}\n
\n \n
\n
\n )}\n
\n :\n \n \n

{t(\"privacyPolicy.nonAppCountry.header\")}

\n
\n\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n {/* non app country - right to left */}\n \n \n

\n

{t(\"privacyPolicy.nonAppCountry.paragraph1\")}

\n\n

{t(\"privacyPolicy.nonAppCountry.title1\")}

\n

{t(\"privacyPolicy.nonAppCountry.paragraph2\")}

\n\n {/*

{t(\"privacyPolicy.nonAppCountry.title2\")}

\n
    \n {t(\"privacyPolicy.nonAppCountry.listItem1\")}\n
    \n {t(\"privacyPolicy.nonAppCountry.listItem2\")}\n
*/}\n \n
\n
\n ) : (\n \n {/* non app country - left to right */}\n \n \n

\n

{t(\"privacyPolicy.nonAppCountry.paragraph1\")}

\n\n

{t(\"privacyPolicy.nonAppCountry.title1\")}

\n

{t(\"privacyPolicy.nonAppCountry.paragraph2\")}

\n\n {/*

{t(\"privacyPolicy.nonAppCountry.title2\")}

\n
    \n {t(\"privacyPolicy.nonAppCountry.listItem1\")}\n
    \n {t(\"privacyPolicy.nonAppCountry.listItem2\")}\n
*/}\n \n
\n
\n )}\n
\n }\n
\n \n );\n};\n\nexport default Forum;\n","import React, { useState, useEffect } from \"react\";\r\n\r\n// reactstrap components\r\nimport { Card, Container, Row, Col, CardBody, CardHeader } from \"reactstrap\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n// core components\r\n\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport CommonHeader from \"components/Headers/CommonHeader\";\r\nimport { fetchMasterDataLanguage, fetchLocalizationContent } from \"actions/masterData\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { GlobalStylesColor } from \"constants/globalStyles\";\r\nimport { LANGUAGE } from \"constants/actionTypes\";\r\nimport { useHistory } from \"react-router-dom\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\n\r\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\r\nimport { RTL_FLAG_RIGHT, RTL_FLAG_LEFT, SYS_DEFAULT_LANGUAGE_CODE } from \"helper\";\r\n\r\nconst Forum = () => {\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const mainContent = React.useRef(null);\r\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\r\n\r\n const { t, i18n } = useTranslation();\r\n\r\n const userLang = useSelector((state) => state.masterData.languageByCode);\r\n if (LOGINSTATE) console.log(\"userLanguage: \", userLang);\r\n\r\n useEffect(() => {\r\n\r\n if (userLang && userLang.language && userLang.language.length > 0) {\r\n const lang = userLang.language[0]\r\n\r\n const params = { languageCode: lang.code };\r\n dispatch(fetchLocalizationContent(params, history));\r\n\r\n i18n.changeLanguage(lang.code);\r\n\r\n if (lang && lang.dir === \"rtl\") {\r\n setRtlAlignment(RTL_FLAG_RIGHT);\r\n }\r\n else {\r\n setRtlAlignment(RTL_FLAG_LEFT);\r\n }\r\n }\r\n else {\r\n // To fix location reload, may case issue with recaptcha re-render. test didn't show any issue\r\n const params = { languageCode: SYS_DEFAULT_LANGUAGE_CODE };\r\n dispatch(fetchLocalizationContent(params, history));\r\n i18n.changeLanguage(SYS_DEFAULT_LANGUAGE_CODE);\r\n setRtlAlignment(RTL_FLAG_LEFT);\r\n }\r\n\r\n }, [userLang]);\r\n\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n
\r\n
\r\n \r\n \r\n \r\n

{t(\"privacyPolicy.appCountry.header\")}

\r\n
\r\n\r\n {rtlAlignment === RTL_FLAG_RIGHT ? (\r\n \r\n {/* app country - right to left */}\r\n \r\n \r\n

\r\n

{t(\"privacyPolicy.appCountry.paragraph1\")}

\r\n\r\n

{t(\"privacyPolicy.appCountry.title1\")}

\r\n

{t(\"privacyPolicy.appCountry.paragraph2\")}

\r\n\r\n

{t(\"privacyPolicy.appCountry.title2\")}

\r\n
    \r\n {t(\"privacyPolicy.appCountry.paragraph3\") + \" 1.\"}\r\n
    \r\n {t(\"privacyPolicy.appCountry.paragraph4\") + \" 2.\"}\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n {/* app country - left to right */}\r\n \r\n \r\n

\r\n

{t(\"privacyPolicy.appCountry.paragraph1\")}

\r\n\r\n

{t(\"privacyPolicy.appCountry.title1\")}

\r\n

{t(\"privacyPolicy.appCountry.paragraph2\")}

\r\n\r\n

{t(\"privacyPolicy.appCountry.title2\")}

\r\n
    \r\n {\"1. \" + t(\"privacyPolicy.appCountry.paragraph3\")}\r\n
    \r\n {\"2. \" + t(\"privacyPolicy.appCountry.paragraph4\")}\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n\r\n \r\n \r\n

{t(\"privacyPolicy.nonAppCountry.header\")}

\r\n
\r\n\r\n {rtlAlignment === RTL_FLAG_RIGHT ? (\r\n \r\n {/* non app country - right to left */}\r\n \r\n \r\n

\r\n

{t(\"privacyPolicy.nonAppCountry.paragraph1\")}

\r\n\r\n

{t(\"privacyPolicy.nonAppCountry.title1\")}

\r\n

{t(\"privacyPolicy.nonAppCountry.paragraph2\")}

\r\n\r\n

{t(\"privacyPolicy.nonAppCountry.title2\")}

\r\n
    \r\n {t(\"privacyPolicy.nonAppCountry.paragraph3\") + \" 1.\"}\r\n
    \r\n {t(\"privacyPolicy.nonAppCountry.paragraph4\") + \" 2.\"}\r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n {/* non app country - left to right */}\r\n \r\n \r\n

\r\n

{t(\"privacyPolicy.nonAppCountry.paragraph1\")}

\r\n\r\n

{t(\"privacyPolicy.nonAppCountry.title1\")}

\r\n

{t(\"privacyPolicy.nonAppCountry.paragraph2\")}

\r\n\r\n

{t(\"privacyPolicy.nonAppCountry.title2\")}

\r\n
    \r\n {\"1. \" + t(\"privacyPolicy.nonAppCountry.paragraph3\")}\r\n
    \r\n {\"2. \" + t(\"privacyPolicy.nonAppCountry.paragraph4\")}\r\n
\r\n \r\n
\r\n
\r\n )}\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Forum;\r\n","import { Grid, TextField as TextFieldDef } from \"@material-ui/core\";\nimport { withStyles, MuiThemeProvider, createMuiTheme } from \"@material-ui/core\";\n// Option 2\nimport { TextField, RtlTextField } from \"../../../components/Custom/RTLTextField\";\n\nimport { MbppStyles } from \"constants/globalStyles\";\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\nimport { LANGUAGE } from \"constants/actionTypes\";\nimport { useFormik } from \"formik\";\nimport React, { useState, useRef, createRef, useEffect } from \"react\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Button, Card, CardBody, Col, Container, Form, FormGroup, Row } from \"reactstrap\";\nimport * as yup from \"yup\";\nimport { resetPassword } from \"actions/user\";\nimport ReCaptchaV2 from \"react-google-recaptcha\";\nimport { APP_RECAPTCHA, LOGINSTATE } from \"../../../config/config.json\";\n\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\nimport { RTL_FLAG_RIGHT, RTL_FLAG_LEFT, SYS_DEFAULT_LANGUAGE_CODE } from \"helper\";\nimport Lodash from \"lodash\";\nimport { RECAPTCHA_LANG_LIST } from \"helper\";\n\n// const validationSchemaSignin = yup.object({\n// email: yup.string(\"Enter your email\").email(\"Enter a valid email\").required(\"Email is required\"),\n// });\n\nconst Login = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n const recaptchaRef = useRef();\n\n const [isRegEnable, setIsRegEnable] = useState(false);\n const [isRegToken, setIsRegToken] = useState(\"\");\n const [rtlAlignment, setRtlAlignment] = useState(RTL_FLAG_LEFT);\n const [recaptchaLanguage, setRecaptchaLanguage] = useState(null);\n\n const { t, i18n } = useTranslation();\n\n const userLang = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"Reset password userLanguageByCode: \", userLang);\n\n const languageFromStore = localStorage.getItem(LANGUAGE)\n if (LOGINSTATE) console.log(\"Reset password languageFromLocalStore2: \", languageFromStore);\n\n useEffect(() => {\n\n if (userLang && userLang.language && userLang.language.length > 0) {\n const lang = userLang.language[0]\n\n // dispatch(fetchMasterDataLanguage(lang.code));\n i18n.changeLanguage(lang.code);\n // reCAPTCHA languages as per 2022-August\n setRecaptchaLanguage(Lodash.indexOf(RECAPTCHA_LANG_LIST, lang.code) >= 0 ? lang.code : SYS_DEFAULT_LANGUAGE_CODE);\n\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(RTL_FLAG_RIGHT);\n }\n else {\n setRtlAlignment(RTL_FLAG_LEFT);\n }\n }\n else {\n // To fix location reload, may case issue with recaptcha re-render. test didn't show any issue\n i18n.changeLanguage(SYS_DEFAULT_LANGUAGE_CODE);\n setRecaptchaLanguage(SYS_DEFAULT_LANGUAGE_CODE);\n setRtlAlignment(RTL_FLAG_LEFT);\n }\n }, [i18n, userLang]);\n\n const formik = useFormik({\n initialValues: {\n email: \"\",\n recapture: \"\",\n },\n // validationSchema: validationSchemaSignin,\n validationSchema: yup.object({\n email: yup.string(t('registerPage.section2.enterEmail'))\n .email(t('registerPage.section2.emailInvalid'))\n .required(t('registerPage.section2.emailRequired')),\n }),\n onSubmit: (values, onSubmitProps) => {\n if (LOGINSTATE) console.log(\"### values: \", values);\n dispatch(resetPassword(values, history, t));\n },\n onReset: () => { },\n });\n\n return (\n <>\n {/* */}\n\n
\n {/* ToDo: explore */}\n {/* */}\n \n {/* Mask */}\n {/*bg-gradient-yellow*/}\n \n \n
\n \n \n
\n
\n \n
\n
\n
\n
\n \n \n \n
\n
\n {/* Page content */}\n \n \n \n \n \n\n
\n {t(\"resetPage.section1.title\")}\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n\n
\n {recaptchaLanguage\n && {\n // if condition to check e null or not, if it is null msg\n setIsRegEnable(true);\n setIsRegToken(e);\n formik.values.recapture = e;\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 default Login;\n","import { fetchSurveyTemplateAll, updateSurveyTemplatePublishById } from \"actions/survey\";\nimport { SURVEY_TEMPLATE_LOCAL } from \"constants/actionTypes\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\nimport React, { useEffect } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Badge, Card, CardHeader, Container, Row, Table } from \"reactstrap\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { Tooltip } from \"@material-ui/core\";\nimport TranslateOutlinedIcon from \"@material-ui/icons/TranslateOutlined\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\n\n// Populate version row for each survey type\nconst SurveyRow = ({ survey, editClick, statusClick, localizationClick, createClick }) => (\n // VERSION | TITLE | DESCRIPTION | STATUS\n \n {parseFloat(survey.version).toFixed(1)}\n {survey.title}\n {survey.description}\n {survey.status}\n \n {survey.published ? (\n \n \n YES\n \n ) : (\n \n \n NO\n \n )}\n \n \n
\n \n {\n editClick(e, survey);\n }}\n >\n \n
\n \n \n {\n statusClick(e, survey);\n }}\n >\n {survey.published ? : }\n
\n \n \n {\n createClick(e, survey, survey.type);\n }}\n >\n \n {/* */}\n \n \n \n {\n localizationClick(e, survey);\n }}\n >\n \n \n \n \n \n \n);\n\n// export function\nconst Survey = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n // get forum topics\n const surveyTemplateAll = useSelector((state) => state.survey.surveyTemplateAll);\n\n useEffect(() => {\n // fetching all surveys\n dispatch(fetchSurveyTemplateAll());\n }, []);\n\n const handleStatusClick = (e, survey) => {\n e.preventDefault();\n if (LOGINSTATE) console.log(\"survey status\", survey);\n if (survey.segments && !Lodash.isEmpty(survey.segments)) {\n dispatch(updateSurveyTemplatePublishById({ surveyId: survey._id }, history));\n }\n };\n\n // handle Click event of the survey. Navigate to the localization page. There will be auto english version for every version\n const handleLocalizationClick = (e, survey) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/assessment_localization\", state: { survey: survey } });\n };\n\n // create survey from existing survey\n const handleEditClick = (e, survey, type) => {\n e.preventDefault();\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", survey);\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", type);\n dispatch({ type: SURVEY_TEMPLATE_LOCAL, payload: survey });\n confirmAlert({\n title: \"Warning\",\n message: \"This will reset currently editing assessment, if exist. Do you want to proceed?\",\n buttons: [\n {\n label: \"Yes\",\n onClick: () => {\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, JSON.stringify(survey));\n\n history.push({ pathname: \"/registered/assessment_create\", state: { survey: survey, type: type } });\n },\n },\n { label: \"No\", onClick: () => {} },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n };\n\n // create survey from existing survey\n const handleCreateClick = (e, survey, type) => {\n e.preventDefault();\n survey[\"_id\"] = null;\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", survey);\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", type);\n dispatch({ type: SURVEY_TEMPLATE_LOCAL, payload: survey });\n confirmAlert({\n title: \"Warning\",\n message: \"This will reset currently editing assessment, if exist. Do you want to proceed?\",\n buttons: [\n {\n label: \"Yes\",\n onClick: () => {\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, JSON.stringify(survey));\n history.push({ pathname: \"/registered/assessment_create\", state: { survey: survey, type: type } });\n },\n },\n { label: \"No\", onClick: () => {} },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n };\n\n // create empty survey\n const handleCreateNewClick = (e, type) => {\n e.preventDefault();\n const survey = {\n _id: null,\n version: 1,\n title: type,\n description: \"\",\n type: type,\n status: false,\n segments: [],\n };\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", survey);\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", type);\n dispatch({ type: SURVEY_TEMPLATE_LOCAL, payload: survey });\n\n confirmAlert({\n title: \"Warning\",\n message: \"This will reset currently editing assessment, if exist. Do you want to proceed?\",\n buttons: [\n {\n label: \"Yes\",\n onClick: () => {\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, JSON.stringify(survey));\n history.push({ pathname: \"/registered/assessment_create\", state: { survey: survey, type: type } });\n },\n },\n { label: \"No\", onClick: () => {} },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {!Lodash.isEmpty(surveyTemplateAll) &&\n Config.TOOLS.map((tool, i) => {\n return (\n \n
\n \n \n
\n
\n

{tool.title}

\n
{tool.description}
\n
\n
\n \n {\n handleCreateNewClick(e, tool.type);\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {Lodash.filter(surveyTemplateAll, { type: tool.type }).map((survey, i) => {\n if (LOGINSTATE) console.log(\"survey\", survey);\n\n return ;\n })}\n \n
VersionTitleDescriptionStatusPublishedActions
\n \n \n
\n );\n })}\n
\n \n );\n};\n\nexport default Survey;\n","import { TextField } from \"@material-ui/core\";\nimport { createSurveyTemplate, updateSurveyTemplateById } from \"actions/survey\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { SURVEY_TEMPLATE_LOCAL } from \"constants/actionTypes\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { Formik } from \"formik\";\nimport { processArray, survey_status } from \"helper\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Pagination from \"react-responsive-pagination\";\nimport { useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Button, Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Form, Row } from \"reactstrap\";\nimport * as Yup from \"yup\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst reviewSchema = Yup.object({\n Title: Yup.string().required().min(3).max(1000),\n Code: Yup.string().required().min(2).max(10),\n});\n\nconst reviewSurveySchema = Yup.object({\n Title: Yup.string().required().min(3).max(1000),\n Version: Yup.number().required(),\n});\n\nconst SurveyCreateTemplate = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const initSurvey = {\n version: 0.1,\n title: \"\",\n description: \"\",\n type: \"\",\n status: false,\n segments: [],\n };\n\n const initSegmentData = {\n title: \"\",\n description: \"\",\n segmentCode: \"\",\n segmentOrder: 0,\n questions: [],\n };\n\n const [surveyStarted, setSurveyStarted] = useState(false);\n const [surveyNew, setSurveyNew] = useState(initSurvey); // Create survey details\n const [segmentData, setSegmentData] = useState([]); // Segment details\n const [segmentCount, setSegmentCount] = useState(0); // To get the maximum number of segments\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n const [showPagination, setShowPagination] = useState(true);\n\n // To update fomik values\n const formRef = useRef();\n const formSurveyRef = useRef();\n\n useEffect(() => {\n // Loading sequence for the data\n if (localStorage.getItem(SURVEY_TEMPLATE_LOCAL)) {\n let surveySaved = JSON.parse(localStorage.getItem(SURVEY_TEMPLATE_LOCAL));\n if (LOGINSTATE) console.log(\"--------------------- local store surveySaved: \", surveySaved);\n if (surveySaved !== undefined && surveySaved !== null && !Lodash.isEmpty(surveySaved)) {\n setInitSurvey(surveySaved);\n }\n }\n }, []);\n\n const surveySaved = useSelector((state) => state.survey.localSurveyTemplate);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect 2: start from local dispatch\");\n if (LOGINSTATE) console.log(\"dispatch surveySaved: \", surveySaved);\n\n if (surveySaved !== undefined && surveySaved !== null && !Lodash.isEmpty(surveySaved)) {\n setInitSurvey(surveySaved);\n }\n }, [surveySaved]);\n\n const setInitSurvey = (surveySaved) => {\n if (LOGINSTATE) console.log(\"surveySaved: \", surveySaved);\n // get active survey details\n if (!Lodash.isEmpty(surveySaved) && surveySaved.segments && !Lodash.isEmpty(surveySaved.segments)) {\n if (LOGINSTATE) console.log(\"survey is updating...\");\n setSurveyNew(surveySaved);\n setSegmentData(surveySaved.segments);\n setSegmentCount(surveySaved.segments.length);\n setSurveyStarted(true);\n } else if (!Lodash.isEmpty(surveySaved)) {\n setSurveyNew(surveySaved);\n setSurveyStarted(true);\n }\n };\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect 3: populate the forms\");\n if (LOGINSTATE) console.log(\"surveyNew: \", surveyNew);\n if (LOGINSTATE) console.log(\"segmentData: \", segmentData);\n\n if (formRef.current && !Lodash.isEmpty(segmentData)) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"Title\", segmentData[segmentCounter].title, false);\n formRef.current.setFieldValue(\"Description\", segmentData[segmentCounter].description, false);\n formRef.current.setFieldValue(\"Code\", segmentData[segmentCounter].segmentCode, false);\n }\n\n if (formSurveyRef.current && !Lodash.isEmpty(surveyNew)) {\n formSurveyRef.current?.resetForm();\n formSurveyRef.current.setFieldValue(\"Version\", surveyNew.version, false);\n formSurveyRef.current.setFieldValue(\"Title\", surveyNew.title, false);\n formSurveyRef.current.setFieldValue(\"Description\", surveyNew.description, false);\n formSurveyRef.current.setFieldValue(\"Type\", surveyNew.type, false);\n }\n }, [segmentCounter, segmentData, surveyNew, segmentCount]);\n\n // Add new segment\n const handleNewSegmentClick = async (e) => {\n // If the segment is the first one, clear the formik\n if (formRef.current && segmentData.length === 0) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"Title\", \"\", false);\n formRef.current.setFieldValue(\"Description\", \"\", false);\n formRef.current.setFieldValue(\"Code\", \"\", false);\n }\n let updatedSegments = await processArray(segmentData, \"ADD\", segmentCounter + 1, initSegmentData);\n setSegmentCount(updatedSegments.length);\n setSegmentData(updatedSegments);\n updateLocalSurvey(updatedSegments);\n if (LOGINSTATE) console.log(\"updatedSegments: \", updatedSegments);\n };\n\n const handleDeleteSegmentClick = async (e) => {\n let updatedSegments = await processArray(segmentData, \"DELETE\", segmentCounter, null);\n setSegmentCounter(segmentCounter <= 0 ? 0 : segmentCounter - 1);\n setSegmentCount(updatedSegments.length);\n setSegmentData(updatedSegments);\n setNavigationCounter(navigationCounter <= 0 ? 0 : navigationCounter - 1); // To manage the change of segment count visually\n updateLocalSurvey(updatedSegments);\n if (LOGINSTATE) console.log(\"updatedSegments: \", updatedSegments);\n if (LOGINSTATE) console.log(\"navigationCounter: \", navigationCounter);\n };\n\n const handleMoveUpSegmentClick = async (e) => {\n let updatedSegments = await processArray(segmentData, \"MOVEUP\", segmentCounter, null);\n if (!Lodash.isEmpty(updatedSegments)) {\n setSegmentCounter(segmentCounter + 1);\n setSegmentData(updatedSegments);\n updateLocalSurvey(updatedSegments);\n }\n if (LOGINSTATE) console.log(\"updatedSegments: \", updatedSegments);\n };\n\n const handleMoveDownSegmentClick = async (e) => {\n let updatedSegments = await processArray(segmentData, \"MOVEDOWN\", segmentCounter, null);\n if (!Lodash.isEmpty(updatedSegments)) {\n setSegmentCounter(segmentCounter - 1);\n setSegmentData(updatedSegments);\n updateLocalSurvey(updatedSegments);\n }\n if (LOGINSTATE) console.log(\"updatedSegments: \", updatedSegments);\n };\n\n const updateSegment = async (values) => {\n let updatedSegment = segmentData[segmentCounter];\n updatedSegment[\"title\"] = values.Title;\n updatedSegment[\"description\"] = values.Description;\n updatedSegment[\"segmentCode\"] = values.Code;\n updatedSegment[\"segmentOrder\"] = segmentCounter;\n\n let updatedSegments = await processArray(segmentData, \"UPDATEAT\", segmentCounter, updatedSegment);\n setSegmentData(updatedSegments);\n updateLocalSurvey(updatedSegments);\n };\n\n // save the survey's main details\n const updateSurveyDetails = async (values) => {\n let survey = surveyNew;\n survey[\"version\"] = values.Version;\n survey[\"title\"] = values.Title;\n survey[\"description\"] = values.Description;\n // survey[\"type\"] = values.Type;\n setSurveyNew(survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, JSON.stringify(survey));\n };\n\n // save the survey's segment details\n const updateLocalSurvey = (updatedSegments) => {\n // Locally save the survey\n let survey = surveyNew;\n survey[\"segments\"] = updatedSegments;\n setSurveyNew(survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, JSON.stringify(survey));\n };\n\n // TODO: check whether its need to save the segment before saving questions.\n const handleQuestionsClick = (e) => {\n history.push({ pathname: \"/registered/assessment_segment_question\", state: { segmentCounter: segmentCounter, segmentData: segmentData } });\n };\n\n // TODO: properly save the survey. Currenly not validating the survey before it's save to the surver.\n const handleSurveySave = (isComplete) => {\n let surveySaved = null;\n\n if (localStorage.getItem(SURVEY_TEMPLATE_LOCAL)) {\n surveySaved = JSON.parse(localStorage.getItem(SURVEY_TEMPLATE_LOCAL));\n if (LOGINSTATE) console.log(\"local store surveySaved: \", surveySaved);\n }\n\n // Check whether data is available\n if (surveySaved !== undefined && surveySaved !== null && !Lodash.isEmpty(surveySaved)) {\n // Add a validation method\n\n if (!(surveySaved.segments && surveySaved.segments.length > 0)) {\n confirmAlert({ message: \"Survey should contain at least one segment to be saved.\", buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n } else {\n surveySaved[\"status\"] = isComplete ? survey_status.COMPLETE : survey_status.PROGRESS;\n\n // Basic validate\n //-----------------------------------\n\n let segmentStatus = true;\n\n if (surveySaved.version && Lodash.isNumber(surveySaved.version) && surveySaved.type && surveySaved.type.length > 2 && surveySaved.title && surveySaved.title.length > 2) {\n for (const segment of surveySaved.segments) {\n if (segment.title && !Lodash.isEmpty(segment.title)) {\n for (const question of segment.questions) {\n if (!(question.question && !Lodash.isEmpty(question.question))) {\n confirmAlert({ title: \"Error\", message: \"Question is missing, under: \" + segment.title, buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n segmentStatus = false;\n return;\n }\n }\n } else {\n confirmAlert({ title: \"Error\", message: \"Segment title is missing.\", buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n segmentStatus = false;\n return;\n }\n }\n } else {\n segmentStatus = false;\n }\n\n if (surveySaved._id === null) {\n if (LOGINSTATE) console.log(\"creating the survey as: \", surveySaved);\n surveySaved[\"published\"] = false;\n dispatch(createSurveyTemplate(surveySaved, history));\n } else {\n if (LOGINSTATE) console.log(\"updating the survey as: \", surveySaved);\n dispatch(updateSurveyTemplateById(surveySaved, history));\n // On success return, current local survey is removed\n }\n }\n } else {\n confirmAlert({ message: \"Assessment don't contain enough information to be saved.\", buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n }\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* Custom cards for survey type */}\n\n {/* Card stats */}\n \n \n \n \n \n
\n \n CHS Tool\n \n {surveyNew.version}: Current Assessment version\n
\n \n
\n \n
\n \n
\n
\n \n {\n updateSurveyDetails(values);\n }}\n innerRef={formSurveyRef}\n >\n {(props) => (\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 {/* Ask to select a survey */}\n \n
\n \n {/* survey header */}\n \n
\n
\n APP Self Assessment Tools\n

IF YOU ARE STARING A NEW ASSESSMENT, USE THIS FACILITY. OTHERWISE, YOU CAN USE AN EXISTING VERSION TO CREATE A NEW VERSION.

\n
\n
\n
\n \n \n {\n setSurveyStarted(true);\n }}\n >\n OK\n \n \n \n
\n \n
\n
\n
\n\n {/* create survey segments */}\n \n
\n \n {/* survey header */}\n \n \n \n {surveyNew.title}\n\n
Managing segments
\n \n\n \n {\n e.preventDefault();\n handleDeleteSegmentClick(e);\n }}\n />\n Delete\n\n {\n e.preventDefault();\n handleMoveUpSegmentClick(e);\n }}\n />\n Move Up\n\n {\n e.preventDefault();\n handleMoveDownSegmentClick(e);\n }}\n />\n Move Down\n\n {\n e.preventDefault();\n handleNewSegmentClick(e);\n }}\n />\n Add\n \n
\n
\n\n {/* segment content */}\n 0 ? \"block\" : \"none\" }}>\n {\n updateSegment(values);\n }}\n innerRef={formRef}\n >\n {(props) => (\n
\n \n \n \n
This code should be unique to identify the segment for this assessment.
\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 {segmentData && !Lodash.isEmpty(segmentData) && !Lodash.isEmpty(segmentData[segmentCounter].questions) && segmentData[segmentCounter].questions.length > 0 ? (\n \n

{segmentData[segmentCounter].questions.length + \" questions.\"}

\n\n {\n e.preventDefault();\n handleQuestionsClick(e);\n }}\n />\n Add\n\n

Click on plus icon to add or edit questions.

\n
\n ) : (\n \n

No questions yet!

\n\n {\n e.preventDefault();\n handleQuestionsClick(e);\n }}\n />\n Add\n\n

Click on plus icon to add questions.

\n
\n )}\n \n
\n
\n 0 ? \"none\" : \"block\" }}>\n \n \n \n {\n e.preventDefault();\n handleNewSegmentClick(e);\n }}\n />\n Add\n\n

Click on plus icon to add a new segment

\n
\n \n
\n
\n\n {/* survey footer */}\n \n \n \n
\n {showPagination && segmentCount && segmentCount > 0 ? (\n {\n setShowPagination(false);\n setSegmentCounter(current - 1);\n\n setShowPagination(true);\n }}\n >\n ) : null}\n
\n \n
\n \n \n {\n window.history.back();\n }}\n >\n BACK\n \n \n \n {\n handleSurveySave(false);\n }}\n >\n PARTLY SAVE\n \n\n {segmentCounter + 1 >= segmentCount ? (\n {\n handleSurveySave(true);\n }}\n >\n COMPLETE TEMPLATE\n \n ) : (\n {\n setSegmentCounter(segmentCounter + 1);\n }}\n >\n NEXT\n \n )}\n \n \n
\n
\n
\n
\n
\n \n );\n};\n\nexport default SurveyCreateTemplate;\n","import { TextField } from \"@material-ui/core\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { SURVEY_TEMPLATE_LOCAL } from \"constants/actionTypes\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { Formik } from \"formik\";\nimport { processArray } from \"helper\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { useDispatch, useSelector } from \"react-redux\";\nimport Pagination from \"react-responsive-pagination\";\nimport { useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Button, Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Form, Row } from \"reactstrap\";\nimport * as Yup from \"yup\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst reviewSchema = Yup.object({\n Question: Yup.string().required().min(3).max(1000),\n Note: Yup.string().min(0).max(1000),\n Code: Yup.string().required().min(2).max(10),\n});\n\nconst SurveyCreateTemplate = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const initQuestionData = {\n question: \"\",\n questionNote: \"\",\n questionCode: \"\",\n questionOrder: 0,\n questionComments: [],\n scoreRecommendations: [\n {\n score: null,\n recommendation: \"\",\n },\n ],\n };\n\n const initSurveyInfo = {\n type: \"\",\n title: \"\",\n segment: \"\",\n };\n\n const [surveyNew, setSurveyNew] = useState({}); // Create survey details\n const [questionData, setQuestionData] = useState([]); // Question details\n const [questionCount, setQuestionCount] = useState(0); // To get the maximum number of questions\n const [questionCounter, setQuestionCounter] = useState(0); // Current active question\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n const [surveyInfo, setSurveyInfo] = useState(initSurveyInfo);\n const [segmentData, setSegmentData] = useState([]); // Segment details\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [commentsList, setCommentsList] = useState([\"\"]);\n const [recommendationList, setRecommendationList] = useState([{ score: null, recommendation: \"\" }]);\n const [refreshToken, setRefreshToken] = useState(0);\n const [showPagination, setShowPagination] = useState(true);\n\n // To update fomik values\n const formRef = useRef();\n\n // get the details passed by the parameter to the page. Afterwards, process needed information\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect1\");\n\n // Loading sequence for the data\n if (localStorage.getItem(SURVEY_TEMPLATE_LOCAL)) {\n let surveySaved = JSON.parse(localStorage.getItem(SURVEY_TEMPLATE_LOCAL));\n if (LOGINSTATE) console.log(\"localstore surveySaved: \", surveySaved);\n if (surveySaved !== undefined || surveySaved !== null) {\n setInitSurvey(surveySaved);\n }\n }\n }, []);\n\n const surveySaved = useSelector((state) => state.survey.localSurveyTemplate);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect2\");\n if (LOGINSTATE) console.log(\"dispatch surveySaved: \", surveySaved);\n\n if (surveySaved !== undefined || surveySaved !== null) {\n setInitSurvey(surveySaved);\n }\n }, [surveySaved]);\n\n const setInitSurvey = (surveySaved) => {\n if (LOGINSTATE) console.log(\"---------- surveySaved: \", surveySaved);\n // get survey details\n if (!Lodash.isEmpty(surveySaved) && surveySaved.segments && !Lodash.isEmpty(surveySaved.segments)) {\n if (LOGINSTATE) console.log(\"survey is updating...\");\n setSurveyNew(surveySaved);\n setSegmentData(surveySaved.segments);\n\n // get the parameter passed values. Then set data accordingly.\n // segmentCounter is sometimes difficult to check whether empty or not. Therefore, checking the both values\n let segmentCounter = props.location.state?.segmentCounter;\n let segmentData = props.location.state?.segmentData;\n\n if (segmentCounter !== undefined && segmentData !== undefined && !Lodash.isEmpty(segmentData)) {\n if (LOGINSTATE) console.log(\"process inside\");\n setSegmentCounter(segmentCounter);\n setQuestionData(segmentData[segmentCounter].questions);\n setQuestionCount(segmentData[segmentCounter].questions.length);\n setSurveyInfo({ type: surveySaved.type, title: surveySaved.title, segment: segmentData[segmentCounter].title });\n }\n }\n };\n\n // this will set the formik values for the question\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect3\");\n if (LOGINSTATE) console.log(\"------- question\");\n\n if (formRef.current && !Lodash.isEmpty(questionData)) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"Question\", questionData[questionCounter].question, false);\n formRef.current.setFieldValue(\"Note\", questionData[questionCounter].questionNote, false);\n formRef.current.setFieldValue(\"Code\", questionData[questionCounter].questionCode, false);\n\n // since comments and recomendations are using external arrays, reset them too\n setCommentsList(questionData[questionCounter].questionComments);\n setRecommendationList(questionData[questionCounter].scoreRecommendations);\n formRef.current.setFieldValue(\"Comments\", questionData[questionCounter].questionComments, false);\n formRef.current.setFieldValue(\"Recommendations\", questionData[questionCounter].scoreRecommendations, false);\n }\n }, [questionCounter, questionData, questionCount]);\n\n // Add new question\n const handleNewQuestionClick = async (e) => {\n // If the segment is the first one, clear the formik\n if (formRef.current && questionData.length === 0) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"Question\", \"\", false);\n formRef.current.setFieldValue(\"Note\", \"\", false);\n formRef.current.setFieldValue(\"Code\", \"\", false);\n }\n let updatedQuestions = await processArray(questionData, \"ADD\", questionCounter + 1, initQuestionData);\n setQuestionCount(updatedQuestions.length);\n setQuestionData(updatedQuestions);\n if (LOGINSTATE) console.log(\"updatedQuestions: \", updatedQuestions);\n setRefreshToken(refreshToken + 1);\n };\n\n const handleDeleteQuestionClick = async (e) => {\n let updatedQuestions = await processArray(questionData, \"DELETE\", questionCounter, null);\n setQuestionCounter(questionCounter <= 0 ? 0 : questionCounter - 1);\n setQuestionCount(updatedQuestions.length);\n setQuestionData(updatedQuestions);\n setNavigationCounter(navigationCounter <= 0 ? 0 : navigationCounter - 1); // To manage the change of question count visually\n if (LOGINSTATE) console.log(\"updatedQuestions: \", updatedQuestions);\n if (LOGINSTATE) console.log(\"navigationCounter: \", navigationCounter);\n };\n\n const handleMoveUpQuestionClick = async (e) => {\n let updatedQuestions = await processArray(questionData, \"MOVEUP\", questionCounter, null);\n if (!Lodash.isEmpty(updatedQuestions)) {\n setQuestionCounter(questionCounter + 1);\n setQuestionData(updatedQuestions);\n }\n if (LOGINSTATE) console.log(\"updatedQuestions: \", updatedQuestions);\n };\n\n const handleMoveDownQuestionClick = async (e) => {\n let updatedQuestions = await processArray(questionData, \"MOVEDOWN\", questionCounter, null);\n if (!Lodash.isEmpty(updatedQuestions)) {\n setQuestionCounter(questionCounter - 1);\n setQuestionData(updatedQuestions);\n }\n if (LOGINSTATE) console.log(\"updatedQuestions: \", updatedQuestions);\n };\n\n const updateQuestion = async (values) => {\n let updatedQuestion = questionData[questionCounter];\n updatedQuestion[\"question\"] = values.Question;\n updatedQuestion[\"questionNote\"] = values.Note;\n updatedQuestion[\"questionCode\"] = values.Code;\n updatedQuestion[\"questionOrder\"] = questionCounter;\n updatedQuestion[\"questionComments\"] = values.Comments;\n updatedQuestion[\"scoreRecommendations\"] = values.Recommendations;\n\n let updatedQuestions = await processArray(questionData, \"UPDATEAT\", questionCounter, updatedQuestion);\n setQuestionData(updatedQuestions);\n\n // Locally save the survey\n let survey = surveyNew;\n let segments = segmentData;\n segments[segmentCounter][\"questions\"] = questionData;\n survey[\"segments\"] = segments;\n setSurveyNew(survey);\n // alert(\"Details are saved to local\");\n if (LOGINSTATE) console.log(\"Details are saved to local: \", survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCAL, JSON.stringify(survey));\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* Custom cards for survey type */}\n\n {/* Card stats */}\n \n \n \n \n \n
\n \n CHS Tool\n \n CHSAT\n
\n \n
\n \n
\n \n
\n

\n
\n
\n \n
\n\n
\n\n {/* create survey questions */}\n \n
\n \n {/* survey header */}\n \n \n \n {surveyInfo.title}\n

{surveyInfo.segment}

\n {/* {console.log(\"$questionCounter\", questionCounter)}\n {console.log(\"$questionData\", questionData)} */}\n
Managing questions
\n \n\n \n {\n e.preventDefault();\n handleDeleteQuestionClick(e);\n }}\n />\n Delete\n\n {\n e.preventDefault();\n handleMoveUpQuestionClick(e);\n }}\n style={{ fontSize: 28, color: GlobalStylesColor.mbppThemeBlue, marginRight: 5, cursor: \"pointer\" }}\n />\n Move Up\n\n {\n e.preventDefault();\n handleMoveDownQuestionClick(e);\n }}\n style={{ fontSize: 28, color: GlobalStylesColor.mbppThemeBlue, marginRight: 5, cursor: \"pointer\" }}\n />\n Move Down\n\n {\n e.preventDefault();\n handleNewQuestionClick(e);\n }}\n style={{ fontSize: 28, color: GlobalStylesColor.mbppThemeBlue, marginRight: 5, cursor: \"pointer\" }}\n />\n Add\n \n
\n
\n\n {/* question content */}\n 0 ? \"block\" : \"none\" }}>\n {\n updateQuestion(values);\n }}\n innerRef={formRef}\n >\n {(props) => (\n
\n
\n
\n Assessment Question\n
\n\n \n \n \n \n \n \n
This code should be unique to identify the question for this assessment.
\n \n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n
\n\n \n \n {props.submitCount > 0 && !props.isValid ? (\n
\n There are errors! Please correct and retry.\n
\n ) : null}\n \n
\n\n \n \n \n \n
\n )}\n \n
\n 0 ? \"none\" : \"block\" }}>\n \n \n {\n e.preventDefault();\n handleNewQuestionClick(e);\n }}\n />\n Add\n \n \n \n\n {/* survey footer */}\n \n \n \n
\n {showPagination && questionCount && questionCount > 0 ? (\n {\n setShowPagination(false);\n setQuestionCounter(current - 1);\n\n setShowPagination(true);\n }}\n >\n ) : null}\n
\n \n
\n \n \n {\n window.history.back();\n }}\n >\n BACK\n \n\n {questionCounter + 1 >= questionCount ? null : (\n {\n setQuestionCounter(questionCounter + 1);\n }}\n >\n NEXT\n \n )}\n \n \n
\n
\n
\n
\n
\n \n );\n};\n\nexport default SurveyCreateTemplate;\n","import { fetchLocalizationBySurveyTemplate, updateLocalizationBySurveyTemplate, deleteSurveyLocalization } from \"actions/survey\";\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Badge, Button, Card, CardHeader, Container, CardFooter, Col, Row, Table } from \"reactstrap\";\nimport { GlobalStylesColor, ChsStyles } from \"constants/globalStyles\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { SURVEY_TEMPLATE_LOCALE_LOCAL } from \"constants/actionTypes\";\nimport { survey_status } from \"helper\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; //Import css\nimport { confirmAlert } from \"react-confirm-alert\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\n\n// Populate version row for each survey type\nconst SurveyRow = ({ survey, isLast, editClick, statusClick, deleteClick }) => (\n // Version | Language Code | Title | Status\n \n {survey.languageCode}\n {survey.title}\n {survey.status}\n \n {survey.published ? (\n \n \n YES\n \n ) : (\n \n \n NO\n \n )}\n \n \n
\n \n {\n editClick(e, survey);\n }}\n >\n \n
\n \n\n \n {\n statusClick(e, survey);\n }}\n >\n {survey.published ? : }\n \n \n\n \n {\n confirmAlert({\n title: 'Confirm delete',\n buttons: [\n { label: \"No\", onClick: () => { } },\n {\n label: \"Yes\", onClick: () => {\n deleteClick(e, survey);\n }\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false\n });\n }}\n >\n \n \n \n \n \n \n);\n\n// export function\nconst SurveyLocalization = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n const [surveryTitle, setSurveryTitle] = useState(\"\");\n const [surveyVersion, setSurveyVersion] = useState(\"\");\n\n useEffect(() => {\n // fetching the localizations for the survey\n const survey = props.location.state?.survey;\n if (survey && !Lodash.isEmpty(survey)) {\n dispatch(fetchLocalizationBySurveyTemplate({ surveyId: survey._id }, history));\n setSurveryTitle(survey.title);\n setSurveyVersion(survey.version);\n }\n dispatch(fetchMasterDataLanguageAll());\n }, []);\n\n // get forum topics\n const surveyLocalizationAll = useSelector((state) => state.survey.surveyLocalizationAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"surveyLocalizationAll: \", surveyLocalizationAll);\n if (LOGINSTATE) console.log(\"surveyLocalization languages: \", Lodash.get(surveyLocalizationAll, \"languageCode\"));\n }, [surveyLocalizationAll]);\n\n // handle Click event of the survey. Navigate to the localization page. There will be auto english version for every version\n const handleEditClick = (e, surveyLocale) => {\n e.preventDefault();\n if (LOGINSTATE) console.log(\"current surveyLocale: \", surveyLocale);\n dispatch({ type: SURVEY_TEMPLATE_LOCALE_LOCAL, payload: surveyLocale });\n localStorage.setItem(SURVEY_TEMPLATE_LOCALE_LOCAL, JSON.stringify(surveyLocale));\n history.push({ pathname: \"/registered/assessment_localization_language\", state: { survey: surveyLocale, languages: language } });\n };\n\n const handleStatusClick = (e, surveyLocale) => {\n e.preventDefault();\n if (surveyLocale.status === survey_status.COMPLETE) {\n surveyLocale[\"published\"] = !surveyLocale.published;\n surveyLocale[\"localizationId\"] = surveyLocale._id;\n dispatch(updateLocalizationBySurveyTemplate(surveyLocale, history));\n } else {\n confirmAlert({ title: \"Status Error!\", message: \"Please complete the assessment to be published.\", buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n }\n };\n\n const language = useSelector((state) => state.masterData.languageAll);\n\n const handleCreateClick = (e) => {\n e.preventDefault();\n\n let locales = surveyLocalizationAll.map((survey, i) => {\n return survey;\n });\n locales.push({languageCode: \"en\"});\n if (LOGINSTATE) console.log(\"locales: \", locales);\n const survey = props.location.state?.survey;\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCALE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCALE_LOCAL, JSON.stringify(survey));\n\n let finalLang = Lodash.reject(language, function (currentLang) {\n return Lodash.find(locales, { languageCode: currentLang.code });\n });\n if (LOGINSTATE) console.log(\"finalLang\", finalLang);\n if (Lodash.isEmpty(finalLang)) {\n confirmAlert({\n title: \"Error\",\n message: \"Assessment localizations are exist for all languages.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {},\n },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n } else {\n history.push({ pathname: \"/registered/assessment_localization_language\", state: { survey: survey, languages: finalLang } });\n }\n };\n\n const handleDeleteClick = (e, survey) => {\n if (LOGINSTATE) console.log(\"survey\", survey);\n e.preventDefault();\n let values = {\n localizationId: survey._id,\n };\n dispatch(deleteSurveyLocalization(values, history));\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n \n
\n \n \n
\n
\n

{surveryTitle}

\n
{surveyVersion}
\n
\n
\n {\n handleCreateClick(e);\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 {surveyLocalizationAll &&\n !Lodash.isEmpty(surveyLocalizationAll) &&\n surveyLocalizationAll.map((survey, i) => {\n return ;\n })}\n \n
LANGUAGE CODETitleSTATUSPUBLISHEDActions
enEnglish locale (default)COMPLETE\n \n \n YES\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 window.history.back();\n }}\n >\n BACK\n \n \n \n \n \n \n
\n \n );\n};\n\nexport default SurveyLocalization;\n","import { SURVEY_TEMPLATE_LOCALE_LOCAL } from \"constants/actionTypes\";\n\nimport { FormControl, TextField } from \"@material-ui/core\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Row, Form, Button } from \"reactstrap\";\nimport Pagination from \"react-responsive-pagination\";\n\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { Formik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\nimport { createLocalizationBySurveyTemplate, updateLocalizationBySurveyTemplate } from \"actions/survey\";\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\nimport { survey_status } from \"helper\";\n\nconst reviewSchema = Yup.object({\n Title: Yup.string().required().min(4).max(1000),\n Code: Yup.string().required().min(2).max(10),\n});\n\nconst reviewSurveySchema = Yup.object({\n Title: Yup.string().required().min(4).max(1000),\n Version: Yup.number().required(),\n LanguageCode: Yup.string().required(\"Language is a required field\").min(2),\n});\n\nconst SurveyLocalizationLanguage = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const initSurvey = {\n version: 0.0,\n title: \"CHSAT\",\n description: \"Survey description\",\n type: \"TIE\",\n status: false,\n segments: [],\n };\n\n const initSegmentData = {\n title: \"\",\n description: \"\",\n segmentCode: \"\",\n segmentOrder: 0,\n questions: [],\n };\n\n const [surveyStarted, setSurveyStarted] = useState(false);\n const [surveyNew, setSurveyNew] = useState(initSurvey); // Create survey details\n const [segmentData, setSegmentData] = useState([]); // Segment details\n const [segmentCount, setSegmentCount] = useState(0); // To get the maximum number of segments\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n const [isNew, setIsNew] = useState(false);\n const [chsLanguages, setChsLanguages] = useState([]); // For translations\n const [showPagination, setShowPagination] = useState(true);\n \n // To update fomik values\n const formRef = useRef();\n const formSurveyRef = useRef();\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect1\");\n\n // Loading sequence for the data\n if (localStorage.getItem(SURVEY_TEMPLATE_LOCALE_LOCAL)) {\n let surveySaved = JSON.parse(localStorage.getItem(SURVEY_TEMPLATE_LOCALE_LOCAL));\n if (LOGINSTATE) console.log(\"--------------------- local store surveySaved: \", surveySaved);\n if (surveySaved !== undefined || surveySaved !== null) {\n setInitSurvey(surveySaved);\n }\n }\n\n if (props.location.state?.survey && !Lodash.isEmpty(props.location.state?.survey)) {\n setSurveyStarted(true);\n }\n\n dispatch(fetchMasterDataLanguageAll());\n }, []);\n\n const surveySaved = useSelector((state) => state.survey.localSurveyTemplateLocale);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect2\");\n if (LOGINSTATE) console.log(\"dispatch surveySaved: \", surveySaved);\n\n if (surveySaved !== undefined && surveySaved !== null) {\n setInitSurvey(surveySaved);\n }\n }, [surveySaved]);\n\n const languageAll = useSelector((state) => state.masterData.languageAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"languageAll: \", props.location.state?.survey.languageCode);\n\n if (languageAll !== undefined && languageAll !== null) {\n setChsLanguages(props.location.state?.languages);\n }\n }, [languageAll]);\n\n const setInitSurvey = (surveySaved) => {\n if (LOGINSTATE) console.log(\"surveySaved: \", surveySaved);\n // get active survey details\n if (!Lodash.isEmpty(surveySaved) && surveySaved.segments && !Lodash.isEmpty(surveySaved.segments)) {\n if (LOGINSTATE) console.log(\"survey is updating...\");\n setSurveyNew(surveySaved);\n setSegmentData(surveySaved.segments);\n setSegmentCount(surveySaved.segments.length);\n if (Lodash.has(surveySaved, \"languageCode\") && !Lodash.isEmpty(surveySaved.languageCode)) {\n if (LOGINSTATE) console.log(\"language code exist: \", surveySaved.languageCode);\n setIsNew(false);\n } else {\n setIsNew(true);\n }\n }\n };\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect3\");\n\n if (formRef.current && !Lodash.isEmpty(segmentData)) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"Title\", segmentData[segmentCounter].title, false);\n formRef.current.setFieldValue(\"Description\", segmentData[segmentCounter].description, false);\n formRef.current.setFieldValue(\"Code\", segmentData[segmentCounter].segmentCode, false);\n }\n\n if (formSurveyRef.current && !Lodash.isEmpty(surveyNew)) {\n if (LOGINSTATE) console.log(\"survey details\");\n formSurveyRef.current.setFieldValue(\"Version\", surveyNew.version, false);\n formSurveyRef.current.setFieldValue(\"Title\", surveyNew.title, false);\n formSurveyRef.current.setFieldValue(\"Description\", surveyNew.description, false);\n formSurveyRef.current.setFieldValue(\"LanguageCode\", surveyNew.languageCode, false);\n }\n }, [segmentCounter, segmentData]);\n\n // Process array actions\n const processArray = async (array, process, position, value) => {\n let deletedElements = null;\n if (process === \"ADD\") {\n deletedElements = array.splice(position, 0, value);\n return array;\n } else if (process === \"DELETE\") {\n deletedElements = array.splice(position, 1);\n return array;\n } else if (process === \"MOVEUP\") {\n if (array.length > position + 1) {\n let temp = array[position];\n array[position] = array[position + 1];\n array[position + 1] = temp;\n return array;\n } else {\n return [];\n }\n } else if (process === \"MOVEDOWN\") {\n if (0 <= position - 1) {\n let temp = array[position];\n array[position] = array[position - 1];\n array[position - 1] = temp;\n return array;\n } else {\n return [];\n }\n } else if (process === \"UPDATEAT\") {\n array[position] = value;\n return array;\n } else {\n return array;\n }\n };\n\n const updateSegment = async (values) => {\n let updatedSegment = segmentData[segmentCounter];\n updatedSegment[\"title\"] = values.Title;\n updatedSegment[\"description\"] = values.Description;\n updatedSegment[\"segmentCode\"] = values.Code;\n updatedSegment[\"segmentOrder\"] = segmentCounter;\n\n let updatedSegments = await processArray(segmentData, \"UPDATEAT\", segmentCounter, updatedSegment);\n setSegmentData(updatedSegments);\n updateLocalSurvey(updatedSegments);\n };\n\n // save the survey's main details\n const updateSurveyDetails = async (values) => {\n let survey = surveyNew;\n survey[\"version\"] = values.Version;\n survey[\"title\"] = values.Title;\n survey[\"description\"] = values.Description;\n survey[\"languageCode\"] = values.LanguageCode;\n setSurveyNew(survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCALE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCALE_LOCAL, JSON.stringify(survey));\n };\n\n // save the survey's segment details\n const updateLocalSurvey = (updatedSegments) => {\n // Locally save the survey\n let survey = surveyNew;\n survey[\"segments\"] = updatedSegments;\n setSurveyNew(survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCALE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCALE_LOCAL, JSON.stringify(survey));\n };\n\n // TODO: check whether its need to save the segment before saving questions.\n const handleQuestionsClick = (e) => {\n history.push({ pathname: \"/registered/assessment_localization_language_question\", state: { segmentCounter: segmentCounter, segmentData: segmentData } });\n };\n\n // TODO: properly save the survey. Currenly not validating the survey before it's save to the surver.\n const handleSurveySave = async (isComplete) => {\n let languages = [\"en\", ...props.location.state?.languages];\n\n let surveySaved = null;\n if (localStorage.getItem(SURVEY_TEMPLATE_LOCALE_LOCAL)) {\n surveySaved = JSON.parse(await localStorage.getItem(SURVEY_TEMPLATE_LOCALE_LOCAL));\n if (LOGINSTATE) console.log(\"local store surveySaved: \", surveySaved);\n }\n\n if (surveySaved !== undefined && surveySaved !== null && !Lodash.isEmpty(surveySaved)) {\n // language code is mandatory\n if (!(surveySaved.languageCode && surveySaved.languageCode.length >= 2)) {\n confirmAlert({ title: \"Error\", message: \"'Language Code*' is unavailable. Please update the locale.\", buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n return;\n }\n // language locale should be unique. if a new locale, check it.\n else if (!surveySaved.languageCode && languages.includes(surveySaved.languageCode)) {\n confirmAlert({ title: \"Error\", message: \"Locale already exists.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\n return;\n } else {\n // Add a validation method\n\n surveySaved[\"status\"] = isComplete ? survey_status.COMPLETE : survey_status.PROGRESS;\n\n if (isNew) {\n if (LOGINSTATE) console.log(\"create the locale with: \", surveySaved);\n surveySaved[\"surveyId\"] = surveySaved._id;\n surveySaved[\"published\"] = false;\n dispatch(createLocalizationBySurveyTemplate(surveySaved, history));\n } else {\n if (LOGINSTATE) console.log(\"update the locale with: \", surveySaved);\n surveySaved[\"localizationId\"] = surveySaved._id;\n dispatch(updateLocalizationBySurveyTemplate(surveySaved, history));\n }\n }\n } else {\n return confirmAlert({ title: \"Error\", message: \"Assessment locale error. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }],closeOnEscape: false, closeOnClickOutside: false });\n }\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* Custom cards for survey type */}\n\n {/* Card stats */}\n \n \n \n \n \n
\n \n CHS Tool\n \n {surveyNew.version}: Current locale version\n
\n \n
\n \n
\n \n
\n
\n \n {\n updateSurveyDetails(values);\n }}\n innerRef={formSurveyRef}\n >\n {(props) => (\n
\n \n \n \n \n\n \n \n \n \n {chsLanguages.map((key, i) => {\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 {/* Ask to select a survey */}\n \n
\n \n {/* survey header */}\n \n
\n
\n APP Self Assessment Tools\n

\n
\n
\n
\n \n \n {\n setSurveyStarted(true);\n }}\n >\n OK\n \n \n \n
\n \n
\n
\n
\n\n {/* create survey segments */}\n \n
\n \n {/* survey header */}\n \n \n \n {surveyNew.title}\n {/* {console.log(\"$segmentCounter\", segmentCounter)}\n {console.log(\"$segmentData\", segmentData)} */}\n
Managing segments
\n \n
\n
\n\n {/* segment content */}\n 0 ? \"block\" : \"none\" }}>\n {\n updateSegment(values);\n }}\n innerRef={formRef}\n >\n {(props) => (\n
\n \n \n \n
This code should be unique to identify the segment for this assessment.
\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 {segmentData && !Lodash.isEmpty(segmentData) && !Lodash.isEmpty(segmentData[segmentCounter].questions) && segmentData[segmentCounter].questions.length > 0 ? (\n \n

{segmentData[segmentCounter].questions.length + \" questions.\"}

\n\n {\n e.preventDefault();\n handleQuestionsClick(e);\n }}\n />\n Add\n

Click on plus icon to edit questions.

\n
\n ) : (\n <>\n

No questions.

\n \n )}\n \n
\n
\n 0 ? \"none\" : \"block\" }}>\n \n \n

No segments.

\n \n
\n
\n\n {/* survey footer */}\n \n \n \n
\n {showPagination && segmentCount && segmentCount > 0 ? (\n {\n setShowPagination(false);\n setSegmentCounter(current - 1);\n\n setShowPagination(true);\n }}\n >\n ) : null}\n
\n \n
\n \n \n {\n history.goBack();\n }}\n >\n BACK\n \n \n\n \n {\n handleSurveySave(false);\n }}\n >\n PARTLY SAVE\n \n\n {segmentCounter + 1 === segmentCount ? (\n {\n handleSurveySave(true);\n }}\n >\n COMPLETE LOCALE\n \n ) : (\n {\n setSegmentCounter(segmentCounter + 1);\n }}\n >\n NEXT\n \n )}\n \n \n
\n
\n
\n
\n
\n \n );\n};\n\nexport default SurveyLocalizationLanguage;\n","import { SURVEY_TEMPLATE_LOCALE_LOCAL } from \"constants/actionTypes\";\n\nimport { TextField, Grid } from \"@material-ui/core\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Row, Form, Button } from \"reactstrap\";\nimport Pagination from \"react-responsive-pagination\";\n\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { Formik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\nconst reviewSchema = Yup.object({\n Question: Yup.string().required().min(4).max(1000),\n Note: Yup.string().min(0).max(1000),\n Code: Yup.string().required().min(2).max(10),\n});\n\nconst SurveyLocalizationLanguageQuestion = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const initQuestionData = {\n question: \"\",\n questionNote: \"\",\n questionCode: \"\",\n questionOrder: 0,\n questionComments: [],\n scoreRecommendations: [\n {\n score: null,\n recommendation: \"\",\n },\n ],\n };\n\n const initSurveyInfo = {\n type: \"\",\n title: \"\",\n segment: \"\",\n };\n\n const [surveyNew, setSurveyNew] = useState({}); // Create survey details\n const [questionData, setQuestionData] = useState([]); // Question details\n const [questionCount, setQuestionCount] = useState(0); // To get the maximum number of questions\n const [questionCounter, setQuestionCounter] = useState(0); // Current active question\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n const [surveyInfo, setSurveyInfo] = useState(initSurveyInfo);\n const [segmentData, setSegmentData] = useState([]); // Segment details\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [commentsList, setCommentsList] = useState([\"\"]);\n const [recommendationList, setRecommendationList] = useState([{ score: null, recommendation: \"\" }]);\n const [showPagination, setShowPagination] = useState(true);\n\n // To update fomik values\n const formRef = useRef();\n\n // get the details passed by the parameter to the page. Afterwards, process needed information\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect1\");\n\n // Loading sequence for the data\n if (localStorage.getItem(SURVEY_TEMPLATE_LOCALE_LOCAL)) {\n let surveySaved = JSON.parse(localStorage.getItem(SURVEY_TEMPLATE_LOCALE_LOCAL));\n if (LOGINSTATE) console.log(\"localstore surveySaved: \", surveySaved);\n if (surveySaved !== undefined || surveySaved !== null) {\n setInitSurvey(surveySaved);\n }\n }\n }, []);\n\n const surveySaved = useSelector((state) => state.survey.localSurveyTemplateLocale);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect2\");\n if (LOGINSTATE) console.log(\"dispatch surveySaved: \", surveySaved);\n\n if (surveySaved !== undefined || surveySaved !== null) {\n setInitSurvey(surveySaved);\n }\n }, [surveySaved]);\n\n const setInitSurvey = (surveySaved) => {\n if (LOGINSTATE) console.log(\"---------- surveySaved: \", surveySaved);\n // get survey details\n if (!Lodash.isEmpty(surveySaved) && surveySaved.segments && !Lodash.isEmpty(surveySaved.segments)) {\n if (LOGINSTATE) console.log(\"survey is updating...\");\n setSurveyNew(surveySaved);\n setSegmentData(surveySaved.segments);\n\n // get the parameter passed values. Then set data accordingly.\n // segmentCounter is sometimes difficult to check whether empty or not. Therefore, checking the both values\n let segmentCounter = props.location.state?.segmentCounter;\n let segmentData = props.location.state?.segmentData;\n\n if (segmentCounter !== undefined && segmentData !== undefined && !Lodash.isEmpty(segmentData)) {\n if (LOGINSTATE) console.log(\"process inside\");\n setSegmentCounter(segmentCounter);\n setQuestionData(segmentData[segmentCounter].questions);\n setQuestionCount(segmentData[segmentCounter].questions.length);\n if (LOGINSTATE) console.log(\"surveySaved.type: \", surveySaved.type);\n if (LOGINSTATE) console.log(\"surveySaved.title: \", surveySaved.title);\n setSurveyInfo({ type: surveySaved.type, title: surveySaved.title, segment: segmentData[segmentCounter].title });\n }\n }\n };\n\n // this will set the formik values for the question\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect3\");\n\n if (formRef.current && !Lodash.isEmpty(questionData)) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"Question\", questionData[questionCounter].question, false);\n formRef.current.setFieldValue(\"Note\", questionData[questionCounter].questionNote, false);\n formRef.current.setFieldValue(\"Code\", questionData[questionCounter].questionCode, false);\n\n // since comments and recomendations are using external arrays, reset them too\n setCommentsList(questionData[questionCounter].questionComments);\n setRecommendationList(questionData[questionCounter].scoreRecommendations);\n formRef.current.setFieldValue(\"Comments\", questionData[questionCounter].questionComments, false);\n formRef.current.setFieldValue(\"Recommendations\", questionData[questionCounter].scoreRecommendations, false);\n }\n }, [questionCounter, questionData]);\n\n // Process array actions\n const processArray = async (array, process, position, value) => {\n let deletedElements = null;\n if (process === \"ADD\") {\n deletedElements = array.splice(position, 0, value);\n return array;\n } else if (process === \"DELETE\") {\n deletedElements = array.splice(position, 1);\n return array;\n } else if (process === \"MOVEUP\") {\n if (array.length > position + 1) {\n let temp = array[position];\n array[position] = array[position + 1];\n array[position + 1] = temp;\n return array;\n } else {\n return [];\n }\n } else if (process === \"MOVEDOWN\") {\n if (0 <= position - 1) {\n let temp = array[position];\n array[position] = array[position - 1];\n array[position - 1] = temp;\n return array;\n } else {\n return [];\n }\n } else if (process === \"UPDATEAT\") {\n array[position] = value;\n return array;\n } else {\n return array;\n }\n };\n\n // Add new question\n const handleNewQuestionClick = async (e) => {\n let updatedQuestions = await processArray(questionData, \"ADD\", questionCounter + 1, initQuestionData);\n setQuestionCount(updatedQuestions.length);\n setQuestionData(updatedQuestions);\n if (LOGINSTATE) console.log(\"updatedQuestions: \", updatedQuestions);\n };\n\n const updateQuestion = async (values) => {\n let updatedQuestion = questionData[questionCounter];\n updatedQuestion[\"question\"] = values.Question;\n updatedQuestion[\"questionNote\"] = values.Note;\n updatedQuestion[\"questionCode\"] = values.Code;\n updatedQuestion[\"questionOrder\"] = questionCounter;\n updatedQuestion[\"questionComments\"] = values.Comments;\n updatedQuestion[\"scoreRecommendations\"] = values.Recommendations;\n\n let updatedQuestions = await processArray(questionData, \"UPDATEAT\", questionCounter, updatedQuestion);\n setQuestionData(updatedQuestions);\n\n // Locally save the survey\n let survey = surveyNew;\n let segments = segmentData;\n segments[segmentCounter][\"questions\"] = questionData;\n survey[\"segments\"] = segments;\n setSurveyNew(survey);\n // alert(\"Details are saved to local\");\n if (LOGINSTATE) console.log(\"Details are saved to local: \", survey);\n dispatch({ type: SURVEY_TEMPLATE_LOCALE_LOCAL, payload: survey });\n localStorage.setItem(SURVEY_TEMPLATE_LOCALE_LOCAL, JSON.stringify(survey));\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* Custom cards for survey type */}\n\n {/* Card stats */}\n \n \n \n \n \n
\n \n CHS Tool\n \n \n {/* {surveyInfo.type} */}\n CHSAT\n \n
\n \n
\n \n
\n \n
\n

{/* {surveyInfo.title} */}

\n
\n
\n \n
\n\n
\n\n {/* create survey questions */}\n \n
\n \n {/* survey header */}\n \n \n \n {surveyInfo.title}\n

{surveyInfo.segment}

\n {/* {console.log(\"$questionCounter\", questionCounter)}\n {console.log(\"$questionData\", questionData)} */}\n
Managing questions
\n \n
\n
\n\n {/* question content */}\n 0 ? \"block\" : \"none\" }}>\n {\n // actions.resetForm();\n updateQuestion(values);\n }}\n // innerRef={ref => { this.formRef = ref; }}\n innerRef={formRef}\n >\n {(props) => (\n
\n
\n
\n Assessment Question\n
\n\n \n \n \n \n \n \n
This code should be unique to identify the question for this assessment.
\n \n
\n\n \n \n \n \n \n\n \n \n \n \n \n \n
\n\n \n \n {props.submitCount > 0 && !props.isValid ? (\n
\n There are errors! Please correct and retry.\n
\n ) : null}\n \n
\n\n \n \n \n \n
\n )}\n \n
\n 0 ? \"none\" : \"block\" }}>\n \n \n {\n e.preventDefault();\n handleNewQuestionClick(e);\n }}\n />\n Add\n\n

Click on plus icon to add a new question

\n \n
\n
\n\n {/* survey footer */}\n \n \n \n {\n window.history.back();\n }}\n >\n BACK\n \n {questionCounter + 1 === questionCount ? null : (\n {\n setQuestionCounter(questionCounter + 1);\n }}\n >\n NEXT\n \n )}\n \n \n
\n {showPagination && questionCount && questionCount > 0 ? (\n {\n setShowPagination(false);\n setQuestionCounter(current - 1);\n\n setShowPagination(true);\n }}\n >\n ) : null}\n
\n \n
\n
\n
\n
\n
\n
\n \n );\n};\n\nexport default SurveyLocalizationLanguageQuestion;\n","// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport CommonHeader from \"components/Headers/CommonHeader\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport NavigateNextIcon from \"@material-ui/icons/NavigateNext\";\n\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, DropdownItem, DropdownMenu, DropdownToggle, Media, Nav, Navbar, UncontrolledDropdown, Row, Label, Form, Button } from \"reactstrap\";\n\nimport { fetchProfileOrg } from \"actions/user\";\nimport { fetchLocalizationContent, fetchMasterDataLanguage } from \"actions/masterData\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { Formik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { institutionalQuestions, initialValues_assessmentPage, RTL_FLAG_RIGHT } from \"helper\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { t } from \"i18next\";\n\nconst localStyle = { question: { fontWeight: \"600\" }, answer: { color: GlobalStylesColor.mbppBlue, marginBottom: 4 }, remark: { color: GlobalStylesColor.mbppBlue, marginBottom: 30 } };\n\nconst reviewSchema = Yup.object({\n organization: Yup.string().required(),\n type: Yup.string().required(),\n legalStatus: Yup.string().required(),\n legalMandate: Yup.string(),\n geographicArea: Yup.string().required(),\n numberOfEmployees: Yup.number(),\n drmActivities: Yup.string().required(),\n visionMission: Yup.string().required(),\n functionalStructure: Yup.string().required(),\n unitProject: Yup.string().required(),\n unitStakeholders: Yup.string().required(),\n country: Yup.string().required(),\n});\n\nconst AnswerInstitute = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [surveyLanguage, setSurveyLanguage] = useState(\"en\");\n const [surveyOrganization, setSurveyOrganization] = useState({}); // To hold organization Q&A\n const [showDetails, setShowDetails] = useState(false);\n const [systemContentLocale, setSystemContentLocale] = useState({});\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n // To update fomik values\n const formRef = useRef();\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLanguage\", userLanguage);\n useEffect(() => {\n // Get profile data to fill organization questions\n dispatch(fetchProfileOrg());\n dispatch(fetchLocalizationContent());\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n const userProfileOrg = useSelector((state) => state.user.userProfileOrg);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"userProfileOrg: \", userProfileOrg);\n if (LOGINSTATE) console.log(\"userProfileOrg1: \", userProfileOrg?.profile);\n if (LOGINSTATE) console.log(\"userProfileOrg2: \", userProfileOrg?.profile?.employment);\n if (LOGINSTATE) console.log(\"userProfileOrg3: \", userProfileOrg?.profile?.employment?.organization);\n\n if (userProfileOrg?.profile?.language && !Lodash.isEmpty(userProfileOrg?.profile?.language)) {\n setSurveyLanguage(userProfileOrg?.profile?.language);\n if (LOGINSTATE) console.log(\"user language: \", surveyLanguage);\n }\n\n const organization =\n userProfileOrg && userProfileOrg?.profile && userProfileOrg?.profile?.employment && userProfileOrg?.profile?.employment?.organization && !Lodash.isEmpty(userProfileOrg?.profile?.employment?.organization)\n ? userProfileOrg?.profile?.employment?.organization\n : {};\n if (LOGINSTATE) console.log(\"start populating organization: \", organization);\n\n // updating the formik init value using profile details\n if (formRef.current && !Lodash.isEmpty(organization)) {\n const city = Lodash.find(organization.city, { _id: userProfileOrg?.profile?.employment?.linkedCity });\n\n // formRef.current?.resetForm();\n formRef.current.setFieldValue(\"organization\", organization?.name, false);\n formRef.current.setFieldValue(\"type\", organization?.type, false);\n formRef.current.setFieldValue(\"legalStatus\", organization?.legalStatus?.status === true ? t(\"profile.Yes\") : t(\"profile.No\"), false);\n formRef.current.setFieldValue(\"legalMandate\", organization?.legalStatus?.mandate, false);\n\n formRef.current.setFieldValue(\"geographicArea\", organization?.geographicArea, false);\n formRef.current.setFieldValue(\"visionMission\", organization?.visionMission?.status === true ? t(\"profile.Yes\") : t(\"profile.No\"), false);\n formRef.current.setFieldValue(\"visionMission_remark\", organization?.visionMission?.remark, false);\n formRef.current.setFieldValue(\"functionalStructure\", organization?.functionalStructure?.status === true ? t(\"profile.Yes\") : t(\"profile.No\"), false);\n formRef.current.setFieldValue(\"functionalStructure_remark\", organization?.functionalStructure?.remark, false);\n formRef.current.setFieldValue(\"unitProject\", organization?.unitProject?.status === true ? t(\"profile.Yes\") : t(\"profile.No\"), false);\n formRef.current.setFieldValue(\"unitProject_remark\", organization?.unitProject?.remark, false);\n formRef.current.setFieldValue(\"unitStakeholders\", organization?.unitStakeholders?.status === true ? t(\"profile.Yes\") : t(\"profile.No\"), false);\n formRef.current.setFieldValue(\"unitStakeholders_remark\", organization?.unitStakeholders?.remark, false);\n\n formRef.current.setFieldValue(\"country\", organization?.country.code, false);\n formRef.current.setFieldValue(\"language\", userProfileOrg?.profile?.language, false);\n\n formRef.current.setFieldValue(\n \"numberOfEmployees\",\n organization?.numberOfOrganizationEmployees?.number && Lodash.isNumber(organization?.numberOfOrganizationEmployees?.number) ? organization?.numberOfOrganizationEmployees?.number : 0,\n false\n );\n formRef.current.setFieldValue(\"numberOfEmployees_remark\", organization?.numberOfOrganizationEmployees?.remark, false);\n formRef.current.setFieldValue(\"drmActivities\", organization?.drmActivities, false);\n\n\n } else {\n if (LOGINSTATE) console.log(\"in else\");\n }\n }, [userProfileOrg, t]);\n\n const systemContentAll = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n const systemContent = Lodash.find(systemContentAll, { languageCode: jUser?.user?.language });\n if (systemContent && systemContent !== undefined && systemContent !== null) {\n setSystemContentLocale(systemContent.assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContentAll]);\n\n const formGoNext = () => {\n history.push({ pathname: \"/registered/assessment_answer_create\" });\n };\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* Card stats */}\n \n \n { }}>\n \n \n
\n {/* \n {systemContentLocale.app_tool}\n */}\n {systemContentLocale.chsat}\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n\n \n { }}>\n \n \n
\n {systemContentLocale.icat}\n \n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n\n \n { }}>\n \n \n
\n {systemContentLocale.tie}\n
\n \n
\n \n
\n \n
\n
\n
\n
\n \n
\n\n
\n\n {/* Ask to select a survey with current organization profile*/}\n \n
\n \n {/* survey header */}\n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n
\n \n {\n history.push({ pathname: \"/registered/user_profile\" });\n }}\n >\n \n
\n \n
\n
\n {/* {systemContentLocale.chs_app} */}\n

{systemContentLocale.app_assessment_step_01_title}

\n
{systemContentLocale.app_assessment_step_01_message}
\n
\n
\n ) : (\n
\n
\n {/* {systemContentLocale.chs_app} */}\n

{systemContentLocale.app_assessment_step_01_title}

\n
{systemContentLocale.app_assessment_step_01_message}
\n
\n
\n \n {\n history.push({ pathname: \"/registered/user_profile\" });\n }}\n >\n \n
\n \n
\n \n )}\n \n\n {/* survey content */}\n \n {\n if (LOGINSTATE) console.log(\"values: \", values);\n formGoNext();\n }}\n innerRef={formRef}\n >\n {(props) => (\n
\n
\n {systemContentLocale.app_assessment_sentence} {systemContentLocale.app_assessment_sentence_ref}.\n
\n\n
\n {\n setShowDetails(true);\n }}\n style={{ fontSize: 12, cursor: \"pointer\", display: showDetails ? \"none\" : \"block\" }}\n >\n {systemContentLocale.app_assessment_organization_details}\n \n\n
\n {/* {console.log(\"formik values: \", props.values)} */}\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
\n \n
\n
\n\n \n \n {(LOGINSTATE) ? console.log(\"Yup errors: \", props.errors) : null}\n {props.submitCount > 0 && !props.isValid ? (\n

{t(\"assessmentPage.profileIncomplete\")}

\n ) : (\n
\n )}\n \n
\n \n )}\n \n
\n\n {/* card footer */}\n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n {\n formRef.current?.submitForm();\n }}\n >\n {systemContentLocale.app_next}\n \n \n \n ) : (\n
\n {\n formRef.current?.submitForm();\n }}\n >\n {systemContentLocale.app_next}\n \n
\n )}\n
\n \n \n
\n
\n \n );\n};\n\nexport default AnswerInstitute;\n","import { withStyles } from \"@material-ui/core\";\r\nimport { Pagination as MuiPagination } from \"@material-ui/lab\";\r\nimport Pagination from \"react-responsive-pagination\";\r\n\r\nconst MuiPaginationCustom = withStyles({\r\n root: {\r\n \"& svg\": {\r\n transform: \"scaleX(-1)\"\r\n }\r\n }\r\n})(MuiPagination);\r\n\r\nexport const RtlPagination = (props) => {\r\n return (\r\n !!props.rtol || (props.rtol && props.rtol === true)\r\n ? props.onPageChange(page)}\r\n count={props.total}\r\n // color='secondary'\r\n shape=\"rounde\"\r\n size='large'\r\n style={{\r\n justifyContent: \"center\",\r\n display: 'flex'\r\n }}\r\n >\r\n : \r\n )\r\n}","import { withStyles } from \"@material-ui/core\";\nimport { Pagination as MuiPagination } from \"@material-ui/lab\";\nimport { RtlTextField } from \"../../../components/Custom/RTLTextField\";\nimport { RtlPagination } from \"../../../components/Custom/RTLPagination\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport CommonHeader from \"components/Headers/CommonHeader\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Row, Label, Form, Input, Button } from \"reactstrap\";\nimport Pagination from \"react-responsive-pagination\";\nimport { fetchProfileOrg } from \"actions/user\";\nimport { fetchActiveSurveyByType, createSurveyAnswer, fetchLocalizationBySurveyTemplate } from \"actions/survey\";\nimport { fetchLocalizationContent, fetchMasterDataLanguage } from \"actions/masterData\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { Formik } from \"formik\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { institutionalQuestions, initialValues_assessmentPage, roundValue, RTL_FLAG_RIGHT, SAVE_DATE_TIME_FORMAT } from \"helper\";\nimport { useTranslation } from \"react-i18next\";\nimport Moment from \"moment\";\n\n\nconst localStyle = { question: { fontWeight: \"600\" }, answer: { fontStyle: \"italic\", color: GlobalStylesColor.mbppBlue, marginBottom: 30 } };\n\n\nconst AnswerCreate = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [surveyType, setSurveyType] = useState(\"\");\n const [surveyLanguage, setSurveyLanguage] = useState(\"en\");\n\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n const [surveyActive, setSurveyActive] = useState({});\n const [segmentData, setSegmentData] = useState({});\n const [segmentCount, setSegmentCount] = useState(0); // To get the maximum number of segments\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n const [surveyOrganization, setSurveyOrganization] = useState({}); // To hold organization Q&A\n const [surveyLocale, setSurveyLocale] = useState({});\n const [segmentDataLocale, setSegmentDataLocale] = useState({});\n const [systemContentLocale, setSystemContentLocale] = useState({});\n const [showPagination, setShowPagination] = useState(true);\n\n const { t } = useTranslation();\n\n // To update fomik values\n const formRef = useRef();\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLanguage\", userLanguage);\n\n const MuiPaginationCustom = withStyles({\n root: {\n \"& svg\": {\n transform: \"scaleX(-1)\"\n }\n }\n })(MuiPagination);\n\n useEffect(() => {\n // Get profile data to fill organization questions\n dispatch(fetchProfileOrg());\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n const userProfileOrg = useSelector((state) => state.user.userProfileOrg);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"userProfileOrg: \", userProfileOrg);\n if (LOGINSTATE) console.log(\"userProfileOrg1: \", userProfileOrg?.profile);\n if (LOGINSTATE) console.log(\"userProfileOrg2: \", userProfileOrg?.profile?.employment);\n if (LOGINSTATE) console.log(\"userProfileOrg3: \", userProfileOrg?.profile?.employment?.organization);\n\n if (userProfileOrg?.profile?.language && !Lodash.isEmpty(userProfileOrg?.profile?.language)) {\n setSurveyLanguage(userProfileOrg?.profile?.language);\n if (LOGINSTATE) console.log(\"user language: \", surveyLanguage);\n }\n\n const organization =\n userProfileOrg && userProfileOrg?.profile && userProfileOrg?.profile?.employment && userProfileOrg?.profile?.employment?.organization && !Lodash.isEmpty(userProfileOrg?.profile?.employment?.organization)\n ? userProfileOrg?.profile?.employment?.organization\n : {};\n if (LOGINSTATE) console.log(\"start populating organization: \", organization);\n\n if (!Lodash.isEmpty(organization)) {\n const city = Lodash.find(organization.city, { _id: userProfileOrg?.profile?.employment?.linkedCity });\n\n // values for the answers to be filled for the survey\n let params = {\n // overall\n country: organization?.country.code,\n language: userProfileOrg?.profile?.language,\n\n // organization\n organization: organization?.name,\n type: organization?.type,\n visionMission: organization?.visionMission,\n legalStatus: organization?.legalStatus,\n geographicArea: organization?.geographicArea,\n functionalStructure: organization?.functionalStructure,\n unitProject: organization?.unitProject,\n unitStakeholders: organization?.unitStakeholders,\n\n //branch\n drmActivities: organization?.drmActivities,\n numberOfOrganizationEmployees: organization?.numberOfOrganizationEmployees && Lodash.isNumber(organization?.numberOfOrganizationEmployees) ? organization?.numberOfOrganizationEmployees : 0,\n };\n setSurveyOrganization(params);\n\n // updating the formik init value using profile details. Since it's is validated during the institute, this is ignored\n if (formRef.current && !Lodash.isEmpty(organization)) {\n formRef.current?.resetForm();\n if (organization?.name) formRef.current.setFieldValue(\"organization\", organization?.name, false);\n if (organization?.type) formRef.current.setFieldValue(\"type\", organization?.type, false);\n if (organization?.legalStatus.status) formRef.current.setFieldValue(\"legalStatus\", organization?.legalStatus === true ? \"Yes\" : \"No\", false);\n if (organization?.legalStatus.mandate) formRef.current.setFieldValue(\"legalMandate\", organization?.legalMandate, false);\n\n if (organization?.geographicArea) formRef.current.setFieldValue(\"geographicArea\", organization?.geographicArea, false);\n if (organization?.visionMission) formRef.current.setFieldValue(\"visionMission\", organization?.visionMission === true ? \"Yes\" : \"No\", false);\n if (organization?.functionalStructure) formRef.current.setFieldValue(\"functionalStructure\", organization?.functionalStructure === true ? \"Yes\" : \"No\", false);\n if (organization?.unitProject) formRef.current.setFieldValue(\"unitProject\", organization?.unitProject === true ? \"Yes\" : \"No\", false);\n if (organization?.unitStakeholders) formRef.current.setFieldValue(\"unitStakeholders\", organization?.unitStakeholders === true ? \"Yes\" : \"No\", false);\n\n if (organization?.country.code) formRef.current.setFieldValue(\"country\", organization?.country.code, false);\n if (userProfileOrg?.profile?.language) formRef.current.setFieldValue(\"language\", userProfileOrg?.profile?.language, false);\n\n if (organization?.numberOfOrganizationEmployees)\n formRef.current.setFieldValue(\n \"numberOfEmployees\",\n organization?.numberOfOrganizationEmployees?.number && Lodash.isNumber(organization?.numberOfOrganizationEmployees?.number) ? organization?.numberOfOrganizationEmployees?.number : 0,\n false\n );\n if (organization?.drmActivities) formRef.current.setFieldValue(\"drmActivities\", organization?.drmActivities?.performed, false);\n } else {\n if (LOGINSTATE) console.log(\"formik init values failed.\");\n }\n }\n\n if (surveyLanguage && surveyLanguage.length >= 2) {\n // get active survey details\n const params = { languageCode: surveyLanguage };\n\n dispatch(fetchLocalizationContent(params));\n }\n }, [userProfileOrg]);\n\n // user select a survey type to proceed\n const switchSurvey = async (e, type) => {\n if (LOGINSTATE) console.log(\"calling switch survey: \", type);\n\n if (type && type.length >= 3 && surveyLanguage && surveyLanguage.length >= 2) {\n if (surveyType && !Lodash.isEmpty(surveyType) && surveyType.type !== type) {\n confirmAlert({\n title: systemContentLocale.app_assessment_switch_title,\n message: systemContentLocale.app_assessment_switch_message,\n buttons: [\n {\n label: systemContentLocale.app_yes,\n onClick: () => {\n setSurveyType(type);\n },\n },\n {\n label: systemContentLocale.app_no,\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n } else {\n setSurveyType(type);\n }\n } else {\n if (LOGINSTATE) console.log(\"not enough data to fetch the survey\");\n }\n };\n\n useEffect(() => {\n // Get the active survey if information is exist\n // Get system content for locale if exist\n if (surveyType && surveyType.length >= 3 && surveyLanguage && surveyLanguage.length >= 2) {\n // get active survey details\n const params = { type: surveyType, languageCode: surveyLanguage };\n if (LOGINSTATE) console.log(\"fetching active survey with: \", params);\n dispatch(fetchActiveSurveyByType(params, history, t));\n dispatch(fetchLocalizationContent(params, history));\n }\n }, [surveyLanguage, surveyType]);\n\n // get system content\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent) && systemContent.length > 0) {\n setSystemContentLocale(systemContent[0].assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContent]);\n\n // get active survey with localization\n const surveyActiveByType = useSelector((state) => state.survey.surveyActive);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"surveyActiveByType: \", surveyActiveByType);\n\n // Check whether the data is available, then populate accordingly\n // if (surveyActiveByType && surveyActiveByType.survey && !Lodash.isEmpty(surveyActiveByType.survey) && surveyActiveByType.survey.segments && surveyActiveByType.survey.segments[0]) {\n if (surveyActiveByType && !Lodash.isEmpty(surveyActiveByType) && surveyActiveByType.segments && surveyActiveByType.segments[0]) {\n // get locales\n dispatch(fetchLocalizationBySurveyTemplate({ surveyId: surveyActiveByType._id }, history));\n\n // Set basic data to use\n setSurveyActive(surveyActiveByType);\n setSegmentData(surveyActiveByType.segments);\n setSegmentCount(Lodash.isEmpty(surveyActiveByType.segments) ? 0 : surveyActiveByType.segments.length);\n setSegmentCounter(0);\n\n if (LOGINSTATE) console.log(\"segments available: \", surveyActiveByType);\n } else if (surveyActiveByType && Lodash.find(surveyActiveByType === {})) {\n confirmAlert({\n title: systemContentLocale.app_sorry,\n message: systemContentLocale.app_no_active_survey,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n if (LOGINSTATE) console.log(\"no segment data\");\n }\n }, [surveyActiveByType]);\n\n // get the survey localizations\n const surveyLocalizationAll = useSelector((state) => state.survey.surveyLocalizationAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"surveyLocalizationAll\", surveyLocalizationAll);\n const surveyLocaleForTemplate = Lodash.find(surveyLocalizationAll, { languageCode: surveyLanguage });\n\n if (!Lodash.isEmpty(surveyLocaleForTemplate) && surveyLocaleForTemplate?.published && surveyLocaleForTemplate?.published === true) {\n const segmentsLocale = surveyLocaleForTemplate?.segments ? surveyLocaleForTemplate?.segments : segmentData;\n setSegmentDataLocale(segmentsLocale);\n setSurveyLocale(surveyLocaleForTemplate);\n\n if (LOGINSTATE) console.log(\"segmentDataLocale : \", segmentDataLocale);\n } else {\n // console.log(\"else\");\n setSegmentDataLocale({});\n setSurveyLocale({});\n }\n }, [surveyLocalizationAll, surveyActiveByType]);\n\n const AnswerUiModel = ({ item, order, itemLocale, rtlAlignment }) => (\n <>\n = 0 ? item.score : -1,\n Remark: item.remark ? item.remark : \"\",\n }}\n // validationSchema={{}}\n onSubmit={(values, actions) => {\n if (LOGINSTATE) console.log(\"save to local template @ [\" + order + \"] - score: \" + values.Score + \" - remark: \" + values.Remark);\n\n let updatedItem = item;\n if (LOGINSTATE) console.log(\"updatedItem\", item);\n\n // item[\"score\"] = parseInt(values.Score, 10);\n item[\"score\"] = Number(values.Score);\n item[\"remark\"] = values.Remark;\n\n if (LOGINSTATE) console.log(\"order\", order);\n updateLocalSurvey(updatedItem, order);\n }}\n >\n {(props) => (\n
\n {/* left align questionnaire */}\n\n \n {/* left numbering */}\n {rtlAlignment !== \"right\" && (\n
\n \n
\n )}\n\n \n \n \n \n \n \n \n\n \n \n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n \n
\n\n \n \n \n \n \n \n\n {/* right numbering */}\n {rtlAlignment === RTL_FLAG_RIGHT && (\n
\n \n
\n )}\n
\n
\n )}\n \n \n );\n\n const saveAnswer = (item, order, score, remark) => {\n // Locally save the survey\n if (LOGINSTATE) console.log(\"save to local template @ [\" + order + \"] - score: \" + score + \" - remark: \" + remark);\n\n let updatedItem = item;\n // item[\"score\"] = parseInt(values.Score, 10);\n item[\"score\"] = Number(score);\n item[\"remark\"] = remark;\n\n updateLocalSurvey(updatedItem, order);\n };\n\n // save the survey's segment details locally\n const updateLocalSurvey = (item, order) => {\n // Locally save the survey\n let segments = segmentData;\n segments[segmentCounter].questions[order] = item;\n setSegmentData(segments);\n };\n\n const saveSurvey = (isCompleting) => {\n if (LOGINSTATE) console.log(\"saved organization: \", surveyOrganization);\n if (LOGINSTATE) console.log(\"saved survey: \", surveyActive);\n if (LOGINSTATE) console.log(\"saved segments: \", segmentData);\n\n if (isCompleting) {\n if (LOGINSTATE) console.log(\"--------------------------------------\");\n // Calculation of scores\n let segmentScore = 0;\n let segmentCount = 0;\n let segmentStatus = [];\n for (const segment of surveyActive.segments) {\n let questionScore = 0;\n let questionCount = 0;\n let questionAttempt = 0;\n if (LOGINSTATE) console.log(\"....segment: \", segment);\n\n for (const question of segment.questions) {\n if (LOGINSTATE) console.log(\"....question: \", question);\n\n if (Lodash.isNumber(question?.score) && question?.score >= 0) {\n questionAttempt++;\n if (LOGINSTATE) console.log(\"questionAttempt\", questionAttempt);\n // question is relevant to the user\n if (question.score > 0) {\n questionScore = questionScore + question.score;\n questionCount++;\n if (LOGINSTATE) console.log(\"....questionScore: \" + question.score + \" with average: \" + questionScore + \" for \" + questionCount);\n }\n // let questionScores = questionCount > 0 ? questionScore/ questionCount : 0;\n // surveyActive[\"surveyScore\"] = questionScores;\n } else {\n //TODO\n }\n }\n\n let questionAvg = questionCount > 0 ? questionScore / questionCount : 0; // to avoid divide by zero\n segment[\"segmentScore\"] = questionAvg;\n\n segmentScore = segmentScore + questionScore;\n segmentCount = segmentCount + questionCount;\n if (LOGINSTATE) console.log(\"....segmentScore: \" + segmentScore + \" segmentCount: \" + segmentCount + \"questionAvg: \" + questionAvg + \" questionScore: \" + questionScore + \" questionCount: \" + questionCount);\n\n // Check whether all the questions had been answered\n if (questionAttempt < segment.questions.length) {\n // segmentStatus = segmentStatus + (Lodash.isEmpty(segmentStatus) ? segment.title : \" | \" + segment.title);\n if (!Lodash.isEmpty(segmentDataLocale)) {\n let locale = Lodash.find(segmentDataLocale, { segmentCode: segment.segmentCode });\n segmentStatus.push(locale.title);\n // console.log(\"locale\", locale);\n } else {\n segmentStatus.push(segment.title);\n }\n\n // show error one by one, or use the total errors together at the end\n confirmAlert({\n title: systemContentLocale.app_assessment_incomplete_title,\n message: segmentStatus,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n\n return;\n }\n }\n\n let segmentAvg = segmentCount > 0 ? segmentScore / segmentCount : 0; // to avoid divide by zero\n surveyActive[\"surveyScore\"] = segmentAvg;\n if (LOGINSTATE) console.log(\"....surveyScore: \" + segmentAvg);\n if (LOGINSTATE) console.log(\"....updated survey: \", surveyActive);\n if (LOGINSTATE) console.log(\"--------------------------------------\");\n\n // there are incomplete segments, hence can't complete the survey\n // below shows all the segments. however there might not enough space\n if (!Lodash.isEmpty(segmentStatus)) {\n confirmAlert({\n title: systemContentLocale.app_assessment_incomplete_title,\n message: segmentStatus[0],\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n\n return;\n }\n }\n\n let insQuestions = [\n { code: \"organization\", question: institutionalQuestions.organization, answer: surveyOrganization?.organization, remark: \"No\" },\n { code: \"type\", question: institutionalQuestions.type, answer: surveyOrganization?.type, remark: \"No\" },\n { code: \"legalStatus\", question: institutionalQuestions.legalStatus, answer: surveyOrganization?.legalStatus?.status === true ? \"Yes\" : \"No\", remark: surveyOrganization?.legalStatus?.mandate },\n\n {\n code: \"visionMission\",\n question: institutionalQuestions.visionMission,\n answer: surveyOrganization?.visionMission?.status === true ? \"Yes\" : \"No\",\n remark: surveyOrganization?.visionMission?.remark,\n },\n { code: \"geographicArea\", question: institutionalQuestions.geographicArea, answer: surveyOrganization?.geographicArea, remark: \"No\" },\n {\n code: \"functionalStructure\",\n question: institutionalQuestions.functionalStructure,\n answer: surveyOrganization?.functionalStructure?.status === true ? \"Yes\" : \"No\",\n remark: surveyOrganization?.functionalStructure?.remark,\n },\n {\n code: \"unitProject\",\n question: institutionalQuestions.unitProject,\n answer: surveyOrganization?.unitProject?.status === true ? \"Yes\" : \"No\",\n remark: surveyOrganization?.unitProject?.remark,\n },\n {\n code: \"unitStakeholders\",\n question: institutionalQuestions.unitStakeholders,\n answer: surveyOrganization?.unitStakeholders?.status === true ? \"Yes\" : \"No\",\n remark: surveyOrganization?.unitStakeholders?.remark,\n },\n\n {\n code: \"numberOfEmployees\",\n question: institutionalQuestions.numberOfEmployees,\n answer: surveyOrganization?.numberOfOrganizationEmployees?.number,\n remark: surveyOrganization?.numberOfOrganizationEmployees?.remark,\n },\n {\n code: \"drmActivities\",\n question: institutionalQuestions.drmActivities,\n answer: surveyOrganization?.drmActivities,\n remark: \"No\",\n },\n ];\n\n let answer = {\n surveyId: surveyActive._id,\n countryCode: surveyOrganization.country,\n languageCode: surveyLanguage,\n type: surveyActive.type,\n title: surveyActive.title,\n description: surveyActive.description,\n institutionalQuestions: insQuestions,\n segments: surveyActive.segments,\n status: isCompleting ? \"COMPLETE\" : \"PROGRESS\",\n clientTimestamp: Moment().format(SAVE_DATE_TIME_FORMAT) // Should not UTC\n };\n\n if (Lodash.isNumber(surveyActive.surveyScore)) answer[\"surveyScore\"] = roundValue(surveyActive.surveyScore);\n\n if (!Lodash.isEmpty(answer)) {\n if (LOGINSTATE) console.log(\"sending answer to server to save\", answer);\n dispatch(createSurveyAnswer(answer, history, systemContentLocale, t));\n }\n };\n\n const scrollToTop = () => {\n window.scrollTo(0, 0);\n };\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n return (\n
\n \n\n {/* Page content */}\n \n {/* Card stats */}\n \n \n { }}>\n \n \n
\n \n CHS Tool\n \n Core Humanitarian Standards Assessment Tool\n
\n \n
\n \n
\n \n
\n

\n CHSAT\n

\n
\n
\n\n { }}>\n \n \n
\n \n CHS Tool\n \n Institutional Capacity Assessment Tool\n
\n \n
\n \n
\n \n
\n

\n ICAT\n

\n
\n
\n\n { }}>\n \n \n
\n \n CHS Tool\n \n Tool for Institutional Engagement\n
\n \n
\n \n
\n \n
\n

\n TIE\n

\n
\n
\n \n\n \n {\n switchSurvey(e, \"CHSAT\");\n }}\n style={{ cursor: \"pointer\" }}\n >\n \n \n
\n {/* \n {systemContentLocale.chs_tool}\n */}\n {systemContentLocale.chsat}\n
\n \n
\n \n
\n \n
\n

\n {systemContentLocale.chs_short}\n

\n
\n \n \n\n \n {\n switchSurvey(e, \"ICAT\");\n }}\n style={{ cursor: \"pointer\" }}\n >\n \n \n
\n {systemContentLocale.icat}\n
\n \n
\n \n
\n \n
\n

\n {systemContentLocale.icat_short}            \n

\n
\n \n \n\n \n {\n switchSurvey(e, \"TIE\");\n }}\n style={{ cursor: \"pointer\" }}\n >\n \n \n
\n {systemContentLocale.tie}\n
\n \n
\n \n
\n \n
\n

\n {systemContentLocale.tie_short}\n

\n
\n \n \n
\n\n
\n\n {/* Ask to select a survey with current organization profile*/}\n \n
\n \n {/* survey header */}\n \n
\n
\n CHS Tools\n

{systemContentLocale.app_assessment_step_01}

\n
{systemContentLocale.app_assessment_step_01_message_01}
\n
\n
\n {\n e.preventDefault();\n history.push({ pathname: \"/registered/user_profile\" });\n }}\n >\n UPDATE\n \n
\n
\n
\n {/* survey content */}\n \n {\n if (LOGINSTATE) console.log(\"values: \", values);\n // setSurveyOrganization(values);\n }}\n innerRef={formRef}\n >\n {(props) => (\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
\n \n
\n
\n )}\n \n
\n {/* card footer */}\n \n
\n {\n formRef.current?.submitForm();\n }}\n >\n {systemContentLocale.app_next}\n \n
\n
\n
\n
\n
\n\n {/* survey answering */}\n \n \n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n
\n {/* {systemContentLocale.chs_app} */}\n

{systemContentLocale.app_assessment_step_02}

\n
{systemContentLocale.app_assessment_step_02_message_02}
\n
\n
\n ) : (\n
\n
\n {/* {systemContentLocale.chs_app} */}\n

{systemContentLocale.app_assessment_step_02}

\n
{systemContentLocale.app_assessment_step_02_message_02}
\n
\n
\n )}\n
\n
\n
\n\n {/* card footer */}\n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n \n \n \n ) : (\n
\n { }}\n disabled={true}\n >\n {systemContentLocale.app_next}\n \n
\n )}\n
\n \n
\n \n
\n \n {/* survey header */}\n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n {/* Right numbering */}\n
\n {segmentDataLocale && segmentDataLocale.title ? segmentDataLocale.title : surveyActive.title}
\n
\n

\n {`${!Lodash.isEmpty(segmentData)\n ? (segmentDataLocale[segmentCounter] && segmentDataLocale[segmentCounter].title\n ? segmentDataLocale[segmentCounter].title\n : segmentData[segmentCounter].title)\n : \"\"}`}\n

\n

{`.${segmentCounter + 1}`}

\n
\n\n {/*
{systemContentLocale.assessment_answer}
*/}\n
\n
\n ) : (\n
\n {/* Left numbering */}\n
\n {segmentDataLocale && segmentDataLocale.title ? segmentDataLocale.title : surveyActive.title}\n

\n {`${segmentCounter + 1}. `}\n {!Lodash.isEmpty(segmentData) ? (segmentDataLocale[segmentCounter] && segmentDataLocale[segmentCounter].title ? segmentDataLocale[segmentCounter].title : segmentData[segmentCounter].title) : \"\"}\n

\n {/*
{systemContentLocale.assessment_answer}
*/}\n
\n
\n )}\n
\n\n {/* survey content */}\n \n {/* Update the code go get correct questionnaire */}\n {!Lodash.isEmpty(segmentData) &&\n Object.values(segmentData[segmentCounter].questions).map((item, i) => {\n return (\n <>\n {/* {console.log(\"surveyLocale: \", surveyLocale)} */}\n \n \n );\n })}\n \n\n {/* survey footer */}\n \n \n \n
\n {showPagination && segmentCount && segmentCount > 0 ? (\n {\n setShowPagination(false);\n setSegmentCounter(current - 1);\n scrollToTop();\n setShowPagination(true);\n }}\n />\n ) : null}\n\n
\n \n
\n \n \n {\n saveSurvey(false);\n }}\n >\n {systemContentLocale.app_partly_save}\n \n \n\n \n {segmentCounter + 1 >= segmentCount ? (\n {\n saveSurvey(true);\n }}\n >\n {systemContentLocale.app_complete}\n \n ) : (\n {\n setSegmentCounter(segmentCounter + 1);\n scrollToTop();\n }}\n >\n {systemContentLocale.app_next}\n \n )}\n \n \n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default AnswerCreate;\n","import { RtlTextField } from \"../../../components/Custom/RTLTextField\";\nimport { RtlPagination } from \"../../../components/Custom/RTLPagination\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport CommonHeader from \"components/Headers/CommonHeader\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Row, Label, Input, Button } from \"reactstrap\";\nimport { fetchProfileOrg } from \"actions/user\";\nimport { fetchLocalizationBySurveyTemplate, updateSurveyAnswer } from \"actions/survey\";\nimport { fetchLocalizationContent, fetchMasterDataLanguage } from \"actions/masterData\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport { Formik, Field, Form } from \"formik\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { institutionalQuestions, initialValues_assessmentPage, roundValue, RTL_FLAG_RIGHT, SAVE_DATE_TIME_FORMAT } from \"helper\";\nimport Moment from \"moment\";\n\nimport { useTranslation } from \"react-i18next\";\n\nvar kI = 0;\n\nconst localStyle = { question: { fontWeight: \"600\" }, answer: { fontStyle: \"italic\", color: GlobalStylesColor.mbppBlue, marginBottom: 30 } };\n\nconst AnswerContinue = (props) => {\n if (LOGINSTATE) console.log(\"props\", props);\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [surveyType, setSurveyType] = useState(\"\");\n const [surveyLanguage, setSurveyLanguage] = useState(\"en\");\n\n const [surveyActive, setSurveyActive] = useState({});\n const [segmentData, setSegmentData] = useState({});\n const [segmentCount, setSegmentCount] = useState(0); // To get the maximum number of segments\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n const [surveyOrganization, setSurveyOrganization] = useState({}); // To hold organization Q&A\n\n const [surveyActiveByType, setSurveyActiveByType] = useState({});\n const [segmentDataLocale, setSegmentDataLocale] = useState({});\n const [systemContentLocale, setSystemContentLocale] = useState({});\n\n const [showPagination, setShowPagination] = useState(true);\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\n\n const { t } = useTranslation();\n\n // To update fomik values\n const formRef = useRef();\n\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n console.log(\"userLanguage\", userLanguage);\n\n // Data at the page loading only\n useEffect(() => {\n const progressSurvey = props.location.state?.answer;\n if (LOGINSTATE) console.log(\"progressSurvey: \", progressSurvey);\n if (progressSurvey && !Lodash.isEmpty(progressSurvey)) {\n setSurveyActiveByType(progressSurvey);\n }\n\n // Get profile data to fill organization questions\n dispatch(fetchProfileOrg());\n dispatch(fetchLocalizationContent());\n\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n const userProfileOrg = useSelector((state) => state.user.userProfileOrg);\n useEffect(() => {\n if (userProfileOrg?.profile?.language && !Lodash.isEmpty(userProfileOrg?.profile?.language)) {\n setSurveyLanguage(userProfileOrg?.profile?.language);\n if (LOGINSTATE) console.log(\"user language: \", surveyLanguage);\n }\n\n const organization =\n userProfileOrg && userProfileOrg?.profile && userProfileOrg?.profile?.employment && userProfileOrg?.profile?.employment?.organization && !Lodash.isEmpty(userProfileOrg?.profile?.employment?.organization)\n ? userProfileOrg?.profile?.employment?.organization\n : {};\n if (LOGINSTATE) console.log(\"start populating organization: \", organization);\n\n if (!Lodash.isEmpty(organization)) {\n const city = Lodash.find(organization.city, { _id: userProfileOrg?.profile?.employment?.linkedCity });\n\n // values for the answers to be filled for the survey\n let params = {\n // overall\n country: organization?.country.code,\n language: userProfileOrg?.profile?.language,\n\n // organization\n organization: organization?.name,\n type: organization?.type,\n visionMission: organization?.visionMission,\n legalStatus: organization?.legalStatus,\n geographicArea: organization?.geographicArea,\n functionalStructure: organization?.functionalStructure,\n unitProject: organization?.unitProject,\n unitStakeholders: organization?.unitStakeholders,\n\n //branch\n drmActivities: organization?.drmActivities,\n numberOfEmployees: organization?.numberOfEmployees && Lodash.isNumber(organization?.numberOfEmployees) ? organization?.numberOfEmployees : 0,\n };\n setSurveyOrganization(params);\n setSurveyType(props.location.state?.answer?.type);\n\n // updating the formik init value using profile details. Since it's is validated during the institute, this is ignored\n if (formRef.current) {\n formRef.current?.resetForm();\n formRef.current.setFieldValue(\"organization\", organization?.name, false);\n formRef.current.setFieldValue(\"type\", organization?.type, false);\n formRef.current.setFieldValue(\"legalStatus\", organization?.legalStatus.status === true ? \"Yes\" : \"No\", false);\n formRef.current.setFieldValue(\"legalMandate\", organization?.legalStatus.mandate, false);\n\n formRef.current.setFieldValue(\"geographicArea\", organization?.geographicArea, false);\n if (organization?.numberOfEmployees) formRef.current.setFieldValue(\"numberOfEmployees\", organization?.numberOfEmployees && Lodash.isNumber(organization?.numberOfEmployees) ? organization?.numberOfEmployees : 0, false);\n formRef.current.setFieldValue(\"drmActivities\", organization?.drmActivities, false);\n formRef.current.setFieldValue(\"visionMission\", organization?.visionMission === true ? \"Yes\" : \"No\", false);\n formRef.current.setFieldValue(\"structure\", organization?.structure === true ? \"Yes\" : \"No\", false);\n formRef.current.setFieldValue(\"unitProject\", organization?.unitProject === true ? \"Yes\" : \"No\", false);\n formRef.current.setFieldValue(\"unitStakeholders\", organization?.unitStakeholders === true ? \"Yes\" : \"No\", false);\n\n formRef.current.setFieldValue(\"country\", organization?.country.code, false);\n formRef.current.setFieldValue(\"language\", userProfileOrg?.profile?.language, false);\n } else {\n if (LOGINSTATE) console.log(\"in else\");\n }\n }\n if (LOGINSTATE) console.log(\"userProfileOrg\", userProfileOrg);\n }, [userProfileOrg]);\n\n // get system content\n const systemContentAll = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n const systemContent = Lodash.find(systemContentAll, { languageCode: props?.location?.state?.language });\n if (systemContent && systemContent !== undefined && systemContent !== null) {\n setSystemContentLocale(systemContent.assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContentAll]);\n\n useEffect(() => {\n // Get the active survey if information is exist\n if (surveyType && surveyType.length >= 3 && surveyLanguage && surveyLanguage.length >= 2) {\n // get active survey details\n const params = { type: surveyType, languageCode: surveyLanguage };\n if (LOGINSTATE) console.log(\"fetching active survey with: \", params);\n // dispatch(fetchActiveSurveyByType(params));\n }\n }, [surveyLanguage, surveyType]);\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"surveyActiveByType: \", surveyActiveByType);\n\n // Check whether the data is available, then populate accordingly\n if (surveyActiveByType && surveyActiveByType && !Lodash.isEmpty(surveyActiveByType) && surveyActiveByType.segments && surveyActiveByType.segments[0]) {\n // get locales\n dispatch(fetchLocalizationBySurveyTemplate({ surveyId: surveyActiveByType.surveyId }, history));\n\n // Set basic data to use\n setSurveyActive(surveyActiveByType);\n setSegmentData(surveyActiveByType.segments);\n setSegmentCount(Lodash.isEmpty(surveyActiveByType.segments) ? 0 : surveyActiveByType.segments.length);\n setSegmentCounter(0);\n\n if (LOGINSTATE) console.log(\"segments available: \", surveyActiveByType);\n } else {\n if (LOGINSTATE) console.log(\"no segment data\");\n }\n }, [surveyActiveByType]);\n\n // get the survey localizations\n const surveyLocalizationAll = useSelector((state) => state.survey.surveyLocalizationAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"survey Locales : \", surveyLocalizationAll);\n const surveyLocaleForTemplate = Lodash.find(surveyLocalizationAll, { languageCode: props?.location?.state?.language });\n\n if (!Lodash.isEmpty(surveyLocaleForTemplate) && surveyLocaleForTemplate?.published && surveyLocaleForTemplate?.published === true) {\n const segmentsLocale = surveyLocaleForTemplate?.segments ? surveyLocaleForTemplate?.segments : segmentData;\n setSegmentDataLocale(segmentsLocale);\n if (LOGINSTATE) console.log(\"segmentDataLocale : \", segmentDataLocale);\n }\n }, [surveyLocalizationAll]);\n\n function handleChange1(e, props) {\n props.Formik.handleSubmit(e.target.value);\n }\n\n const AnswerUiModel = ({ item, order, itemLocale, rtlAlignment }) => (\n <>\n = 0 ? item.score : -1,\n Remark: item.remark ? item.remark : \"\",\n }}\n // validationSchema={{}}\n onSubmit={(values, actions) => { }}\n >\n {(props) => (\n
\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n \n \n \n \n \n\n
\n \n
\n
\n\n \n \n
\n\n
\n {(rtlAlignment === RTL_FLAG_RIGHT) && (\n \n \n \n \n )}\n \n {(rtlAlignment !== \"right\") && }\n
\n
\n {(rtlAlignment === RTL_FLAG_RIGHT) && (\n \n \n \n \n )}\n \n {(rtlAlignment !== \"right\") && }\n
\n
\n {(rtlAlignment === RTL_FLAG_RIGHT) && (\n \n \n \n \n )}\n \n {(rtlAlignment !== \"right\") && }\n
\n
\n {(rtlAlignment === RTL_FLAG_RIGHT) && (\n \n \n \n \n )}\n \n {(rtlAlignment !== \"right\") && }\n
\n
\n {(rtlAlignment === RTL_FLAG_RIGHT) && (\n \n \n \n \n )}\n \n {(rtlAlignment !== \"right\") && }\n
\n
\n {(rtlAlignment === RTL_FLAG_RIGHT) && }\n \n {(rtlAlignment !== \"right\") && }\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 const saveAnswer = (item, order, score, remark) => {\n // Locally save the survey\n if (LOGINSTATE) console.log(\"save to local template @ [\" + order + \"] - score: \" + score + \" - remark: \" + remark);\n\n let updatedItem = item;\n // item[\"score\"] = parseInt(values.Score, 10);\n item[\"score\"] = Number(score);\n item[\"remark\"] = remark;\n\n updateLocalSurvey(updatedItem, order);\n };\n\n // save the survey's segment details locally\n const updateLocalSurvey = (item, order) => {\n // Locally save the survey\n let segments = segmentData;\n segments[segmentCounter].questions[order] = item;\n setSegmentData(segments);\n };\n\n const saveSurvey = (isCompleting) => {\n if (LOGINSTATE) console.log(\"saved surveyOrganization: \", surveyOrganization);\n if (LOGINSTATE) console.log(\"saved surveyActive: \", surveyActive);\n if (LOGINSTATE) console.log(\"saved segmentData: \", segmentData);\n\n if (isCompleting) {\n if (LOGINSTATE) console.log(\"--------------------------------------\");\n // Calculation of scores\n let segmentScore = 0;\n let segmentCount = 0;\n let segmentStatus = [];\n\n for (const segment of surveyActive.segments) {\n let questionScore = 0;\n let questionCount = 0;\n let questionAttempt = 0;\n\n for (const question of segment.questions) {\n if (LOGINSTATE) console.log(\"....question: \", question);\n\n if (Lodash.isNumber(question?.score) && question?.score >= 0) {\n questionAttempt++;\n // question is relevant to the user\n if (question.score > 0) {\n questionScore = questionScore + question.score;\n questionCount++;\n if (LOGINSTATE) console.log(\"....questionScore: \" + question.score + \" with average: \" + questionScore + \" for \" + questionCount);\n }\n }\n }\n\n let questionAvg = questionCount > 0 ? questionScore / questionCount : 0; // to avoid divide by zero\n segment[\"segmentScore\"] = questionAvg;\n\n segmentScore = segmentScore + questionScore;\n segmentCount = segmentCount + questionCount;\n\n if (LOGINSTATE) console.log(\"....segmentScore: \" + segmentScore + \" segmentCount: \" + segmentCount + \"questionAvg: \" + questionAvg + \" questionScore: \" + questionScore + \" questionCount: \" + questionCount);\n\n // Check whether all the questions had been answered\n if (questionAttempt < segment.questions.length) {\n // segmentStatus = segmentStatus + (Lodash.isEmpty(segmentStatus) ? segment.title : \" | \" + segment.title);\n if (!Lodash.isEmpty(segmentDataLocale)) {\n let locale = Lodash.find(segmentDataLocale, { segmentCode: segment.segmentCode });\n segmentStatus.push(locale.title);\n // console.log(\"locale\", locale);\n } else {\n segmentStatus.push(segment.title);\n }\n\n // show error one by one, or use the total errors together at the end\n confirmAlert({\n title: systemContentLocale.app_assessment_incomplete_title,\n message: segmentStatus,\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n\n return;\n }\n }\n\n let segmentAvg = segmentCount > 0 ? segmentScore / segmentCount : 0; // to avoid divide by zero\n surveyActive[\"surveyScore\"] = segmentAvg;\n if (LOGINSTATE) console.log(\"....surveyScore: \" + segmentAvg);\n if (LOGINSTATE) console.log(\"....updated survey: \", surveyActive);\n if (LOGINSTATE) console.log(\"--------------------------------------\");\n\n // there are incomplete segments, hence can't complete the survey\n // below shows all the segments. however there might not enough space\n if (!Lodash.isEmpty(segmentStatus)) {\n confirmAlert({\n title: systemContentLocale.app_assessment_incomplete_title,\n message: segmentStatus[0],\n buttons: [\n {\n label: systemContentLocale.app_ok,\n onClick: () => { },\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n\n return;\n }\n }\n\n let insQuestions = [\n { code: \"organization\", question: institutionalQuestions.organization, answer: surveyOrganization?.organization, remark: \"No\" },\n { code: \"type\", question: institutionalQuestions.type, answer: surveyOrganization?.type, remark: \"No\" },\n { code: \"legalStatus\", question: institutionalQuestions.legalStatus, answer: surveyOrganization?.legalStatus?.status === true ? \"Yes\" : \"No\", remark: surveyOrganization?.legalStatus?.mandate },\n\n { code: \"visionMission\", question: institutionalQuestions.visionMission, answer: surveyOrganization?.visionMission?.status === true ? \"Yes\" : \"No\", remark: surveyOrganization?.visionMission?.remark },\n { code: \"geographicArea\", question: institutionalQuestions.geographicArea, answer: surveyOrganization?.geographicArea, remark: \"No\" },\n { code: \"functionalStructure\", question: institutionalQuestions.functionalStructure, answer: surveyOrganization?.functionalStructure?.status === true ? \"Yes\" : \"No\", remark: surveyOrganization?.functionalStructure?.remark },\n { code: \"unitProject\", question: institutionalQuestions.unitProject, answer: surveyOrganization?.unitProject?.status === true ? \"Yes\" : \"No\", remark: surveyOrganization?.unitProject?.remark },\n { code: \"unitStakeholders\", question: institutionalQuestions.unitStakeholders, answer: surveyOrganization?.unitStakeholders?.status === true ? \"Yes\" : \"No\", remark: surveyOrganization?.unitStakeholders?.remark },\n\n { code: \"numberOfOrganizationEmployees\", question: institutionalQuestions.numberOfEmployees, answer: surveyOrganization?.numberOfOrganizationEmployees?.number + \"\", remark: surveyOrganization?.numberOfOrganizationEmployees?.remark },\n { code: \"drmActivities\", question: institutionalQuestions.drmActivities, answer: surveyOrganization?.drmActivities, remark: \"No\" },\n ];\n\n let answer = {\n answerId: surveyActive._id,\n surveyId: surveyActive.surveyId,\n countryCode: surveyOrganization.country,\n languageCode: surveyOrganization.language,\n type: surveyActive.type,\n title: surveyActive.title,\n description: surveyActive.description,\n institutionalQuestions: insQuestions,\n segments: surveyActive.segments,\n status: isCompleting ? \"COMPLETE\" : \"PROGRESS\",\n clientTimestamp: Moment().format(SAVE_DATE_TIME_FORMAT) // Should not UTC\n };\n\n if (Lodash.isNumber(surveyActive.surveyScore)) answer[\"surveyScore\"] = roundValue(surveyActive.surveyScore);\n\n if (!Lodash.isEmpty(answer)) {\n dispatch(updateSurveyAnswer(answer, history, systemContentLocale, t));\n }\n };\n\n const scrollToTop = () => {\n window.scrollTo(0, 0);\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* Card stats */}\n \n \n { }}>\n \n \n
\n {/* \n {systemContentLocale?.chs_tool}\n */}\n {systemContentLocale?.insitutional_details}\n
\n \n
\n \n
\n \n
\n

\n Institutional Details of the User\n

\n
\n
\n \n\n \n { }} style={{ cursor: \"pointer\" }}>\n \n \n
\n {/* \n {systemContentLocale.chs_tool}\n */}\n {systemContentLocale.chsat}\n
\n \n
\n \n
\n \n
\n

\n {systemContentLocale.chs_short}\n

\n
\n
\n \n \n { }} style={{ cursor: \"pointer\" }}>\n \n \n
\n {/* \n {systemContentLocale.chs_tool}\n */}\n {systemContentLocale.icat}\n
\n \n
\n \n
\n \n
\n

\n {systemContentLocale.icat_short}            \n

\n
\n
\n \n \n { }} style={{ cursor: \"pointer\" }}>\n \n \n
\n {/* \n {systemContentLocale.chs_tool}\n */}\n {systemContentLocale.tie}\n
\n \n
\n \n
\n \n
\n

\n {systemContentLocale.tie_short}\n

\n
\n
\n \n
\n\n
\n\n {/* Ask to select a survey with current organization profile*/}\n \n
\n \n {/* survey header */}\n \n
\n
\n {systemContentLocale.chs_app}\n

{systemContentLocale.insitutional_details}

\n
Below are the organization information for the survey. Update your profile to keep it up to date.
\n
\n
\n {\n e.preventDefault();\n history.push({ pathname: \"/registered/user_profile\" });\n }}\n >\n {systemContentLocale.update}\n \n
\n
\n
\n {/* survey content */}\n \n {\n if (LOGINSTATE) console.log(\"values: \", values);\n }}\n innerRef={formRef}\n >\n {(props) => (\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
\n \n
\n
\n )}\n \n
\n {/* card footer */}\n \n
\n {\n formRef.current?.submitForm();\n }}\n >\n {systemContentLocale.app_next}\n \n
\n
\n
\n
\n
\n\n {/* survey answering */}\n \n
\n \n {/* survey header */}\n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n
\n {segmentDataLocale && segmentDataLocale.title ? segmentDataLocale.title : surveyActive.title}\n

\n {!Lodash.isEmpty(segmentData) ? (segmentDataLocale[segmentCounter] && segmentDataLocale[segmentCounter].title ? segmentDataLocale[segmentCounter].title : segmentData[segmentCounter].title) : \"\"}\n {` .${segmentCounter + 1}`}\n

\n
{systemContentLocale.assessment_answer}
\n
\n
\n ) : (\n
\n
\n {segmentDataLocale && segmentDataLocale.title ? segmentDataLocale.title : surveyActive.title}\n

\n {`${segmentCounter + 1}. `}\n {!Lodash.isEmpty(segmentData) ? (segmentDataLocale[segmentCounter] && segmentDataLocale[segmentCounter].title ? segmentDataLocale[segmentCounter].title : segmentData[segmentCounter].title) : \"\"}\n

\n
{systemContentLocale.assessment_answer}
\n
\n
\n )}\n
\n\n {/* survey content */}\n \n {/* Update the code go get correct questionnaire */}\n {!Lodash.isEmpty(segmentData) &&\n Object.values(segmentData[segmentCounter].questions).map((item, i) => {\n return (\n \n );\n })}\n \n\n {/* survey footer */}\n \n \n \n
\n {showPagination && segmentCount && segmentCount > 0 ? (\n {\n setShowPagination(false);\n setSegmentCounter(current - 1);\n scrollToTop();\n setShowPagination(true);\n }}\n />\n ) : null}\n
\n \n
\n \n \n {\n saveSurvey(false);\n }}\n >\n {systemContentLocale.app_partly_save}\n \n \n \n {segmentCounter + 1 >= segmentCount ? (\n {\n saveSurvey(true);\n }}\n >\n {systemContentLocale.app_complete}\n \n ) : (\n {\n setSegmentCounter(segmentCounter + 1);\n scrollToTop();\n }}\n >\n {systemContentLocale.app_next}\n \n )}\n \n \n
\n
\n
\n
\n
\n \n );\n};\n\nexport default AnswerContinue;\n","import { RtlTextField } from \"../../../components/Custom/RTLTextField\";\nimport { RtlPagination } from \"../../../components/Custom/RTLPagination\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport CommonHeader from \"components/Headers/CommonHeader\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport { Bar, Line, Radar } from \"react-chartjs-2\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\n\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, CardTitle, Col, Container, Row, Label, Form, Input, Button } from \"reactstrap\";\nimport { fetchLocalizationBySurveyTemplate, fetchRecommendationsBySurveyId } from \"actions/survey\";\nimport { fetchLocalizationContent, fetchMasterDataLanguage } from \"actions/masterData\";\nimport { fetchProfileOrg } from \"actions/user\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { Formik } from \"formik\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { institutionalQuestions, initialValues_assessmentPage, roundValue, RTL_FLAG_RIGHT } from \"helper\";\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\n\nvar kI = 0;\n\nconst localStyle = { number: { fontWeight: \"600\", width: 25, marginLeft: 15 }, question: { fontWeight: \"600\" }, answer: { marginBottom: 20 } };\n\nconst AnswerComplete = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [surveyType, setSurveyType] = useState(\"\");\n const [surveyLanguage, setSurveyLanguage] = useState(\"\");\n\n const [segmentData, setSegmentData] = useState({});\n const [segmentCount, setSegmentCount] = useState(0); // To get the maximum number of segments\n const [segmentCounter, setSegmentCounter] = useState(0); // Current active segment\n const [navigationCounter, setNavigationCounter] = useState(0); // To support footer navigation\n\n const [surveyCompletedTemplate, setSurveyCompletedTemplate] = useState({});\n const [segmentDataLocale, setSegmentDataLocale] = useState({});\n const [systemContentLocale, setSystemContentLocale] = useState({});\n const [surveyRecommendations, setSurveyRecommendations] = useState({});\n\n const [surveyScore, setSurveyScore] = useState(\"\");\n const [showRecomm, setshowRecomm] = useState(true);\n const [showAnswers, setShowAnswers] = useState(false);\n const [refreshToken, setRefreshToken] = useState(0);\n const [refreshCounter, setRefreshCounter] = useState(0);\n const [showPagination, setShowPagination] = useState(true);\n\n const [rtlAlignment, setRtlAlignment] = useState(\"\");\n\n // To update fomik values\n const formRef = useRef();\n const language = props?.location?.state?.language;\n if (LOGINSTATE) console.log(\"language\", language);\n\n // Data at the page loading only\n\n const user = useSelector((state) => state.user.userProfileOrg);\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\n console.log(\"userLanguage\", userLanguage);\n const { t, i18n } = useTranslation();\n\n useEffect(() => {\n setSurveyRecommendations({});\n setSegmentDataLocale({});\n\n const completedSurvey = props?.location?.state?.answer;\n const userId = props?.location?.state?.user;\n\n if (LOGINSTATE) console.log(\"completedSurvey: \", completedSurvey);\n if (completedSurvey && !Lodash.isEmpty(completedSurvey)) {\n setSurveyType(completedSurvey.type);\n setSurveyLanguage(language);\n setSurveyCompletedTemplate(completedSurvey);\n }\n dispatch(fetchProfileOrg(userId));\n\n i18n.changeLanguage(jUser?.user?.language);\n\n let params = {\n user: {\n code: jUser?.user?.language,\n },\n };\n dispatch(fetchMasterDataLanguage(params.user));\n }, []);\n\n useEffect(() => {\n userLanguage &&\n userLanguage.language &&\n Object.values(userLanguage.language).map((lang, i) => {\n if (lang && lang.dir === \"rtl\") {\n setRtlAlignment(\"right\");\n }\n });\n }, [userLanguage]);\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"surveyCompletedTemplate: \", surveyCompletedTemplate);\n\n // Check whether the data is available, then populate accordingly\n if (surveyCompletedTemplate && surveyCompletedTemplate && !Lodash.isEmpty(surveyCompletedTemplate) && surveyCompletedTemplate.segments && surveyCompletedTemplate.segments[0]) {\n // get locales\n if (LOGINSTATE) console.log(\"surveyId: \", surveyCompletedTemplate.surveyId);\n dispatch(fetchLocalizationBySurveyTemplate({ surveyId: surveyCompletedTemplate.surveyId }, history));\n dispatch(fetchRecommendationsBySurveyId({ surveyId: surveyCompletedTemplate.surveyId }, history));\n dispatch(fetchLocalizationContent());\n\n // Set basic data to use\n setSegmentData(surveyCompletedTemplate.segments);\n setSegmentCount(Lodash.isEmpty(surveyCompletedTemplate.segments) ? 0 : surveyCompletedTemplate.segments.length);\n setSegmentCounter(0);\n setSurveyScore(roundValue(surveyCompletedTemplate.surveyScore, true));\n setRefreshToken(refreshToken + 1);\n\n if (LOGINSTATE) console.log(\"segments available: \", surveyCompletedTemplate);\n } else {\n if (LOGINSTATE) console.log(\"no segment data\");\n }\n }, [surveyCompletedTemplate]);\n\n let segScore = [];\n let segName = [];\n useEffect(() => {\n Object.values(segmentData).map((segment, i) => segScore.push(segment.segmentScore));\n\n Object.values(segmentData).map((segmentName, j) => segName.push(segmentName.segmentCode));\n console.log(\"segScore\", segScore);\n }, [segmentData]);\n\n useEffect(() => {\n setRefreshCounter(refreshCounter + 1);\n }, [segmentCount, systemContentLocale]);\n\n // get system content\n const systemContentAll = useSelector((state) => state.masterData.localizationContentAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContentAll);\n const systemContent = Lodash.find(systemContentAll, { languageCode: language });\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\n if (systemContent && systemContent !== undefined && systemContent !== null) {\n setSystemContentLocale(systemContent.assessmentPage);\n } else {\n setSystemContentLocale(initialValues_assessmentPage);\n }\n }, [systemContentAll]);\n\n // get the survey localizations\n const surveyLocalizationAll = useSelector((state) => state.survey.surveyLocalizationAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"survey Locales : \", surveyLocalizationAll);\n const surveyLocaleForTemplate = Lodash.find(surveyLocalizationAll, { languageCode: language });\n if (LOGINSTATE) console.log(\"survey Locale for template: \", surveyLocaleForTemplate);\n if (!Lodash.isEmpty(surveyLocaleForTemplate)) {\n const segmentsLocale = surveyLocaleForTemplate?.segments ? surveyLocaleForTemplate?.segments : segmentData;\n setSegmentDataLocale(segmentsLocale);\n if (LOGINSTATE) console.log(\"segmentDataLocale : \", segmentsLocale);\n }\n }, [surveyLocalizationAll]);\n\n // Get recommendations to show for the survey\n const surveyRecommendationAll = useSelector((state) => state.survey.recommendationAll);\n useEffect(() => {\n let recommendationsLocale = Lodash.find(surveyRecommendationAll, { languageCode: language });\n\n // if the relevant locale recommendations are not available, take the default recommendations\n if (Lodash.isEmpty(recommendationsLocale)) {\n recommendationsLocale = Lodash.find(surveyRecommendationAll, { languageCode: \"en\" });\n }\n\n if (recommendationsLocale) {\n setSurveyRecommendations(recommendationsLocale);\n } else {\n setSurveyRecommendations({});\n }\n }, [surveyRecommendationAll]);\n\n // Assessment answers\n const AnswerUiModel = ({ item, order, itemLocale, rtlAlignment }) => (\n <>\n\n = 0 ? item.score : -1,\n Remark: item.remark ? item.remark : \"\",\n }}\n // validationSchema={{}}\n onSubmit={(values, actions) => {\n let updatedItem = item;\n item[\"score\"] = Number(values.Score);\n item[\"remark\"] = values.Remark;\n\n updateLocalSurvey(updatedItem, order);\n }}\n >\n {(props) => (\n
\n {/* Segment answer rows */}\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n \n \n \n \n \n
\n \n
\n
\n\n \n \n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n \n \n \n )}\n \n {rtlAlignment !== \"right\" && (\n \n )}\n
\n
\n {rtlAlignment === RTL_FLAG_RIGHT && (\n \n )}\n \n {rtlAlignment !== \"right\" && (\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 const optionsGrid = {\n scales: {\n xAxes: [\n {\n ticks: {\n fontColor: \"#fff\",\n },\n display: true,\n scaleLabel: {\n display: true,\n labelString: \"Assessment Completion\",\n fontColor: \"#fff\",\n fontStyle: \"bold\",\n },\n },\n ],\n yAxes: [\n {\n gridLines: {\n color: \"#fff\",\n zeroLineColor: \"#fff\",\n },\n ticks: {\n callback: function (value) {\n if (!(value % 1)) {\n return value;\n }\n },\n fontColor: \"#fff\",\n beginAtZero: true,\n steps: 1,\n stepValue: 1,\n max: 5.2,\n },\n scaleLabel: {\n display: true,\n labelString: \"Total Score\",\n fontColor: \"#fff\",\n fontStyle: \"bold\",\n },\n },\n ],\n },\n };\n\n // save the survey's segment details locally\n const updateLocalSurvey = (item, order) => {\n // Locally save the survey\n let segments = segmentData;\n segments[segmentCounter].questions[order] = item;\n setSegmentData(segments);\n };\n\n const handlePrint1 = (e, answer, windowPrint) => {\n let segScore = [];\n let segName = [];\n let segLongName = [];\n\n Object.values(answer.segments).map((segment, i) => segScore.push(roundValue(segment.segmentScore)));\n\n Object.values(answer.segments).map((segmentName, j) => segName.push(segmentName.segmentCode));\n\n Object.values(answer.segments).map((segmentLongName, j) => segLongName.push(segmentLongName.title));\n\n // setSegLongName(segLongNameTemp);\n if (LOGINSTATE) console.log(\"segLongName\", segLongName);\n\n e.preventDefault();\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\n console.log('### print-preview-details: ', {\n segName: segName,\n segScore: segScore,\n segLongName: segLongName,\n answer: answer,\n language: jUser?.user?.language\n })\n history.push({\n pathname: \"/print_content/assessment_preview\",\n state: {\n segName: segName,\n segScore: segScore,\n segLongName: segLongName,\n answer: answer,\n language: jUser?.user?.language\n }\n });\n };\n\n const scrollToTop = () => {\n window.scrollTo(0, 0);\n };\n\n let currentUser = localStorage.getItem(\"userDetails\");\n let jUser = JSON.parse(currentUser);\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\n\n return (\n
\n \n\n {/* Page content */}\n \n {/* Card stats */}\n \n {/* Top CHSAT block */}\n \n { }} style={{ cursor: \"pointer\" }}>\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n
\n \n {systemContentLocale.chs_short}\n \n \n {systemContentLocale.total_score}: {surveyScore}\n \n \n {showRecomm === true || showAnswers === false ? (\n \"\"\n ) : (\n
\n {systemContentLocale.segment_score}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n )}\n
\n
\n \n
\n \n
\n \n
\n\n

\n {systemContentLocale.chsat}\n

\n
\n ) : (\n \n \n
\n \n {systemContentLocale.chs_short}\n \n \n {systemContentLocale.total_score}: {surveyScore}\n \n
\n \n
\n \n
\n \n
\n \n
\n \n {showRecomm === true || showAnswers === false ? (\n \"\"\n ) : (\n
\n {systemContentLocale.segment_score}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n )}\n
\n
\n
\n

\n {systemContentLocale.chsat}\n

\n
\n )}\n
\n \n {/* Top ICAT block */}\n \n { }} style={{ cursor: \"pointer\" }}>\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n
\n \n {systemContentLocale.icat_short}\n \n \n {systemContentLocale.total_score}: {surveyScore}\n \n \n {showRecomm === true || showAnswers === false ? (\n \"\"\n ) : (\n
\n {systemContentLocale.segment_score}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n )}\n
\n
\n \n
\n \n
\n \n
\n\n

\n {systemContentLocale.icat}            \n

\n
\n ) : (\n \n \n
\n \n {systemContentLocale.icat_short}\n \n \n {systemContentLocale.total_score}: {surveyScore}\n \n
\n \n
\n \n
\n \n
\n \n
\n \n {showRecomm === true || showAnswers === false ? (\n \"\"\n ) : (\n
\n {systemContentLocale.segment_score}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n )}\n
\n
\n
\n

\n {systemContentLocale.icat}            \n

\n
\n )}\n
\n \n {/* Top TIE block */}\n \n { }} style={{ cursor: \"pointer\" }}>\n {rtlAlignment === RTL_FLAG_RIGHT ? (\n \n \n
\n \n {systemContentLocale.tie_short}\n \n \n {systemContentLocale.total_score}: {surveyScore}\n \n \n {showRecomm === true || showAnswers === false ? (\n \"\"\n ) : (\n
\n {systemContentLocale.segment_score}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n )}\n
\n
\n \n
\n \n
\n \n
\n\n

\n {systemContentLocale.tie}\n

\n
\n ) : (\n \n \n
\n \n {systemContentLocale.tie_short}\n \n \n {systemContentLocale.total_score}: {surveyScore}\n \n
\n \n
\n \n
\n \n
\n \n
\n \n {showRecomm === true || showAnswers === false ? (\n \"\"\n ) : (\n
\n {systemContentLocale.segment_score}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n )}\n
\n
\n
\n

\n {systemContentLocale.tie}\n

\n
\n )}\n
\n \n
\n\n
\n\n {/* Overall recommendations for the assessment*/}\n \n
\n\n {/* institute details */}\n \n {/* survey header */}\n \n
\n
\n {systemContentLocale.chs_app}\n

{systemContentLocale.insitutional_details}

\n
{systemContentLocale.app_assessment_step_01_message}
\n
\n
\n
\n\n {/* survey content */}\n \n {surveyCompletedTemplate &&\n !Lodash.isEmpty(surveyCompletedTemplate?.institutionalQuestions) &&\n surveyCompletedTemplate?.institutionalQuestions.map((iQuestion, i) => {\n if (LOGINSTATE) console.log(\"surveyCompletedTemplate?.institutionalQuestions\", surveyCompletedTemplate?.institutionalQuestions);\n return (\n \n\n {rtlAlignment !== RTL_FLAG_RIGHT ? (\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 {/* card footer */}\n \n \n \n {\n history.goBack();\n }}\n >\n {systemContentLocale.app_back}\n \n\n {\n setSurveyType(surveyCompletedTemplate.type);\n setShowAnswers(true);\n scrollToTop();\n }}\n >\n {systemContentLocale.app_next}\n \n \n\n \n {\n handlePrint1(e, surveyCompletedTemplate);\n }}\n >\n {systemContentLocale.print_preview}\n \n \n \n \n
\n\n {/* Overall recommendations */}\n \n \n
\n {systemContentLocale.overall}\n
\n
\n\n \n
\n\n {surveyRecommendations && surveyRecommendations?.published === true && !Lodash.isEmpty(surveyRecommendations?.overall?.recommendations) ? (\n surveyRecommendations?.overall?.recommendations.map((recom, i) => {\n return recom.from <= surveyScore && surveyScore <= recom.to ? (\n \n \n {recom.recommendation}\n \n\n {/* \n {recom.note}\n */}\n \n ) : null;\n })\n ) : (\n

{systemContentLocale.no_recommendation}

\n )}\n {console.log(\"segmentData\", segmentData)}\n
\n\n {/* card footer */}\n \n \n \n {\n history.goBack();\n }}\n >\n {systemContentLocale.app_back}\n \n {\n setshowRecomm(false); // Close overall recommendations and show institute details\n setShowAnswers(true); // Show answers\n scrollToTop();\n }}\n >\n {systemContentLocale.app_next}\n \n \n\n \n {\n handlePrint1(e, surveyCompletedTemplate);\n }}\n >\n {systemContentLocale.print_preview}\n \n \n \n \n
\n
\n
\n\n {/* survey answering with recommendations */}\n \n
\n \n {/* survey header */}\n \n {rtlAlignment === RTL_FLAG_RIGHT ? (\n
\n
\n

\n {!Lodash.isEmpty(segmentData) ? (segmentDataLocale[segmentCounter] && segmentDataLocale[segmentCounter].title ? segmentDataLocale[segmentCounter].title : segmentData[segmentCounter].title) : \"\"}\n {` .${segmentCounter + 1}`}\n

\n
{systemContentLocale.assessment_answer}
\n
\n
\n ) : (\n
\n
\n

\n {`${segmentCounter + 1}. `}\n {!Lodash.isEmpty(segmentData) ? (segmentDataLocale[segmentCounter] && segmentDataLocale[segmentCounter].title ? segmentDataLocale[segmentCounter].title : segmentData[segmentCounter].title) : \"\"}\n

\n
{systemContentLocale.assessment_answer}
\n
\n
\n )}\n
\n\n {/* survey recommendations */}\n \n {/*
*/}\n
\n {systemContentLocale.segment}: {segmentData && roundValue(segmentData[segmentCounter]?.segmentScore, true)}\n
\n
\n {/* {console.log(\"surveyRecommendations\", surveyRecommendations)} */}\n {surveyRecommendations &&\n surveyRecommendations?.published === true &&\n surveyRecommendations?.segments &&\n surveyRecommendations?.segments[segmentCounter] &&\n !Lodash.isEmpty(surveyRecommendations?.segments[segmentCounter]?.recommendations) ? (\n surveyRecommendations?.segments[segmentCounter]?.recommendations.map((recom, i) => {\n return recom.from <= segmentData[segmentCounter]?.segmentScore && segmentData[segmentCounter]?.segmentScore <= recom.to ? (\n \n \n {recom.recommendation}\n \n {/* \n \n {recom.note}\n */}\n \n ) : null;\n })\n ) : (\n

{systemContentLocale.no_recommendation}

\n )}\n
\n\n {/* survey content with Q&A */}\n \n
\n {!Lodash.isEmpty(segmentData) &&\n Object.values(segmentData[segmentCounter].questions).map((item, i) => {\n return (\n \n );\n })}\n
\n\n {/* survey footer */}\n \n \n \n
\n {showPagination && segmentCount && segmentCount > 0 && showAnswers && !Lodash.isEmpty(surveyType) ? (\n {\n setShowPagination(false);\n setSegmentCounter(current - 1);\n scrollToTop();\n setShowPagination(true);\n }}\n />\n ) : null}\n
\n \n
\n\n \n \n {\n history.goBack();\n }}\n >\n {systemContentLocale.app_back}\n \n {segmentCounter + 1 >= segmentCount ? null : (\n {\n setShowPagination(false);\n setSegmentCounter(segmentCounter + 1);\n scrollToTop();\n setShowPagination(true);\n }}\n >\n {systemContentLocale.app_next}\n \n )}\n \n\n \n {\n handlePrint1(e, surveyCompletedTemplate);\n }}\n >\n {systemContentLocale.print_preview}\n \n \n \n
\n
\n
\n
\n
\n
\n );\n};\n\nexport default AnswerComplete;\n","import { fetchSurveyAnswerByUser } from \"actions/survey\";\r\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\r\n\r\n// core components\r\nimport CommonHeader from \"components/Headers/CommonHeader\";\r\nimport Config from \"config/config.json\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport Lodash from \"lodash\";\r\nimport Moment from \"moment\";\r\n\r\nimport React, { useEffect, useState } from \"react\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { Tooltip } from \"@material-ui/core\";\r\nimport TimelineOutlinedIcon from \"@material-ui/icons/TimelineOutlined\";\r\n// reactstrap components\r\nimport { Card, CardHeader, Container, Row, Table, CardFooter, Col } from \"reactstrap\";\r\nimport { GlobalStylesColor } from \"constants/globalStyles\";\r\n\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\r\nimport { answer_status } from \"helper.js\";\r\nimport { roundValue } from \"helper\";\r\n\r\nimport { useTranslation, initReactI18next, Trans } from \"react-i18next\";\r\nimport Pagination from \"react-responsive-pagination\";\r\n\r\n// Populate version row for each survey type\r\nconst AnswerRow = ({ answer, editClick, statusClick, printClick, graphClick, t }) => (\r\n // VERSION | TITLE | DESCRIPTION | STATUS\r\n \r\n {/* {console.log(\"survey answer: \", answer)} */}\r\n \r\n {/* {Moment(answer.updatedAt).format(\"YYYY-MM-DD hh:mm \")}\r\n {t(\"dateAndTime.\" + Moment(answer.updatedAt).format(\"A\"))} */}\r\n {answer.clientTimestamp}\r\n \r\n {t(answer.type === 'CHSAT' ? 'barChartLabels.chsat' : answer.type === 'ICAT' ? 'barChartLabels.icat' : answer.type === 'TIE' ? 'barChartLabels.tie' : answer.type)}\r\n {answer.title}\r\n {answer?.status === answer_status[0] ? : {answer.surveyScore > 0 ? Math.round((answer.surveyScore + Number.EPSILON) * 100) / 100 : \"\"}}\r\n\r\n \r\n
\r\n {answer.status === answer_status[0] ? (\r\n {\r\n editClick(e, answer);\r\n }}\r\n >\r\n \r\n \r\n \r\n
\r\n ) : (\r\n <>\r\n {\r\n statusClick(e, answer);\r\n }}\r\n >\r\n {/* tooltip: edit */}\r\n \r\n \r\n \r\n \r\n\r\n {\r\n graphClick(e, answer);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {\r\n printClick(e, answer, false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n);\r\n\r\n// export function\r\nconst Survey = () => {\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n // get forum topics\r\n const answerByUser = useSelector((state) => state.survey.answerByUser);\r\n\r\n const [rtlAlignment, setRtlAlignment] = useState(\"\");\r\n const [progressTable, setProgressTable] = useState([]);\r\n const [itemPageCount, setItemPageCount] = useState(1);\r\n const [itemCurrent, setItemCurrent] = useState(1);\r\n\r\n const { t, i18n } = useTranslation();\r\n\r\n const userLanguage = useSelector((state) => state.masterData.languageByCode);\r\n console.log(\"userLanguage\", userLanguage);\r\n useEffect(() => {\r\n // fetching all surveys\r\n dispatch(fetchSurveyAnswerByUser(null, history, t));\r\n i18n.changeLanguage(jUser?.user?.language);\r\n let params = {\r\n user: {\r\n code: jUser?.user?.language,\r\n },\r\n };\r\n dispatch(fetchMasterDataLanguage(params.user));\r\n }, []);\r\n\r\n useEffect(() => {\r\n userLanguage &&\r\n userLanguage.language &&\r\n Object.values(userLanguage.language).map((lang, i) => {\r\n if (lang && lang.dir === \"rtl\") {\r\n setRtlAlignment(\"right\");\r\n }\r\n });\r\n }, [userLanguage]);\r\n\r\n useEffect(() => {\r\n let progress = Lodash.filter(answerByUser, { status: answer_status[0] });\r\n setProgressTable(progress);\r\n console.log(\"progress\", progress);\r\n }, [answerByUser]);\r\n\r\n useEffect(() => {\r\n // Set the pagination count\r\n let currentPageCount = Math.ceil(progressTable.length / 2);\r\n setItemPageCount(currentPageCount);\r\n }, [itemCurrent, progressTable]);\r\n\r\n const handleStatusClick = (e, answer) => {\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n history.push({ pathname: \"/registered/assessment_answer_complete\", state: { answer: answer, language: jUser?.user?.language, user: jUser?.user?._id } });\r\n };\r\n\r\n // create survey from existing survey\r\n const handleEditClick = (e, answer) => {\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n history.push({ pathname: \"/registered/assessment_answer_continue\", state: { answer: answer, language: jUser?.user?.language } });\r\n };\r\n\r\n // answer a new survey\r\n const handleCreateClick = (e) => {\r\n e.preventDefault();\r\n history.push({ pathname: \"/registered/assessment_answer_institute\" });\r\n };\r\n\r\n const handlePrint = (e, answer, windowPrint) => {\r\n let segScore = [];\r\n let segName = [];\r\n let segLongName = [];\r\n\r\n Object.values(answer.segments).map((segment, i) => segScore.push(roundValue(segment.segmentScore)));\r\n\r\n Object.values(answer.segments).map((segmentName, j) => segName.push(segmentName.segmentCode));\r\n\r\n Object.values(answer.segments).map((segmentLongName, j) => segLongName.push(segmentLongName.title));\r\n\r\n // setSegLongName(segLongNameTemp);\r\n if (LOGINSTATE) console.log(\"segLongName\", segLongName);\r\n\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n console.log('### print-preview-details: ', {\r\n segName: segName,\r\n segScore: segScore,\r\n segLongName: segLongName,\r\n answer: answer,\r\n language: jUser?.user?.language\r\n })\r\n if (windowPrint) {\r\n history.push({\r\n pathname: \"/registered/assessment_print_PDF\",\r\n state: {\r\n segName: segName,\r\n segScore: segScore,\r\n segLongName: segLongName,\r\n answer: answer,\r\n language: jUser?.user?.language\r\n }\r\n });\r\n } else {\r\n history.push({\r\n pathname: \"/print_content/assessment_preview\",\r\n state: {\r\n segName: segName,\r\n segScore: segScore,\r\n segLongName: segLongName,\r\n answer: answer,\r\n language: jUser?.user?.language\r\n }\r\n });\r\n }\r\n };\r\n\r\n const handleGraphClick = (e, answer) => {\r\n let segScore = [];\r\n let segName = [];\r\n let segLongName = [];\r\n\r\n Object.values(answer.segments).map((segment, i) => segScore.push(roundValue(segment.segmentScore)));\r\n\r\n Object.values(answer.segments).map((segmentName, j) => segName.push(segmentName.segmentCode));\r\n\r\n Object.values(answer.segments).map((segmentLongName, j) => segLongName.push(segmentLongName.title));\r\n\r\n // setSegLongName(segLongNameTemp);\r\n if (LOGINSTATE) console.log(\"segLongName\", segLongName);\r\n\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n history.push({ pathname: \"/registered/assessment_answer_graph\", state: { segName: segName, segScore: segScore, segLongName: segLongName, answer: answer } });\r\n };\r\n\r\n let currentUser = localStorage.getItem(\"userDetails\");\r\n let jUser = JSON.parse(currentUser);\r\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\r\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

{t(\"answerHistory.inprogress.progress\")}

\r\n
{t(\"answerHistory.inprogress.assessment\")}
\r\n
\r\n \r\n
\r\n {\r\n handleCreateClick(e);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {Lodash.filter(answerByUser, { status: answer_status[0] }).map((answer, i) => {\r\n return ;\r\n })}\r\n \r\n
{t(\"answerHistory.inprogress.updatedOn\")}{t(\"answerHistory.inprogress.type\")}{t(\"answerHistory.inprogress.title\")}{t(\"answerHistory.inprogress.action\")}
\r\n \r\n \r\n
\r\n\r\n {!Lodash.isEmpty(answerByUser) && (\r\n \r\n
\r\n \r\n
\r\n
\r\n

{t(\"answerHistory.complete.completed\")}

\r\n
{t(\"answerHistory.complete.assessment\")}
\r\n
\r\n \r\n
\r\n {\r\n handleCreateClick(e);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n \r\n
\r\n \r\n\r\n {!Lodash.isEmpty(answerByUser) &&\r\n Config.TOOLS.map((tool, i) => {\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {Lodash.filter(answerByUser, { status: answer_status[1], type: tool.type }).map((answer, i) => {\r\n return ;\r\n })}\r\n \r\n
{t(\"answerHistory.complete.completedOn\")}{t(\"answerHistory.complete.type\")}{t(\"answerHistory.complete.title\")}{t(\"answerHistory.complete.score\")}{t(\"answerHistory.complete.action\")}
\r\n
\r\n
\r\n \r\n );\r\n })}\r\n \r\n
\r\n )}\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Survey;\r\n","import { fetchRecommendationsBySurveyId } from \"actions/survey\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\nimport Moment from \"moment\";\nimport React, { useEffect, useState } from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Card, CardHeader, Container, Row, Table, Label, Col } from \"reactstrap\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { answer_status } from \"helper.js\";\nimport { Score, Visibility } from \"@material-ui/icons\";\nimport { initialValues_assessmentPage, roundValue } from \"helper\";\n\n\n// export function\nconst AnswerPrintAssessment = (props) => {\n if (LOGINSTATE) console.log(\"props\", props);\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n const [answer, setAnswer] = useState({});\n const [recommendation, setRecommendation] = useState({});\n const [survey, setSurvey] = useState({});\n const [surveyScore, setSurveyScore] = useState(0);\n const [isEnable, setIsEnable] = useState(false);\n\n useEffect(() => {\n if (props?.location?.state?.answer) {\n setAnswer(props?.location?.state?.answer);\n }\n if (props?.location?.state?.recommendation) {\n setRecommendation(props?.location?.state?.recommendation);\n }\n if (props?.location?.state?.survey) {\n setSurvey(props?.location?.state?.survey);\n }\n if (props?.location?.state?.score) {\n setSurveyScore(props?.location?.state?.score);\n }\n }, []);\n\n const segment = () => {\n for (let segmentData = 0; segmentData < props?.location?.state?.recommendation?.segments?.length; segmentData++) {\n const element = props?.location?.state?.recommendation?.segments[segmentData];\n
{element.title}
;\n }\n };\n\n const timeOut = () => {\n // let id = document.getElementById(\"print\");\n // if (id.style.disabled === false) {\n // id.style.disabled === true;\n // }\n // setTimeout(() => {\n // setIsEnable(true);\n // window.print();\n // }, 2000);\n };\n\n const PrintDocument = () => (\n
\n
\n \"CHS\"\n
\n
\n
\n

\n Type of the Assessment :\n {props?.location?.state?.survey?.type === \"CHSAT\"\n ? \"Core Humanitarian Standards Assessment Tool\"\n : props?.location?.state?.survey?.type === \"ICAT\"\n ? \"Institutional Capacity Assessment Tool\"\n : \"Tool for Institutional Engagement\"}\n

\n

Version of the Assessment : {props?.location?.state?.survey?.title}

\n
\n\n
\n {/*

Segments:

\n

\n {Object.values(props?.location?.state?.answer).map((segment, i) => {\n return segment.title + \" - \" + segment.segmentScore + \"\\n\";\n })}\n

\n
*/}\n

\n Overall details\n

\n\n

Total score : {props?.location?.state?.score}

\n

Recommendation for the Total score :

\n
\n {props?.location?.state?.recommendation && !Lodash.isEmpty(props?.location?.state?.recommendation?.overall?.recommendations) ? (\n props?.location?.state?.recommendation?.overall?.recommendations.map((recom, i) => {\n return recom.from <= props?.location?.state?.score && props?.location?.state?.score <= recom.to ?

{recom.recommendation}

: null;\n })\n ) : (\n

NO RECOMENDATIONS

\n )}\n
\n
\n

\n Segment details\n

\n
\n {Object.values(props?.location?.state?.answer).map((answer, i) => {\n return (\n <>\n

\n Title of the segment : {answer.title} {\"\\n\"}Score of the segment : {answer.segmentScore} {\"\\n\"}Recommendation :\n

\n {props?.location?.state?.recommendation &&\n props?.location?.state?.recommendation?.segments &&\n props?.location?.state?.recommendation?.segments[i] &&\n !Lodash.isEmpty(props?.location?.state?.recommendation?.segments[i]?.recommendations) ? (\n props?.location?.state?.recommendation?.segments[i]?.recommendations.map((recom, j) => {\n return recom.from <= answer.segmentScore && answer.segmentScore <= recom.to ? (\n

\n {recom.recommendation} {\"\\n\"}\n {\"\\n\"}\n

\n ) : null;\n })\n ) : (\n

NO RECOMENDATIONS

\n )}\n \n );\n })}\n
\n
\n \n \n {\n timeOut();\n }}\n id=\"print\"\n disabled={false}\n >\n PRINT\n \n \n \n
\n );\n\n return ReactDOM.render(, document.getElementById(\"root\"));\n};\n\nexport default AnswerPrintAssessment;\n","import { fetchRecommendationsBySurveyId } from \"actions/survey\";\r\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { initialValues_assessmentPage, roundValue, RTL_FLAG_RIGHT } from \"helper\";\r\nimport Lodash from \"lodash\";\r\nimport Moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Radar } from \"react-chartjs-2\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\n// import { Col, Row } from \"reactstrap\";\r\nimport { Col, Row, Label } from \"reactstrap\";\r\nimport { isNamespaceExport } from \"typescript\";\r\n\r\nconst AnswerPrintTemplateByHtml = (font) => {\r\n // console.log(\"fontSize\", fontSize);\r\n const history = useHistory();\r\n // const [fontSize, setFontSize] = useState(14);\r\n const dispatch = useDispatch();\r\n if (LOGINSTATE) console.log(\"font\", font);\r\n\r\n const [systemContentLocale, setSystemContentLocale] = useState({});\r\n const [surveyRecommendations, setSurveyRecommendations] = useState({});\r\n\r\n const [refreshCounter, setRefreshCounter] = useState(0);\r\n const [refreshCount, setRefreshCount] = useState(0);\r\n\r\n const [segName, setSegName] = useState();\r\n const [segScore, setSegScore] = useState();\r\n const [organizatioName, setOrganizationName] = useState(\" \");\r\n const [version, setVersion] = useState(\"\");\r\n const [answer, setAnswer] = useState({});\r\n const [segment, setSegment] = useState({});\r\n const [userLanguage, setUserLanguage] = useState(\"en\");\r\n const [locale, setLocale] = useState({});\r\n const [score, setScore] = useState({});\r\n\r\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\r\n\r\n // Get pre-values to create the locale report, which are user answers, recommendations and the locale template.\r\n const answerAll = useSelector((state) => state.survey.answerAll);\r\n const surveyRecommendationAll = useSelector((state) => state.survey.recommendationAll);\r\n\r\n const handleResize = () => {\r\n // Set window width/height to state\r\n if (LOGINSTATE) console.log(\"Window width\", window.innerWidth);\r\n };\r\n\r\n const userLang = useSelector((state) => state.masterData.languageByCode);\r\n if (LOGINSTATE) console.log(\"userLanguage\", userLang);\r\n useEffect(() => {\r\n let params = {\r\n user: {\r\n code: jUser?.user?.language,\r\n },\r\n };\r\n dispatch(fetchMasterDataLanguage(params.user));\r\n // Handler to call on window resize\r\n\r\n // Add event listener\r\n window.addEventListener(\"resize\", handleResize);\r\n // Call handler right away so state gets updated with initial window size\r\n handleResize();\r\n // Remove event listener on cleanup\r\n return () => window.removeEventListener(\"resize\", handleResize);\r\n }, []); // Empty array ensures that effect is only run on mount\r\n\r\n useEffect(() => {\r\n userLang &&\r\n userLang.language &&\r\n Object.values(userLang.language).map((lang, i) => {\r\n if (lang && lang.dir === \"rtl\") {\r\n setRtlAlignment(\"right\");\r\n }\r\n });\r\n }, [userLang]);\r\n\r\n if (LOGINSTATE) console.log(\"answerAll\", answerAll);\r\n useEffect(() => {\r\n setRefreshCount(refreshCount + 1);\r\n }, [font]);\r\n\r\n useEffect(() => {\r\n let recommendationsLocale = Lodash.find(surveyRecommendationAll, { languageCode: userLanguage });\r\n\r\n // if the relevant locale recommendations are not available, take the default recommendations\r\n if (!recommendationsLocale) {\r\n recommendationsLocale = Lodash.find(surveyRecommendationAll, { languageCode: \"en\" });\r\n }\r\n\r\n if (recommendationsLocale) {\r\n setSurveyRecommendations(recommendationsLocale);\r\n } else {\r\n setSurveyRecommendations({});\r\n }\r\n }, [surveyRecommendationAll]);\r\n\r\n useEffect(() => {\r\n // check answer is available or exit;\r\n if (LOGINSTATE) console.log(\"#########: \", answerAll);\r\n\r\n let score = answerAll?.locale?.segScore;\r\n setSegScore(score ? score : \"\");\r\n\r\n let name = answerAll?.locale?.segName;\r\n // setSegName(name ? name : []); // Originail name, contain assessment code\r\n \r\n let tempNames = []\r\n if (name && Lodash.isArray(name) && !Lodash.isEmpty(name)) {\r\n name.forEach((name, i) => {\r\n tempNames.push(`#${i + 1}`)\r\n })\r\n } \r\n setSegName(tempNames);\r\n\r\n let organization = answerAll?.locale?.answer?.institutionalQuestions[0].answer;\r\n setOrganizationName(organization);\r\n\r\n let versionNumber = answerAll?.locale?.answer.title;\r\n setVersion(versionNumber ? versionNumber : \"\");\r\n\r\n let survey = answerAll?.locale?.answer;\r\n setAnswer(survey ? survey : {});\r\n\r\n let segment = answerAll?.segment;\r\n setSegment(segment);\r\n\r\n if (!Lodash.isEmpty(answerAll?.segmentsLocale)) {\r\n let local = answerAll?.segmentsLocale;\r\n if (LOGINSTATE) console.log(\"local\", local);\r\n setLocale(local);\r\n } else {\r\n setLocale(answerAll?.locale?.answer?.segments);\r\n }\r\n\r\n let segAndQuestionScore = answerAll?.locale?.answer?.segments;\r\n setScore(segAndQuestionScore);\r\n\r\n if (!Lodash.isEmpty(answerAll?.systemContentLocale)) {\r\n let systemContentLocal = answerAll?.systemContentLocale;\r\n setSystemContentLocale(systemContentLocal);\r\n if (LOGINSTATE) console.log(\"systemContentLocal\", systemContentLocal);\r\n } else {\r\n setSystemContentLocale(initialValues_assessmentPage);\r\n }\r\n\r\n dispatch(fetchRecommendationsBySurveyId({ surveyId: survey?.surveyId }, history));\r\n\r\n let lang = answerAll?.locale?.language;\r\n setUserLanguage(lang);\r\n }, [answerAll]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setRefreshCounter(refreshCounter + 1);\r\n }, 2000);\r\n }, [segName, segScore]);\r\n\r\n let currentUser = localStorage.getItem(\"userDetails\");\r\n let jUser = JSON.parse(currentUser);\r\n\r\n const AnswerUiModel = ({ id, item, order, itemLocale, rtlAlignment }) => (\r\n <>\r\n {/* {console.log('item: ', item)}\r\n {console.log('item-score: ', item.score)} */}\r\n\r\n {rtlAlignment === RTL_FLAG_RIGHT ? (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {item.score === 0\r\n ? systemContentLocale?.app_assessment_answer_opt1\r\n : item.score === 1\r\n ? systemContentLocale?.app_assessment_answer_opt2\r\n : item.score === 2\r\n ? systemContentLocale?.app_assessment_answer_opt3\r\n : item.score === 3\r\n ? systemContentLocale?.app_assessment_answer_opt4\r\n : item.score === 4\r\n ? systemContentLocale?.app_assessment_answer_opt5\r\n : item.score === 5\r\n ? systemContentLocale?.app_assessment_answer_opt6\r\n : \"\"}\r\n {\" : \"}{systemContentLocale?.answer}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {(item.remark && item.remark.length > 0) ? item.remark : systemContentLocale?.no_remark}\r\n {\" : \"}{systemContentLocale?.answer_remark}\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n
\r\n \r\n
\r\n
\r\n ) : (\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {systemContentLocale?.answer} :{\" \"}\r\n {item.score === 0\r\n ? systemContentLocale?.app_assessment_answer_opt1\r\n : item.score === 1\r\n ? systemContentLocale?.app_assessment_answer_opt2\r\n : item.score === 2\r\n ? systemContentLocale?.app_assessment_answer_opt3\r\n : item.score === 3\r\n ? systemContentLocale?.app_assessment_answer_opt4\r\n : item.score === 4\r\n ? systemContentLocale?.app_assessment_answer_opt5\r\n : item.score === 5\r\n ? systemContentLocale?.app_assessment_answer_opt6\r\n : \"\"}\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n {systemContentLocale?.answer_remark} : {\" \"}\r\n {(item.remark && item.remark.length > 0) ? item.remark : systemContentLocale?.no_remark}\r\n \r\n \r\n \r\n {/* \r\n \r\n \r\n \r\n */}\r\n \r\n
\r\n )}\r\n \r\n );\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {organizatioName}\r\n \r\n
\r\n \r\n {/* {Moment(answerAll?.locale?.answer?.updatedAt).format(\"YYYY-MM-DD hh:mm A\")} */}\r\n {answerAll?.locale?.answer?.clientTimestamp}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \"logo\"\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n {answerAll?.locale?.answer?.type === \"CHSAT\" ? systemContentLocale.chsat : answerAll?.locale?.answer?.type === \"ICAT\" ? systemContentLocale.icat : systemContentLocale.tie}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {systemContentLocale.version} : {version}\r\n \r\n \r\n \r\n \r\n {/* {refreshCounter} */}\r\n \r\n {/*
*/}\r\n
\r\n console.log(e)}\r\n />\r\n
\r\n
\r\n
\r\n\r\n {/* legend of the graph */}\r\n {answerAll?.segmentsLocale\r\n ? (answerAll?.segmentsLocale).map((segment, i) => (\r\n \r\n {/* Graph legend for internationalization */}\r\n \r\n {rtlAlignment === RTL_FLAG_RIGHT\r\n ? {segment.title} .#{i + 1}\r\n : #{i + 1}. {segment.title}\r\n }\r\n \r\n \r\n ))\r\n : answerAll?.locale?.answer?.segments.map((segment, i) => (\r\n \r\n \r\n {rtlAlignment === RTL_FLAG_RIGHT\r\n ? {segment.title} .#{i + 1}\r\n : #{i + 1}. {segment.title}\r\n }\r\n \r\n \r\n ))}\r\n \r\n \r\n
\r\n
\r\n\r\n {/* answers and recommendations */}\r\n \r\n \r\n {systemContentLocale.overall}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {systemContentLocale.total_score} : {answer?.surveyScore}\r\n \r\n \r\n \r\n\r\n {/* Recommendation print */}\r\n {surveyRecommendations && !Lodash.isEmpty(surveyRecommendations?.overall?.recommendations) ? (\r\n surveyRecommendations?.overall?.recommendations.map((recom, i) => {\r\n return recom.from <= answer?.surveyScore && answer?.surveyScore <= recom.to ? (\r\n \r\n \r\n {recom.recommendation ? recom.recommendation : null}\r\n \r\n \r\n ) : null;\r\n })\r\n ) : (\r\n \r\n \r\n {systemContentLocale.no_recommendation}\r\n \r\n \r\n )}\r\n
\r\n
\r\n \r\n \r\n {systemContentLocale.segment}\r\n \r\n \r\n\r\n {segment && !Lodash.isEmpty(segment)\r\n ? Object.values(segment).map((segmentAnswer, i) => {\r\n return (\r\n <>\r\n {/* {console.log(\"locale\", locale)} */}\r\n \r\n \r\n {/* Segment title print */}\r\n {locale && !Lodash.isEmpty(locale) ? locale[i]?.title : surveyRecommendations?.segments[i].title}\r\n \r\n \r\n\r\n \r\n \r\n {/* segment score print */}\r\n \r\n {systemContentLocale.segment_score} : {locale[i].segmentScore ? roundValue(locale[i].segmentScore) : segScore[i]}\r\n \r\n \r\n \r\n\r\n {surveyRecommendations && surveyRecommendations?.segments && surveyRecommendations?.segments[i] && !Lodash.isEmpty(surveyRecommendations?.segments[i]?.recommendations) ? (\r\n surveyRecommendations?.segments[i]?.recommendations.map((recom, j) => {\r\n return recom.from <= segmentAnswer.segmentScore && segmentAnswer.segmentScore <= recom.to ? (\r\n <>\r\n \r\n \r\n {/* Segment recommendation print */}\r\n {recom.recommendation}\r\n \r\n \r\n \r\n ) : null;\r\n })\r\n ) : (\r\n \r\n \r\n {/* Segment no recommendation print */}\r\n {systemContentLocale.no_recommendation}\r\n \r\n \r\n )}\r\n\r\n {!Lodash.isEmpty(segment) &&\r\n Object.values(segment[i].questions).map((item, j) => {\r\n return ;\r\n })}\r\n \r\n );\r\n })\r\n : \" \"}\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n// Create styles\r\nconst styles = {\r\n page: {\r\n // paddingTop: 35,\r\n // paddingBottom: 65,\r\n // paddingHorizontal: 35,\r\n },\r\n section: {\r\n margin: 0,\r\n padding: 35,\r\n },\r\n h3: {\r\n color: \"#af1e23\",\r\n marginLeft: 12,\r\n marginRight: 12,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n fontWeight: \"bold\",\r\n },\r\n row: {\r\n flexGrow: 1,\r\n flexDirection: \"row\",\r\n },\r\n title: {\r\n // fontSize: 24,\r\n textAlign: \"center\",\r\n },\r\n author: {\r\n // fontSize: 12,\r\n textAlign: \"center\",\r\n marginBottom: 40,\r\n },\r\n subtitle: {\r\n // fontSize: 18,\r\n margin: 12,\r\n fontWeight: \"bold\",\r\n },\r\n segment: {\r\n // color: \"#af1e23\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n // margin: 12,\r\n marginLeft: 12,\r\n marginRight: 12,\r\n },\r\n text: {\r\n margin: 12,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n },\r\n textRecommendation: {\r\n color: \"#af1e23\",\r\n margin: 12,\r\n marginBottom: 5,\r\n // fontSize: 14,\r\n // textAlign: \"justify\",\r\n },\r\n question: {\r\n margin: 12,\r\n marginBottom: 12,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n marginLeft: 30,\r\n },\r\n answer: {\r\n fontSize: 15,\r\n marginLeft: 30,\r\n },\r\n textNote: {\r\n margin: 12,\r\n marginBottom: 5,\r\n fontSize: 14,\r\n textAlign: \"justify\",\r\n },\r\n image: {\r\n marginVertical: 5,\r\n marginHorizontal: 150,\r\n alignContent: \"center\",\r\n textAlign: \"center\",\r\n },\r\n pageNumber: {\r\n position: \"absolute\",\r\n fontSize: 12,\r\n bottom: 30,\r\n left: 0,\r\n right: 0,\r\n textAlign: \"center\",\r\n color: \"grey\",\r\n },\r\n dateAndTime: {\r\n position: \"absolute\",\r\n fontSize: 12,\r\n bottom: 30,\r\n right: 35,\r\n textAlign: \"right\",\r\n color: \"grey\",\r\n },\r\n recommendation: {\r\n // marginBottom: 12,\r\n },\r\n};\r\n\r\nexport default AnswerPrintTemplateByHtml;\r\n","import { GRAPH_LOCAL_ANSWER } from \"constants/actionTypes\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\n\r\nimport { Badge, Card, CardHeader, Container, Row, Table, CardBody, CardFooter, Col, Button } from \"reactstrap\";\r\n\r\nimport CommonHeader from \"components/Headers/CommonHeader\";\r\nimport { fetchLocalizationBySurveyTemplate } from \"actions/survey\";\r\nimport { fetchLocalizationContent } from \"actions/masterData\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport Chart from \"chart.js\"; // javascipt plugin for creating charts. Does the style formatting\r\nimport { Bar, Line, Radar } from \"react-chartjs-2\";\r\nimport Lodash from \"lodash\";\r\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { initialValues_assessmentPage } from \"helper\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"../../../assets/css/react-confirm-alert-custom.css\"; /// Import css\r\n\r\nimport AnswerPrintTemplateByHtmlExtend from \"./AnswerPrintTemplateByHtmlExtend\";\r\n\r\nconst AnswerPrint = (props) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const [printing, setPrinting] = useState(false);\r\n\r\n const [systemContentLocale, setSystemContentLocale] = useState({});\r\n\r\n const locale = props?.location?.state;\r\n let answer = props?.location?.state?.answer;\r\n\r\n let focusCounter = 0;\r\n const focusDiv = useRef();\r\n\r\n if (LOGINSTATE) console.log(\"passed location param: \", props?.location?.state);\r\n const [fontSize, setFontSize] = useState(14);\r\n\r\n useEffect(() => {\r\n // Get the active survey if information is exist\r\n // Get system content for locale if exist\r\n\r\n if (LOGINSTATE) console.log(\"passed location param: \", locale);\r\n if (locale && locale?.answer) {\r\n // get active survey details\r\n const params = { type: answer?.type, languageCode: jUser?.user?.language };\r\n if (LOGINSTATE) console.log(\"fetching master data with: \", params);\r\n\r\n dispatch(fetchLocalizationContent(params));\r\n }\r\n dispatch(fetchLocalizationBySurveyTemplate({ surveyId: answer?.surveyId }, history));\r\n }, [locale]);\r\n\r\n // get system content\r\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\r\n const surveyLocalizationAll = useSelector((state) => state.survey.surveyLocalizationAll);\r\n useEffect(() => {\r\n if (LOGINSTATE) console.log(\"survey Locales : \", surveyLocalizationAll);\r\n const surveyLocaleForTemplate = Lodash.find(surveyLocalizationAll, { languageCode: jUser.user.language });\r\n\r\n if (LOGINSTATE) console.log(\"survey Locale for template: \", surveyLocaleForTemplate);\r\n\r\n const segmentsLocale = surveyLocaleForTemplate?.segments ? surveyLocaleForTemplate?.segments : answer?.segments;\r\n\r\n const segment = answer?.segments;\r\n\r\n if (LOGINSTATE) console.log(\"segmentDataLocale : \", segmentsLocale);\r\n\r\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\r\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent) && systemContent.length > 0) {\r\n setSystemContentLocale(systemContent[0].assessmentPage);\r\n } else {\r\n setSystemContentLocale(initialValues_assessmentPage);\r\n }\r\n\r\n // let locale = segmentsLocale;\r\n\r\n let full = { locale, segmentsLocale, systemContentLocale, segment, fontSize };\r\n if (LOGINSTATE) console.log(\"full\", full);\r\n localStorage.setItem(GRAPH_LOCAL_ANSWER, JSON.stringify(full));\r\n dispatch({ type: GRAPH_LOCAL_ANSWER, payload: full });\r\n }, [systemContent, surveyLocalizationAll]);\r\n\r\n const toPdf = (print) => {\r\n setPrinting(true);\r\n\r\n // start checking for focus state to see when is the print preview close, or close after 10 seconds\r\n focusCounter = 0;\r\n // const focusWatch = setInterval(() => {\r\n // const ss = document.hasFocus();\r\n // focusCounter++;\r\n // if(focusCounter>20){\r\n // clearInterval(focusWatch);\r\n // }\r\n // }, 500);\r\n\r\n // give a time to re-render the layout again for print preview\r\n setTimeout(() => {\r\n window.print();\r\n }, 500);\r\n\r\n // give a time to re-set the layout after print preview is complete\r\n // setTimeout(() => {\r\n // // clearInterval(focusWatch);\r\n // setPrinting(false);\r\n // }, 5000);\r\n\r\n };\r\n\r\n const endPdf = () => {\r\n if (printing) {\r\n setPrinting(false);\r\n }\r\n }\r\n\r\n let currentUser = localStorage.getItem(\"userDetails\");\r\n let jUser = JSON.parse(currentUser);\r\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\r\n if (LOGINSTATE) console.log(\"uRole\", jUser);\r\n\r\n return (\r\n <>\r\n {/* {printing ? null : } */}\r\n\r\n {/* Page content */}\r\n { endPdf() }}\r\n onMouseDown={() => { endPdf()}}\r\n >\r\n \r\n \r\n \r\n {systemContentLocale.self_assessment}\r\n

{systemContentLocale.recommendations_self_assessment}

\r\n\r\n
{systemContentLocale.pdf_version}
\r\n \r\n \r\n
\r\n {systemContentLocale.font_size}\r\n
\r\n
\r\n
\r\n {\r\n setFontSize(fontSize > 3 ? fontSize - 1 : 3);\r\n }}\r\n >\r\n \r\n
\r\n

\r\n {fontSize}\r\n

\r\n {\r\n setFontSize(fontSize + 1);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n {\r\n history.goBack();\r\n }}\r\n >\r\n {systemContentLocale.app_back}\r\n \r\n \r\n \r\n {\r\n toPdf(true);\r\n }}\r\n >\r\n {systemContentLocale.print}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AnswerPrint;\r\n","import { fetchRecommendationsBySurveyId } from \"actions/survey\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { fetchMasterDataLanguage } from \"actions/masterData\";\r\nimport { initialValues_assessmentPage, roundValue } from \"helper\";\r\nimport Lodash from \"lodash\";\r\nimport Moment from \"moment\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { Radar } from \"react-chartjs-2\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { Col, Row, Button } from \"reactstrap\";\r\nimport { ChsStyles } from \"constants/globalStyles\";\r\nimport { RTL_FLAG_RIGHT } from \"helper\";\r\n\r\nconst AnswerPrintTemplateByHtml = (font) => {\r\n // console.log(\"fontSize\", fontSize);\r\n const history = useHistory();\r\n // const [fontSize, setFontSize] = useState(14);\r\n const dispatch = useDispatch();\r\n if (LOGINSTATE) console.log(\"font\", font);\r\n\r\n const [systemContentLocale, setSystemContentLocale] = useState({});\r\n const [surveyRecommendations, setSurveyRecommendations] = useState({});\r\n\r\n const [refreshCounter, setRefreshCounter] = useState(0);\r\n const [refreshCount, setRefreshCount] = useState(0);\r\n\r\n const [segName, setSegName] = useState();\r\n const [segScore, setSegScore] = useState();\r\n const [organizatioName, setOrganizationName] = useState(\" \");\r\n const [version, setVersion] = useState(\"\");\r\n const [answer, setAnswer] = useState({});\r\n // const [fontSize, setFontSize] = useState(14);\r\n const [userLanguage, setUserLanguage] = useState(\"en\");\r\n const [locale, setLocale] = useState({});\r\n const [score, setScore] = useState({});\r\n\r\n const [rtlAlignment, setRtlAlignment] = useState(\"left\");\r\n\r\n // Get pre-values to create the locale report, which are user answers, recommendations and the locale template.\r\n const answerAll = useSelector((state) => state.survey.answerAll);\r\n const surveyRecommendationAll = useSelector((state) => state.survey.recommendationAll);\r\n\r\n const userLang = useSelector((state) => state.masterData.languageByCode);\r\n if (LOGINSTATE) console.log(\"userLanguage\", userLang);\r\n useEffect(() => {\r\n // Get profile data to fill organization questions\r\n\r\n let params = {\r\n user: {\r\n code: jUser?.user?.language,\r\n },\r\n };\r\n dispatch(fetchMasterDataLanguage(params.user));\r\n }, []);\r\n\r\n useEffect(() => {\r\n userLang &&\r\n userLang.language &&\r\n Object.values(userLang.language).map((lang, i) => {\r\n if (lang && lang.dir === \"rtl\") {\r\n setRtlAlignment(\"right\");\r\n }\r\n });\r\n }, [userLang]);\r\n\r\n if (LOGINSTATE) console.log(\"answerAll\", answerAll);\r\n useEffect(() => {\r\n setRefreshCount(refreshCount + 1);\r\n }, [font]);\r\n\r\n useEffect(() => {\r\n let recommendationsLocale = Lodash.find(surveyRecommendationAll, { languageCode: userLanguage });\r\n\r\n // if the relevant locale recommendations are not available, take the default recommendations\r\n if (!recommendationsLocale) {\r\n recommendationsLocale = Lodash.find(surveyRecommendationAll, { languageCode: \"en\" });\r\n }\r\n\r\n if (recommendationsLocale) {\r\n setSurveyRecommendations(recommendationsLocale);\r\n } else {\r\n setSurveyRecommendations({});\r\n }\r\n }, [surveyRecommendationAll]);\r\n\r\n useEffect(() => {\r\n // check answer is available or exit;\r\n if (LOGINSTATE) console.log(\"answerAll: \", answerAll);\r\n\r\n let score = answerAll?.locale?.segScore;\r\n setSegScore(score ? score : \"\");\r\n\r\n let name = answerAll?.locale?.segName;\r\n // setSegName(name ? name : []); // Originail name, contain assessment code\r\n\r\n let tempNames = []\r\n if (name && Lodash.isArray(name) && !Lodash.isEmpty(name)) {\r\n name.forEach((name, i) => {\r\n tempNames.push(`#${i + 1}`)\r\n })\r\n }\r\n setSegName(tempNames);\r\n\r\n let organization = answerAll?.locale?.answer?.institutionalQuestions[0].answer;\r\n setOrganizationName(organization);\r\n\r\n let versionNumber = answerAll?.locale?.answer.title;\r\n setVersion(versionNumber ? versionNumber : \"\");\r\n\r\n let survey = answerAll?.locale?.answer;\r\n setAnswer(survey ? survey : {});\r\n\r\n let font = answerAll?.frontSize;\r\n // setFontSize(font ? font : 14);\r\n\r\n if (!Lodash.isEmpty(answerAll?.segmentsLocale)) {\r\n let local = answerAll?.segmentsLocale;\r\n if (LOGINSTATE) console.log(\"local\", local);\r\n setLocale(local);\r\n } else {\r\n setLocale(answerAll?.locale?.answer?.segments);\r\n }\r\n\r\n let segAndQuestionScore = answerAll?.locale?.answer?.segments;\r\n setScore(segAndQuestionScore);\r\n\r\n if (!Lodash.isEmpty(answerAll?.systemContentLocale)) {\r\n let systemContentLocal = answerAll?.systemContentLocale;\r\n setSystemContentLocale(systemContentLocal);\r\n if (LOGINSTATE) console.log(\"systemContentLocal\", systemContentLocal);\r\n } else {\r\n setSystemContentLocale(initialValues_assessmentPage);\r\n }\r\n\r\n dispatch(fetchRecommendationsBySurveyId({ surveyId: survey?.surveyId }, history));\r\n\r\n let lang = answerAll?.locale?.language;\r\n setUserLanguage(lang);\r\n }, [answerAll]);\r\n\r\n useEffect(() => {\r\n setTimeout(() => {\r\n setRefreshCounter(refreshCounter + 1);\r\n }, 2000);\r\n }, [segName, segScore]);\r\n\r\n let currentUser = localStorage.getItem(\"userDetails\");\r\n let jUser = JSON.parse(currentUser);\r\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\r\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\r\n\r\n return (\r\n <>\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {organizatioName}\r\n \r\n
\r\n \r\n {/* {Moment(answerAll?.locale?.answer?.updatedAt).format(\"YYYY-MM-DD hh:mm A\")} */}\r\n {answerAll?.locale?.answer?.clientTimestamp}\r\n \r\n \r\n
\r\n\r\n \r\n \r\n
\r\n \"logo\"\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n {answerAll?.locale?.answer?.type === \"CHSAT\" ? systemContentLocale.chsat : answerAll?.locale?.answer?.type === \"ICAT\" ? systemContentLocale.icat : systemContentLocale.tie}\r\n \r\n \r\n\r\n \r\n \r\n \r\n {systemContentLocale.version} : {version}\r\n \r\n \r\n \r\n \r\n {/* {refreshCounter} */}\r\n \r\n
\r\n console.log(e)}\r\n />\r\n
\r\n
\r\n
\r\n {answerAll?.segmentsLocale\r\n ? (answerAll?.segmentsLocale).map((segment, i) => (\r\n \r\n \r\n {rtlAlignment === RTL_FLAG_RIGHT\r\n ? {segment.title} .#{i + 1}\r\n : #{i + 1}. {segment.title}\r\n }\r\n \r\n \r\n ))\r\n : answerAll?.locale?.answer?.segments.map((segment, i) => (\r\n \r\n \r\n {rtlAlignment === RTL_FLAG_RIGHT\r\n ? {segment.title} .#{i + 1}\r\n : #{i + 1}. {segment.title}\r\n }\r\n \r\n \r\n ))}\r\n \r\n
\r\n
\r\n
\r\n \r\n \r\n {\r\n history.goBack();\r\n }}\r\n >\r\n {systemContentLocale.app_back}\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\n// Create styles\r\nconst styles = {\r\n page: {\r\n // paddingTop: 35,\r\n // paddingBottom: 65,\r\n // paddingHorizontal: 35,\r\n },\r\n section: {\r\n margin: 0,\r\n padding: 35,\r\n },\r\n h3: {\r\n color: \"#af1e23\",\r\n marginLeft: 12,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n fontWeight: \"bold\",\r\n },\r\n row: {\r\n flexGrow: 1,\r\n flexDirection: \"row\",\r\n },\r\n title: {\r\n // fontSize: 24,\r\n textAlign: \"center\",\r\n },\r\n author: {\r\n // fontSize: 12,\r\n textAlign: \"center\",\r\n marginBottom: 40,\r\n },\r\n subtitle: {\r\n // fontSize: 18,\r\n margin: 12,\r\n fontWeight: \"bold\",\r\n },\r\n segment: {\r\n // color: \"#af1e23\",\r\n fontWeight: \"bold\",\r\n fontSize: 15,\r\n margin: 12,\r\n },\r\n text: {\r\n margin: 12,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n },\r\n textRecommendation: {\r\n color: \"#af1e23\",\r\n margin: 12,\r\n marginBottom: 5,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n },\r\n question: {\r\n margin: 12,\r\n marginBottom: 12,\r\n // fontSize: 14,\r\n textAlign: \"justify\",\r\n marginLeft: 30,\r\n },\r\n answer: {\r\n fontSize: 15,\r\n marginLeft: 30,\r\n },\r\n textNote: {\r\n margin: 12,\r\n marginBottom: 5,\r\n fontSize: 14,\r\n textAlign: \"justify\",\r\n },\r\n image: {\r\n marginVertical: 5,\r\n marginHorizontal: 150,\r\n alignContent: \"center\",\r\n textAlign: \"center\",\r\n },\r\n pageNumber: {\r\n position: \"absolute\",\r\n fontSize: 12,\r\n bottom: 30,\r\n left: 0,\r\n right: 0,\r\n textAlign: \"center\",\r\n color: \"grey\",\r\n },\r\n dateAndTime: {\r\n position: \"absolute\",\r\n fontSize: 12,\r\n bottom: 30,\r\n right: 35,\r\n textAlign: \"right\",\r\n color: \"grey\",\r\n },\r\n recommendation: {\r\n marginBottom: 12,\r\n },\r\n};\r\n\r\nexport default AnswerPrintTemplateByHtml;\r\n","import { GRAPH_LOCAL_ANSWER, GRAPH_LOCAL_SYSTEM_CONTENT } from \"constants/actionTypes\";\r\n\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { SHOW_LOADING } from \"../../../constants/actionTypes\";\r\n\r\nimport { Badge, Card, CardHeader, Container, Row, Table, CardBody, CardFooter, Col, Button } from \"reactstrap\";\r\n\r\nimport CommonHeader from \"components/Headers/CommonHeader\";\r\nimport { fetchLocalizationBySurveyTemplate } from \"actions/survey\";\r\nimport { fetchLocalizationContent } from \"actions/masterData\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport Chart from \"chart.js\"; // javascipt plugin for creating charts. Does the style formatting\r\nimport { Bar, Line, Radar } from \"react-chartjs-2\";\r\nimport Lodash from \"lodash\";\r\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { initialValues_assessmentPage } from \"helper\";\r\n\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"../../../assets/css/react-confirm-alert-custom.css\"; /// Import css\r\n\r\nimport AnswerPrintTemplateByHtmlExtend from \"./Graph\";\r\n\r\nconst AnswerPrint = (props) => {\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n const [systemContentLocale, setSystemContentLocale] = useState(initialValues_assessmentPage);\r\n const [segmentDataLocale, setSegmentDataLocale] = useState({});\r\n const [printing, setPrinting] = useState(true);\r\n const locale = props?.location?.state;\r\n\r\n // console.log(\"locale\", locale);\r\n\r\n const [fontSize, setFontSize] = useState(14);\r\n\r\n let currentUser = localStorage.getItem(\"userDetails\");\r\n let jUser = JSON.parse(currentUser);\r\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\r\n if (LOGINSTATE) console.log(\"uRole\", jUser);\r\n\r\n let answer = props?.location?.state?.answer;\r\n\r\n if (LOGINSTATE) console.log(\"passed location param: \", props?.location?.state);\r\n\r\n useEffect(() => {\r\n // Get the active survey if information is exist\r\n // Get system content for locale if exist\r\n\r\n if (LOGINSTATE) console.log(\"passed location param: \", locale);\r\n if (locale && locale?.answer) {\r\n // get active survey details\r\n const params = { type: answer?.type, languageCode: jUser?.user?.language };\r\n if (LOGINSTATE) console.log(\"fetching master data with: \", params);\r\n\r\n dispatch(fetchLocalizationContent(params));\r\n }\r\n dispatch(fetchLocalizationBySurveyTemplate({ surveyId: answer?.surveyId }, history));\r\n }, [locale]);\r\n\r\n // get system content\r\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\r\n const surveyLocalizationAll = useSelector((state) => state.survey.surveyLocalizationAll);\r\n useEffect(() => {\r\n if (LOGINSTATE) console.log(\"survey Locales : \", surveyLocalizationAll);\r\n const surveyLocaleForTemplate = Lodash.find(surveyLocalizationAll, { languageCode: jUser.user.language });\r\n\r\n if (LOGINSTATE) console.log(\"survey Locale for template: \", surveyLocaleForTemplate);\r\n\r\n const segmentsLocale = surveyLocaleForTemplate?.segments ? surveyLocaleForTemplate?.segments : answer?.segments;\r\n setSegmentDataLocale(segmentsLocale);\r\n // localStorage.setItem(GRAPH_LOCAL_LOCALE, JSON.stringify(segmentsLocale));\r\n if (LOGINSTATE) console.log(\"segmentDataLocale : \", segmentsLocale);\r\n\r\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\r\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent) && systemContent.length > 0) {\r\n setSystemContentLocale(systemContent[0].assessmentPage);\r\n } else {\r\n setSystemContentLocale(initialValues_assessmentPage);\r\n }\r\n\r\n // let locale = segmentsLocale;\r\n\r\n let full = { locale, segmentsLocale, systemContentLocale, fontSize };\r\n if (LOGINSTATE) console.log(\"full\", full);\r\n localStorage.setItem(GRAPH_LOCAL_ANSWER, JSON.stringify(full));\r\n dispatch({ type: GRAPH_LOCAL_ANSWER, payload: full });\r\n }, [systemContent, surveyLocalizationAll]);\r\n\r\n const toPdf = (print) => {\r\n setPrinting(true);\r\n\r\n setTimeout(() => {\r\n window.print();\r\n if (LOGINSTATE) console.log(\"print\", window.onfocus);\r\n focusMethod();\r\n }, 1000);\r\n };\r\n\r\n const focusMethod = function getFocus() {\r\n document.getElementById(\"answerPrintTemplateByHtml\").focus();\r\n setPrinting(false);\r\n if (LOGINSTATE) console.log(\"printing\");\r\n };\r\n\r\n return (\r\n <>\r\n {printing ? null : }\r\n\r\n {/* Page content */}\r\n
\r\n \r\n \r\n \r\n {systemContentLocale.self_assessment}\r\n

{systemContentLocale.recommendations_self_assessment}

\r\n\r\n
{systemContentLocale.pdf_version}
\r\n \r\n \r\n
\r\n {systemContentLocale.font_size}\r\n
\r\n
\r\n
\r\n {\r\n setFontSize(fontSize > 3 ? fontSize - 1 : 3);\r\n }}\r\n >\r\n \r\n
\r\n

\r\n {fontSize}\r\n

\r\n {\r\n setFontSize(fontSize + 1);\r\n }}\r\n >\r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n\r\n
\r\n \r\n
\r\n\r\n \r\n \r\n \r\n {\r\n history.goBack();\r\n }}\r\n >\r\n {systemContentLocale.app_back}\r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport default AnswerPrint;\r\n","import { fetchRecommendationsBySurveyId, updateRecommendationById, deleteRecommendationById } from \"actions/survey\";\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\nimport { RECOMMENDATION_LOCAL } from \"constants/actionTypes\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Badge, Button, Card, CardHeader, Container, CardFooter, Col, Row, Table } from \"reactstrap\";\nimport { GlobalStylesColor, ChsStyles } from \"constants/globalStyles\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { Tooltip } from \"@material-ui/core\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\n\n// Populate version row for each survey type\nconst RecommendationRow = ({ recommendation, editClick, statusClick, deleteClick }) => (\n // VERSION | TITLE | DESCRIPTION | STATUS\n \n {recommendation.languageCode}\n {recommendation.title}\n {recommendation.description}\n \n {recommendation.published ? (\n \n \n YES\n \n ) : (\n \n \n NO\n \n )}\n \n \n
\n \n {\n editClick(e, recommendation);\n }}\n >\n \n
\n \n \n {\n statusClick(e, recommendation);\n }}\n >\n {recommendation.published ? : }\n \n \n \n {\n confirmAlert({\n title: 'Confirm delete',\n buttons: [\n { label: \"No\", onClick: () => { } },\n {\n label: \"Yes\", onClick: () => {\n deleteClick(e, recommendation);\n }\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false\n });\n }}\n >\n \n \n \n \n \n \n);\n\n// export function\nconst RecommendationLocalization = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n const [languages, setLanguages] = useState([]);\n const [recommendationTemplateAll, setRecommendationTemplateAll] = useState([]);\n\n useEffect(() => {\n const survey = props.location.state?.survey;\n if (LOGINSTATE) console.log(\"use effect call\", survey);\n if (survey && !Lodash.isEmpty(survey)) {\n dispatch(fetchRecommendationsBySurveyId({ surveyId: survey._id }, history));\n }\n dispatch(fetchMasterDataLanguageAll());\n }, []);\n\n // get recommendations\n const recommendationTemplateStateAll = useSelector((state) => state.survey.recommendationAll);\n\n const language = useSelector((state) => state.masterData.languageAll);\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"recommendationTemplateStateAll: \", recommendationTemplateStateAll);\n\n if (!Lodash.isEmpty(recommendationTemplateStateAll) && recommendationTemplateStateAll[0].surveyId && recommendationTemplateStateAll[0]?.surveyId === props.location.state?.survey?._id) {\n if (LOGINSTATE) console.log(\"recommendationTemplateStateAll surveyId\", recommendationTemplateStateAll[0].surveyId);\n if (LOGINSTATE) console.log(\"survey id\", props.location.state?.survey._id);\n\n setRecommendationTemplateAll(recommendationTemplateStateAll);\n recommendationTemplateStateAll.forEach((template) => {\n setLanguages([...languages, template.languageCode]);\n });\n } else {\n setRecommendationTemplateAll([]);\n setLanguages([]);\n }\n }, [recommendationTemplateStateAll]);\n\n const handleStatusClick = (e, recommendation) => {\n e.preventDefault();\n let params = {\n recommendationId: recommendation._id,\n published: !recommendation.published,\n };\n dispatch(updateRecommendationById(params, history));\n };\n\n const handleDeleteClick = (e, recommendation) => {\n e.preventDefault();\n let params = {\n recommendationId: recommendation._id,\n };\n confirmAlert({\n message: \"Recommendation will be deleted.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => {\n dispatch(deleteRecommendationById(params, history));\n },\n },\n {\n label: \"Cancel\",\n onClick: () => { },\n },\n ],\n });\n\n // confirmAlert({\n // customUI: ({ onClose }) => {\n // return (\n //
\n //

Are you sure?

\n //

You want to delete this file?

\n // \n // {\n // this.handleClickDelete();\n // onClose();\n // }}\n // >\n // Yes, Delete it!\n // \n //
\n // );\n // }\n // });\n };\n\n const handleLocalizationClick = (e, recommendation) => {\n e.preventDefault();\n };\n\n // create survey from existing survey\n const handleEditClick = (e, recommendation, type) => {\n e.preventDefault();\n const survey = props.location.state?.survey;\n if (LOGINSTATE) console.log(\"--------------------- local store survey: \", survey);\n if (LOGINSTATE) console.log(\"--------------------- recommendation: \", recommendation);\n if (LOGINSTATE) console.log(\"--------------------- type: \", type);\n if (LOGINSTATE) console.log(\"--------------------- language: \", language);\n\n confirmAlert({\n title: \"Warning\",\n message: \"This will reset currently editing recommendations, if exist. Do you want to proceed?\",\n buttons: [\n {\n label: \"Yes\",\n onClick: () => {\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify({}));\n dispatch({ type: RECOMMENDATION_LOCAL, payload: recommendation });\n history.push({ pathname: \"/registered/assessment_recommendation_details\", state: { survey: survey, languages: language } });\n },\n },\n { label: \"No\", onClick: () => { } },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n };\n\n const handleCreateClick = (e, recommendation, type) => {\n e.preventDefault();\n };\n\n // create empty survey\n const handleCreateNewClick = (e, recommendation) => {\n e.preventDefault();\n const survey = props?.location?.state?.survey;\n if (LOGINSTATE) console.log(\"language: \", language);\n\n let finalLang = Lodash.reject(language, function (currentLang) {\n return Lodash.find(recommendationTemplateStateAll, { languageCode: currentLang.code });\n });\n if (LOGINSTATE) console.log(\"finalLang\", finalLang);\n if (Lodash.isEmpty(finalLang)) {\n confirmAlert({\n title: \"Error\",\n message: \"Localizations are exist for all languages.\",\n buttons: [\n {\n label: \"Ok\",\n onClick: () => { },\n },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n } else {\n confirmAlert({\n title: \"Warning\",\n message: \"This will reset currently editing recommendations, if exist. Do you want to proceed?\",\n buttons: [\n {\n label: \"Yes\",\n onClick: () => {\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify({}));\n dispatch({ type: RECOMMENDATION_LOCAL, payload: {} });\n history.push({ pathname: \"/registered/assessment_recommendation_details_create\", state: { survey: survey, languages: finalLang } });\n },\n },\n { label: \"No\", onClick: () => { } },\n ],\n closeOnEscape: false, closeOnClickOutside: false,\n });\n }\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n \n
\n \n \n
\n
\n

Assessment Recommendations

\n
With Localizations
\n
\n
\n \n {\n handleCreateNewClick(e, \"\");\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n {Lodash.filter(recommendationTemplateAll, {}).map((recommendation, i) => {\n return ;\n })}\n \n
Language CodeTitleDescriptionPublishedActions
\n \n \n
\n\n \n \n \n \n {\n history.push({ pathname: \"/registered/assessment_recommendations\" });\n }}\n >\n BACK\n \n \n \n \n \n \n
\n \n );\n};\n\nexport default RecommendationLocalization;\n","import { createRecommendation, updateRecommendationById } from \"actions/survey\";\nimport { RECOMMENDATION_LOCAL } from \"constants/actionTypes\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Badge, Button, Card, CardHeader, Container, CardFooter, Row, Col, Table } from \"reactstrap\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { Tooltip } from \"@material-ui/core\";\nimport { ChsStyles } from \"constants/globalStyles\";\nimport { processArray } from \"helper\";\n\n// Populate version row for each survey type\nconst RecommendationRow = ({ type, segmentId, position, recommendation, editClick, moveUpClick, moveDownClick, deleteClick }) => (\n // SCORE RANGE | RECOMMENDATIONS\n \n \n {recommendation.from} - {recommendation.to}\n \n {recommendation.recommendation ? recommendation.recommendation : recommendation.note}\n \n
\n \n {\n editClick(e, type, segmentId, position, recommendation);\n }}\n >\n \n
\n \n \n {\n moveUpClick(e, type, segmentId, position, recommendation);\n }}\n >\n \n \n \n \n {\n moveDownClick(e, type, segmentId, position, recommendation);\n }}\n >\n \n \n \n \n {\n confirmAlert({\n title: 'Confirm delete',\n buttons: [\n { label: \"No\", onClick: () => { } },\n {\n label: \"Yes\", onClick: () => {\n deleteClick(e, type, segmentId, position, recommendation);\n }\n },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false\n });\n }}\n >\n \n \n \n \n \n \n);\n\n// export function\nconst Recommendation = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n const initSurveyRecommendations = {\n languageCode: \"en\",\n type: \"\",\n title: \"\",\n description: \"\",\n overall: {\n recommendations: [],\n status: true,\n },\n segments: [],\n status: \"DEFAULT\",\n published: false,\n };\n const [surveyRecommendations, setSurveyRecommendations] = useState(initSurveyRecommendations); // Full object\n const [overallData, setOverallData] = useState(initSurveyRecommendations?.overall?.recommendations); // Overall details\n const [segmentData, setSegmentData] = useState(initSurveyRecommendations?.segments); // Segment details\n const [isNew, setIsNew] = useState(true);\n const [refreshToken, setRefreshToken] = useState(0);\n\n // 1. get the survey. create the recommendation structure\n // 2. getting the recommendations for survey per language if exist\n // 3. populate the structure and save locally\n // 4. update the structure if local is changed\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect 1: page load\");\n // create the recommendation structure from passed survey\n const survey = props.location.state?.survey;\n if (survey && !Lodash.isEmpty(survey)) {\n if (LOGINSTATE) console.log(\"--------- survey: \", survey);\n setSurveyRecommendations({\n languageCode: survey.languageCode,\n type: survey.type,\n title: survey.title,\n description: survey.description,\n overall: {\n recommendations: [],\n status: true,\n },\n segments: [],\n status: \"DEFAULT\",\n published: false,\n });\n setSegmentData(survey?.segments);\n }\n\n // populate the variables from locally save data if exist\n if (localStorage.getItem(RECOMMENDATION_LOCAL)) {\n let localRecommendations = JSON.parse(localStorage.getItem(RECOMMENDATION_LOCAL));\n if (LOGINSTATE) console.log(\"update is called with init local: \", localRecommendations);\n if (LOGINSTATE) console.log(\"---------------> 2\");\n updateByLocalSaveRecommendations(localRecommendations);\n }\n\n return () => { };\n }, []);\n\n // get recommendations from server\n const currentRecommendations = useSelector((state) => state.survey.recommendationAll);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect 2: get from server\");\n if (LOGINSTATE) console.log(\"currentRecommendations in server: \", currentRecommendations);\n const language = props.location.state?.language;\n if (LOGINSTATE) console.log(\"language: \", language);\n const localeRecommendation = currentRecommendations ? currentRecommendations[0] : null; // since the parent is passing the language code, this should be one element\n if (LOGINSTATE) console.log(\"server Recommendation: \", localeRecommendation);\n if (localeRecommendation && !Lodash.isEmpty(localeRecommendation)) {\n if (LOGINSTATE) console.log(\"set locale Recommendation: \", localeRecommendation);\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(localeRecommendation));\n updateByLocalSaveRecommendations(localeRecommendation);\n setIsNew(false);\n }\n }, [currentRecommendations]);\n\n // information getting from redux\n const recommendationSaved = useSelector((state) => state.survey.localRecommendationTemplate);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect 3: start from local dispatch\");\n if (LOGINSTATE) console.log(\"dispatch surveySaved: \", recommendationSaved);\n\n if (recommendationSaved !== undefined && recommendationSaved !== null && !Lodash.isEmpty(recommendationSaved)) {\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(recommendationSaved));\n updateByLocalSaveRecommendations(recommendationSaved);\n }\n }, [recommendationSaved]);\n\n const updateByLocalSaveRecommendations = (localRecommendations) => {\n if (LOGINSTATE) console.log(\"0. Recommendation update is called with: \", localRecommendations);\n // if all overall or segments exist, override the passed survey data\n if (localRecommendations && !Lodash.isEmpty(localRecommendations) && (localRecommendations?.overall?.recommendations || localRecommendations?.segments)) {\n setSurveyRecommendations(Lodash.isEmpty(localRecommendations) ? initSurveyRecommendations : localRecommendations);\n setOverallData(localRecommendations?.overall?.recommendations ? localRecommendations?.overall?.recommendations : []);\n setSegmentData(localRecommendations?.segments ? localRecommendations?.segments : []);\n } else {\n if (LOGINSTATE) console.log(\"0. Recommendation update is ignored for: \", localRecommendations);\n }\n\n if (LOGINSTATE) console.log(\"1. surveyRecommendations\", surveyRecommendations);\n if (LOGINSTATE) console.log(\"2. overallData\", overallData);\n if (LOGINSTATE) console.log(\"3. segmentData\", segmentData);\n };\n\n const handleMoveUpClick = async (e, type, segmentId, position, recommendation) => {\n e.preventDefault();\n\n if (type === \"OVERALL\") {\n let updatedRecommendations = await processArray(overallData, \"MOVEDOWN\", position, null);\n if (LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\n if (!Lodash.isEmpty(updatedRecommendations)) {\n setOverallData(updatedRecommendations);\n }\n } else if (type === \"SEGMENT\") {\n let updatedRecommendations = segmentData;\n updatedRecommendations[segmentId][\"recommendations\"] = await processArray(updatedRecommendations[segmentId].recommendations, \"MOVEDOWN\", position, null);\n if (LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\n if (!Lodash.isEmpty(updatedRecommendations)) {\n setSegmentData(updatedRecommendations);\n }\n }\n\n updateLocalRecommendations();\n };\n\n // handle Click event of the survey. Navigate to the localization page. There will be auto english version for every version\n const handleMoveDownClick = async (e, type, segmentId, position, recommendation) => {\n e.preventDefault();\n\n if (type === \"OVERALL\") {\n let updatedRecommendations = await processArray(overallData, \"MOVEUP\", position, null);\n if (LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\n if (!Lodash.isEmpty(updatedRecommendations)) {\n setOverallData(updatedRecommendations);\n }\n } else if (type === \"SEGMENT\") {\n let updatedRecommendations = segmentData;\n if (LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\n if (LOGINSTATE) console.log(\"segmentId: \", segmentId);\n if (LOGINSTATE) console.log(\"position: \", position);\n updatedRecommendations[segmentId][\"recommendations\"] = await processArray(updatedRecommendations[segmentId].recommendations, \"MOVEUP\", position, null);\n if (LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\n if (!Lodash.isEmpty(updatedRecommendations)) {\n setSegmentData(updatedRecommendations);\n }\n }\n\n updateLocalRecommendations();\n };\n\n // create survey from existing survey\n const handleDeleteClick = async (e, type, segmentId, position, recommendation) => {\n e.preventDefault();\n\n if (type === \"OVERALL\") {\n let updatedRecommendations = await processArray(overallData, \"DELETE\", position, null);\n if (LOGINSTATE) console.log('updatedRecommendations: ', updatedRecommendations);\n if (!Lodash.isEmpty(updatedRecommendations)) {\n setOverallData(updatedRecommendations);\n }\n } else if (type === \"SEGMENT\") {\n let updatedRecommendations = segmentData;\n updatedRecommendations[segmentId][\"recommendations\"] = await processArray(updatedRecommendations[segmentId].recommendations, \"DELETE\", position, null);\n if (LOGINSTATE) console.log('updatedRecommendations: ', updatedRecommendations);\n if (!Lodash.isEmpty(updatedRecommendations)) {\n setSegmentData(updatedRecommendations);\n }\n }\n\n updateLocalRecommendations();\n };\n\n // create survey from existing survey\n const handleEditClick = (e, type, segmentId, position, recommendation) => {\n e.preventDefault();\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\n surveyRecommendations[\"segments\"] = segmentData;\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\n history.push({ pathname: \"/registered/assessment_recommendation_details_edit\", state: { type: type, segmentId: segmentId, position: position } });\n };\n\n // create empty survey\n const handleCreateNewClick = (e, type, segmentId, position) => {\n e.preventDefault();\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\n surveyRecommendations[\"segments\"] = segmentData;\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\n history.push({ pathname: \"/registered/assessment_recommendation_details_edit\", state: { type: type, segmentId: segmentId, position: position } });\n };\n\n const updateLocalRecommendations = () => {\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\n surveyRecommendations[\"segments\"] = segmentData;\n if (LOGINSTATE) console.log(\"surveyRecommendations: \", surveyRecommendations);\n setSurveyRecommendations(surveyRecommendations);\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\n setRefreshToken(refreshToken + 1);\n };\n\n const handleRecommendationSave = () => {\n if (LOGINSTATE) console.log(\"is new: \", isNew);\n if (isNew) {\n dispatch(createRecommendation(surveyRecommendations, history));\n } else {\n surveyRecommendations[\"recommendationId\"] = surveyRecommendations._id;\n dispatch(updateRecommendationById(surveyRecommendations, history));\n }\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n \n
\n \n \n
\n
\n

{surveyRecommendations.title ? surveyRecommendations.title : \"No data to show\"}

\n
Overall Recommendations
\n
\n
\n \n {\n handleCreateNewClick(e, \"OVERALL\", \"\", -1);\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n {overallData &&\n overallData.map((recommendation, i) => {\n return (\n \n );\n })}\n \n
Score RangeRecommendationsActions
\n \n \n
\n\n {segmentData &&\n segmentData.length > 0 &&\n segmentData.map((segment, i) => {\n return (\n \n
\n \n \n
\n
\n

{segment.title}

\n
Sector Recommendations
\n
\n
\n \n {\n handleCreateNewClick(e, \"SEGMENT\", i, -1);\n }}\n >\n \n
\n \n
\n
\n \n \n \n \n \n \n \n \n \n \n {segment?.recommendations &&\n (segment?.recommendations).map((recommendation, j) => {\n return (\n \n );\n })}\n \n
Score RangeRecommendationsActions
\n \n \n
\n );\n })}\n\n {/* Recommendation footer */}\n \n \n \n \n {\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify({}));\n window.history.back();\n }}\n >\n BACK\n \n\n {\n handleRecommendationSave();\n }}\n >\n SAVE\n \n \n \n \n \n \n
\n \n );\n};\n\nexport default Recommendation;\n","import { createRecommendation, updateRecommendationById } from \"actions/survey\";\r\nimport { RECOMMENDATION_LOCAL } from \"constants/actionTypes\";\r\n// core components\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport Config from \"config/config.json\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport Lodash from \"lodash\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { processArray } from \"helper\";\r\n// reactstrap components\r\nimport { Button, Card, CardHeader, Container, CardFooter, CardTitle, CardBody, Row, Col, Table, Form } from \"reactstrap\";\r\nimport { FormControl, TextField } from \"@material-ui/core\";\r\nimport { GlobalStylesColor } from \"constants/globalStyles\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\r\nimport { Tooltip } from \"@material-ui/core\";\r\n\r\nimport { ChsStyles } from \"constants/globalStyles\";\r\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\r\nimport { Formik } from \"formik\";\r\n\r\n// Populate version row for each survey type\r\nconst RecommendationRow = ({ type, segmentId, position, recommendation, editClick, moveUpClick, moveDownClick, deleteClick }) => (\r\n // SCORE RANGE | RECOMMENDATIONS\r\n \r\n \r\n {recommendation.from} - {recommendation.to}\r\n \r\n {recommendation.recommendation}\r\n \r\n
\r\n \r\n {\r\n editClick(e, type, segmentId, position, recommendation);\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n {\r\n moveUpClick(e, type, segmentId, position, recommendation);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n moveDownClick(e, type, segmentId, position, recommendation);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n {\r\n confirmAlert({\r\n title: 'Confirm delete',\r\n buttons: [\r\n { label: \"No\", onClick: () => { } },\r\n {\r\n label: \"Yes\", onClick: () => {\r\n deleteClick(e, type, segmentId, position, recommendation);\r\n }\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false\r\n }); \r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\n// export function\r\nconst Recommendation = (props) => {\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const initSurveyRecommendations = {\r\n languageCode: \"en\",\r\n type: \"\",\r\n title: \"\",\r\n description: \"\",\r\n overall: {\r\n recommendations: [],\r\n status: true,\r\n },\r\n segments: [],\r\n status: \"DEFAULT\",\r\n published: false,\r\n };\r\n const [surveyRecommendations, setSurveyRecommendations] = useState(initSurveyRecommendations); // Full object\r\n const [overallData, setOverallData] = useState(initSurveyRecommendations?.overall?.recommendations); // Overall details\r\n const [segmentData, setSegmentData] = useState(initSurveyRecommendations?.segments); // Segment details\r\n const [isNew, setIsNew] = useState(true);\r\n const [chsLanguages, setChsLanguages] = useState([]); // For translations\r\n const [languageRecommendation, setLanguageRecommendation] = useState(\"\");\r\n const [refreshToken, setRefreshToken] = useState(0);\r\n\r\n // To update fomik values\r\n const formRef = useRef();\r\n\r\n // 1. get the survey. create the recommendation structure\r\n // 2. getting the recommendations for survey per language if exist\r\n // 3. populate the structure and save locally\r\n // 4. update the structure if local is changed\r\n\r\n useEffect(() => {\r\n if(LOGINSTATE) console.log(\"---------------> called effect 1: page load\");\r\n let currentSurvey = {};\r\n\r\n // create the recommendation structure from passed survey\r\n const survey = props.location.state?.survey;\r\n if (survey && !Lodash.isEmpty(survey)) {\r\n if(LOGINSTATE) console.log(\">>>> survey: \", survey);\r\n currentSurvey = {\r\n languageCode: survey.languageCode,\r\n type: survey.type,\r\n title: survey.title,\r\n description: survey.description,\r\n overall: {\r\n recommendations: [],\r\n status: true,\r\n },\r\n segments: [],\r\n status: \"DEFAULT\",\r\n published: false,\r\n };\r\n setSegmentData(survey?.segments);\r\n }\r\n\r\n // Load the languages if its exists\r\n const languages = props.location.state?.languages;\r\n if (languages && !Lodash.isEmpty(languages)) {\r\n currentSurvey[\"chsLanguages\"] = languages;\r\n setChsLanguages(languages);\r\n }\r\n setSurveyRecommendations(currentSurvey);\r\n\r\n // populate the variables from locally save data if exist\r\n if (localStorage.getItem(RECOMMENDATION_LOCAL)) {\r\n let localRecommendations = JSON.parse(localStorage.getItem(RECOMMENDATION_LOCAL));\r\n if(LOGINSTATE) console.log(\"update is called with init local: \", localRecommendations);\r\n if(LOGINSTATE) console.log(\"---------------> 2\");\r\n updateByLocalSaveRecommendations(localRecommendations);\r\n }\r\n\r\n dispatch(fetchMasterDataLanguageAll());\r\n\r\n return () => {};\r\n }, []);\r\n\r\n // information getting from redux\r\n const recommendationSaved = useSelector((state) => state.survey.localRecommendationTemplate);\r\n useEffect(() => {\r\n if(LOGINSTATE) console.log(\"---------------> called effect 3: start from local dispatch\");\r\n if(LOGINSTATE) console.log(\"dispatch surveySaved: \", recommendationSaved);\r\n\r\n if (recommendationSaved !== undefined && recommendationSaved !== null && !Lodash.isEmpty(recommendationSaved)) {\r\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(recommendationSaved));\r\n if(LOGINSTATE) console.log(\"---------------> 1\");\r\n updateByLocalSaveRecommendations(recommendationSaved);\r\n }\r\n }, [recommendationSaved]);\r\n\r\n const updateByLocalSaveRecommendations = (localRecommendations) => {\r\n if(LOGINSTATE) console.log(\"0. Recommendation update is called with: \", localRecommendations);\r\n // if all overall or segments exist, override the passed survey data\r\n if (localRecommendations && !Lodash.isEmpty(localRecommendations) && (localRecommendations?.overall?.recommendations || localRecommendations?.segments)) {\r\n setSurveyRecommendations(Lodash.isEmpty(localRecommendations) ? initSurveyRecommendations : localRecommendations);\r\n setOverallData(localRecommendations?.overall?.recommendations ? localRecommendations?.overall?.recommendations : []);\r\n setSegmentData(localRecommendations?.segments ? localRecommendations?.segments : []);\r\n // chs check setchsLanguage\r\n let languageField = Lodash.find(localRecommendations.chsLanguages, { code: localRecommendations.languageCode });\r\n // update formik value by using reference(setFieldValue)\r\n formRef.current.setFieldValue(\"Language\", languageField?.name, false);\r\n } else {\r\n if(LOGINSTATE) console.log(\"0. Recommendation update is ignored for: \", localRecommendations);\r\n }\r\n\r\n if(LOGINSTATE) console.log(\"1. surveyRecommendations\", surveyRecommendations);\r\n if(LOGINSTATE) console.log(\"2. overallData\", overallData);\r\n if(LOGINSTATE) console.log(\"3. segmentData\", segmentData);\r\n };\r\n\r\n const handleStatusClick = (e, survey) => {\r\n e.preventDefault();\r\n };\r\n\r\n // handle Click event of the survey. Navigate to the localization page. There will be auto english version for every version\r\n const handleLocalizationClick = (e, survey) => {\r\n e.preventDefault();\r\n };\r\n\r\n // create survey from existing survey\r\n const handleEditClick = (e, type, segmentId, position, recommendation) => {\r\n e.preventDefault();\r\n\r\n if(LOGINSTATE) console.log(\"--------------------- is new: \", isNew);\r\n if(LOGINSTATE) console.log(\"--------------------- local store saving: \", type);\r\n\r\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\r\n surveyRecommendations[\"segments\"] = segmentData;\r\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\r\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\r\n history.push({ pathname: \"/registered/assessment_recommendation_details_edit\", state: { type: type, segmentId: segmentId, position: position } });\r\n };\r\n\r\n // create survey from existing survey\r\n const handleCreateClick = (e, survey, type) => {\r\n e.preventDefault();\r\n };\r\n\r\n // create empty survey\r\n const handleCreateNewClick = (e, type, segmentId, position) => {\r\n e.preventDefault();\r\n \r\n if(LOGINSTATE) console.log(\"--------------------- is new: \", isNew);\r\n if(LOGINSTATE) console.log(\"--------------------- local store saving: \", type);\r\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\r\n surveyRecommendations[\"segments\"] = segmentData;\r\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\r\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\r\n history.push({ pathname: \"/registered/assessment_recommendation_details_edit\", state: { type: type, segmentId: segmentId, position: position } });\r\n };\r\n\r\n const handleRecommendationSave = () => {\r\n if(LOGINSTATE) console.log(\"is new: \", isNew);\r\n\r\n let newRecommendation = surveyRecommendations;\r\n\r\n newRecommendation[\"surveyId\"] = props.location.state?.survey._id;\r\n\r\n dispatch(createRecommendation(newRecommendation, history));\r\n };\r\n\r\n const handleMoveUpClick = async (e, type, segmentId, position, recommendation) => {\r\n e.preventDefault();\r\n\r\n if (type === \"OVERALL\") {\r\n let updatedRecommendations = await processArray(overallData, \"MOVEDOWN\", position, null);\r\n if(LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\r\n if (!Lodash.isEmpty(updatedRecommendations)) {\r\n setOverallData(updatedRecommendations);\r\n }\r\n } else if (type === \"SEGMENT\") {\r\n let updatedRecommendations = segmentData;\r\n updatedRecommendations[segmentId][\"recommendations\"] = await processArray(updatedRecommendations[segmentId].recommendations, \"MOVEDOWN\", position, null);\r\n if(LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\r\n if (!Lodash.isEmpty(updatedRecommendations)) {\r\n setSegmentData(updatedRecommendations);\r\n }\r\n }\r\n\r\n updateLocalRecommendations();\r\n };\r\n\r\n // handle Click event of the survey. Navigate to the localization page. There will be auto english version for every version\r\n const handleMoveDownClick = async (e, type, segmentId, position, recommendation) => {\r\n e.preventDefault();\r\n\r\n if (type === \"OVERALL\") {\r\n let updatedRecommendations = await processArray(overallData, \"MOVEUP\", position, null);\r\n if(LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\r\n if (!Lodash.isEmpty(updatedRecommendations)) {\r\n setOverallData(updatedRecommendations);\r\n }\r\n } else if (type === \"SEGMENT\") {\r\n let updatedRecommendations = segmentData;\r\n if(LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\r\n if(LOGINSTATE) console.log(\"segmentId: \", segmentId);\r\n if(LOGINSTATE) console.log(\"position: \", position);\r\n updatedRecommendations[segmentId][\"recommendations\"] = await processArray(updatedRecommendations[segmentId].recommendations, \"MOVEUP\", position, null);\r\n if(LOGINSTATE) console.log(\"updatedRecommendations: \", updatedRecommendations);\r\n if (!Lodash.isEmpty(updatedRecommendations)) {\r\n setSegmentData(updatedRecommendations);\r\n }\r\n }\r\n\r\n updateLocalRecommendations();\r\n };\r\n\r\n // create survey from existing survey\r\n const handleDeleteClick = async (e, type, segmentId, position, recommendation) => {\r\n e.preventDefault();\r\n\r\n if (type === \"OVERALL\") {\r\n let updatedRecommendations = await processArray(overallData, \"DELETE\", position, null);\r\n if(LOGINSTATE) console.log('updatedRecommendations: ', updatedRecommendations);\r\n if (!Lodash.isEmpty(updatedRecommendations)) {\r\n setOverallData(updatedRecommendations);\r\n }\r\n } else if (type === \"SEGMENT\") {\r\n let updatedRecommendations = segmentData;\r\n updatedRecommendations[segmentId][\"recommendations\"] = await processArray(updatedRecommendations[segmentId].recommendations, \"DELETE\", position, null);\r\n if(LOGINSTATE) console.log('updatedRecommendations: ', updatedRecommendations);\r\n if (!Lodash.isEmpty(updatedRecommendations)) {\r\n setSegmentData(updatedRecommendations);\r\n }\r\n }\r\n\r\n updateLocalRecommendations();\r\n };\r\n\r\n const updateLocalRecommendations = () => {\r\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\r\n surveyRecommendations[\"segments\"] = segmentData;\r\n if(LOGINSTATE) console.log(\"surveyRecommendations: \", surveyRecommendations);\r\n setSurveyRecommendations(surveyRecommendations);\r\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\r\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\r\n setRefreshToken(refreshToken + 1);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n CHS Tool\r\n \r\n New Recommendations\r\n \r\n \r\n \r\n \r\n \r\n \r\n {\r\n if (LOGINSTATE) console.log(values);\r\n // setLanguageRecommendation(values.LanguageCode);\r\n let newRecommendation = surveyRecommendations;\r\n newRecommendation[\"languageCode\"] = values.Language;\r\n newRecommendation[\"chsLanguages\"] = chsLanguages;\r\n }}\r\n innerRef={formRef}\r\n >\r\n {(props) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n {chsLanguages.map((key, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n \r\n
\r\n
\r\n
\r\n \r\n
\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

{surveyRecommendations.title ? surveyRecommendations.title : \"No data to show\"}

\r\n
Overall Recommendations
\r\n
\r\n
\r\n \r\n {\r\n handleCreateNewClick(e, \"OVERALL\", \"\", -1);\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {overallData &&\r\n overallData.map((recommendation, i) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
Score RangeRecommendationsActions
\r\n \r\n \r\n
\r\n\r\n {segmentData &&\r\n segmentData.length > 0 &&\r\n segmentData.map((segment, i) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

{segment.title}

\r\n
Sector Recommendations
\r\n
\r\n
\r\n \r\n {\r\n handleCreateNewClick(e, \"SEGMENT\", i, -1);\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {segment?.recommendations &&\r\n (segment?.recommendations).map((recommendation, j) => {\r\n return (\r\n \r\n );\r\n })}\r\n \r\n
Score RangeRecommendationsActions
\r\n \r\n \r\n
\r\n );\r\n })}\r\n\r\n {/* Recommendation footer */}\r\n \r\n \r\n \r\n \r\n {\r\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify({}));\r\n window.history.back();\r\n }}\r\n >\r\n BACK\r\n \r\n\r\n {\r\n handleRecommendationSave();\r\n }}\r\n >\r\n SAVE\r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Recommendation;\r\n","import React, { useState, useEffect } from \"react\";\nimport { useFormik } from \"formik\";\nimport * as yup from \"yup\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useLocation, useHistory } from \"react-router-dom\";\nimport { ChsStyles } from \"constants/globalStyles\";\nimport { RECOMMENDATION_LOCAL } from \"constants/actionTypes\";\n\n// reactstrap components\nimport { Card, CardHeader, CardBody, CardFooter, Container, FormGroup, Form, Button, Row, Col } from \"reactstrap\";\n\nimport { TextField, Grid } from \"@material-ui/core\";\n\nimport {} from \"actions/survey\";\nimport Lodash from \"lodash\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n\nconst validationSchemaQuestion = yup.object({\n from: yup.number(\"Enter min score\").required(\"Scor is required\"),\n\n to: yup.number(\"Enter max score\").required(\"score is required\"),\n\n // recommendation: yup.string(\"Enter recommendation\").required(\"recommendation is required\"),\n\n recommendation: yup.string().when(\"recommendationValidate\", {\n is: true,\n then: yup.string().required(\"recommendation is required\"),\n }),\n\n note: yup.string().when(\"noteValidate\", {\n is: true,\n then: yup.string().required(\"recommendation note is required\"),\n }),\n});\n\nconst RecommendationDetailsEdit = (props) => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [renderKi, setRenderKi] = useState(0);\n\n const initSurveyRecommendations = {\n languageCode: \"en\",\n type: \"\",\n title: \"\",\n description: \"\",\n overall: {\n recommendations: [],\n status: true,\n },\n segments: [],\n status: \"DEFAULT\",\n published: false,\n };\n const [surveyRecommendations, setSurveyRecommendations] = useState(initSurveyRecommendations); // Full object\n const [overallData, setOverallData] = useState(initSurveyRecommendations?.overall?.recommendations); // Overall details\n const [segmentData, setSegmentData] = useState(initSurveyRecommendations?.segments); // Segment details\n const [type, setType] = useState(\"\");\n const [position, setPosition] = useState(-1);\n const [segmentId, setSegmentId] = useState(\"\");\n\n const [paramType, setParamType] = useState(\"\");\n const [paramSegmentId, setParamSegmentId] = useState(-1);\n const [paramPosition, setParamPosition] = useState(-1);\n\n const formik = useFormik({\n initialValues: {\n from: 0,\n to: 0,\n recommendation: \"\",\n note: \"\",\n type: \"\",\n segmentId: \"\",\n segmentCode: \"\",\n recommendationValidate: false,\n noteValidate: false,\n },\n validationSchema: validationSchemaQuestion,\n onSubmit: (values, onSubmitProps) => {\n if (LOGINSTATE) console.log(\"1. paramType\", paramType);\n if (LOGINSTATE) console.log(\"2. paramSegmentId\", paramSegmentId);\n if (LOGINSTATE) console.log(\"3. paramPosition\", paramPosition);\n if (LOGINSTATE) console.log(\"1g. surveyRecommendations\", surveyRecommendations);\n if (LOGINSTATE) console.log(\"2g. overallData\", overallData);\n if (LOGINSTATE) console.log(\"3g. segmentData\", segmentData);\n\n if (paramPosition >= 0) {\n if (paramType === \"OVERALL\") {\n overallData[paramPosition][\"from\"] = formik.values.from;\n overallData[paramPosition][\"to\"] = formik.values.to;\n overallData[paramPosition][\"recommendation\"] = formik.values.recommendation;\n overallData[paramPosition][\"note\"] = formik.values.note;\n overallData[paramPosition][\"segmentId\"] = formik.values.segmentId;\n overallData[paramPosition][\"segmentCode\"] = formik.values.segmentCode;\n updateAndBack();\n } else if (paramType === \"SEGMENT\") {\n segmentData[paramSegmentId].recommendations[paramPosition][\"from\"] = formik.values.from;\n segmentData[paramSegmentId].recommendations[paramPosition][\"to\"] = formik.values.to;\n segmentData[paramSegmentId].recommendations[paramPosition][\"recommendation\"] = formik.values.recommendation;\n segmentData[paramSegmentId].recommendations[paramPosition][\"note\"] = formik.values.note;\n segmentData[paramSegmentId].recommendations[paramPosition][\"segmentId\"] = formik.values.segmentId;\n segmentData[paramSegmentId].recommendations[paramPosition][\"segmentCode\"] = formik.values.segmentCode;\n updateAndBack();\n } else {\n if (LOGINSTATE) console.log(\"update is failed dut to unavailable type\");\n }\n } else {\n let temp = {};\n temp[\"from\"] = formik.values.from;\n temp[\"to\"] = formik.values.to;\n temp[\"recommendation\"] = formik.values.recommendation;\n temp[\"note\"] = formik.values.note;\n temp[\"segmentId\"] = formik.values.segmentId;\n temp[\"segmentCode\"] = formik.values.segmentCode;\n\n if (paramType === \"OVERALL\") {\n overallData.push(temp);\n updateAndBack();\n } else if (paramType === \"SEGMENT\") {\n if (segmentData[paramSegmentId].recommendations) {\n segmentData[paramSegmentId].recommendations.push(temp);\n } else {\n let arrayRecommendation = [temp];\n segmentData[paramSegmentId][\"recommendations\"] = arrayRecommendation;\n segmentData[paramSegmentId][\"segmentId\"] = segmentData[paramSegmentId]._id;\n }\n updateAndBack();\n } else {\n if (LOGINSTATE) console.log(\"new update is failed dut to unavailable type\");\n }\n }\n },\n });\n\n const updateAndBack = () => {\n if (LOGINSTATE) console.log(\"formik recommendation\", formik.values.recommendation);\n if (formik.values.recommendation === \"\" && formik.values.note === \"\") {\n // console.log(\"formik\");\n validateRecommendation(\"\");\n } else {\n surveyRecommendations[\"overall\"][\"recommendations\"] = overallData;\n surveyRecommendations[\"segments\"] = segmentData;\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(surveyRecommendations));\n dispatch({ type: RECOMMENDATION_LOCAL, payload: surveyRecommendations });\n window.history.back();\n }\n };\n\n useEffect(() => {\n try {\n let localRecommendations = [];\n let stateOverallData = [];\n let stateSegmentData = [];\n if (localStorage.getItem(RECOMMENDATION_LOCAL)) {\n localRecommendations = JSON.parse(localStorage.getItem(RECOMMENDATION_LOCAL));\n if (LOGINSTATE) console.log(\"0. Local variable: \", localRecommendations);\n\n // init the params\n if (localRecommendations && !Lodash.isEmpty(localRecommendations) && (localRecommendations?.overall?.recommendations || localRecommendations?.segments)) {\n if (LOGINSTATE) console.log(\"start init variables\");\n setSurveyRecommendations(localRecommendations);\n setOverallData(localRecommendations?.overall?.recommendations);\n stateOverallData = localRecommendations?.overall?.recommendations;\n\n setSegmentData(localRecommendations?.segments);\n stateSegmentData = localRecommendations?.segments;\n } else {\n if (LOGINSTATE) console.log(\"0. Recommendation update is ignored for: \", localRecommendations);\n }\n }\n\n const stateType = props.location.state?.type;\n const stateSegmentId = props.location.state?.segmentId;\n const statePosition = props.location.state?.position;\n\n setParamType(props.location.state?.type);\n setParamSegmentId(props.location.state?.segmentId);\n setParamPosition(props.location.state?.position);\n\n if (Lodash.isNumber(statePosition) && statePosition >= 0) {\n const rowEntry = stateType === \"OVERALL\" ? stateOverallData[statePosition] : stateSegmentData[stateSegmentId].recommendations[statePosition];\n if (LOGINSTATE) console.log(\"row entry: \", rowEntry);\n if (rowEntry) {\n formik.values.from = rowEntry?.from ? rowEntry?.from : 0;\n formik.values.to = rowEntry.to ? rowEntry.to : 0;\n formik.values.recommendation = rowEntry?.recommendation ? rowEntry?.recommendation : \"\";\n formik.values.note = rowEntry?.note ? rowEntry?.note : \"\";\n formik.values.segmentId = rowEntry?.segmentId ? rowEntry?.segmentId : \"\";\n formik.values.segmentCode = rowEntry?.segmentCode ? rowEntry?.segmentCode : \"\";\n } else {\n if (LOGINSTATE) console.log(\"no data to update\");\n }\n } else {\n if (LOGINSTATE) console.log(\"adding new entry\");\n formik.values.from = 0;\n formik.values.to = 0;\n formik.values.recommendation = \"\";\n formik.values.note = \"\";\n formik.values.segmentId = paramType === \"SEGMENT\" ? paramSegmentId : \"\";\n formik.values.segmentCode = \"\";\n }\n setRenderKi(renderKi + 1);\n } catch (error) {\n if (LOGINSTATE) console.log(\"local recommendations: \", error);\n }\n\n return () => {};\n }, []);\n\n // information getting from redux\n const recommendationSaved = useSelector((state) => state.survey.localRecommendationTemplate);\n useEffect(() => {\n if (recommendationSaved !== undefined && recommendationSaved !== null && !Lodash.isEmpty(recommendationSaved)) {\n localStorage.setItem(RECOMMENDATION_LOCAL, JSON.stringify(recommendationSaved));\n }\n }, [recommendationSaved]);\n\n const validateRecommendation = (recommendation, flag) => {\n if (flag === true && recommendation) {\n formik.values.recommendationValidate = true;\n }\n\n if (flag === false && recommendation) {\n formik.values.noteValidate = true;\n formik.values.recommendationValidate = false;\n }\n\n if (!recommendation) {\n if (LOGINSTATE) console.log(\"validate recommendation\", recommendation);\n formik.values.recommendationValidate = true;\n }\n };\n\n return (\n <>\n \n {/* Page content */}\n \n {/* Table School */}\n \n
\n \n \n

Question Details

\n
\n\n
\n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n \n \n \n validateRecommendation(formik.values.recommendation, true)}\n multiline\n rows={8}\n error={formik.touched.recommendation && Boolean(formik.errors.recommendation)}\n helperText={formik.touched.recommendation && formik.errors.recommendation}\n />\n \n \n \n \n \n
\n This supports multiline text.\n
\n
\n
\n {/* \n \n \n \n \n validateRecommendation(formik.values.note, false)}\n multiline\n rows={4}\n error={formik.touched.note && Boolean(formik.errors.note)}\n helperText={formik.touched.note && formik.errors.note}\n />\n \n \n \n \n \n
\n Note is added as an italic text.\n
\n
\n
*/}\n
\n
\n\n \n \n \n {\n window.history.back();\n }}\n >\n BACK\n \n \n \n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default RecommendationDetailsEdit;\n","import { fetchOrganizationAll, updateOrganization } from \"actions/organization\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport Lodash from \"lodash\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Card, CardHeader, Container, Row, Col, Table, CardFooter, FormGroup, InputGroup, InputGroupAddon, InputGroupText, Input } from \"reactstrap\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport Pagination from \"react-responsive-pagination\";\nimport { Tooltip } from \"@material-ui/core\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\n\n// Populate version row for each survey type\nconst OrganizationRow = ({ itemCount, itemPageSize, itemCurrent, organization, editClick, statusClick }) => (\n // VERSION | TITLE | DESCRIPTION | STATUS\n \n {itemPageSize * (itemCurrent - 1) + itemCount + 1}\n {organization?.country?.name}\n {organization?.name}\n {organization?.type}\n {/* {organization?.geographicArea} */}\n {organization?.legalStatus?.status ? \"YES\" : \"NO\"}\n \n
\n \n {\n editClick(e, organization);\n }}\n >\n \n
\n \n \n {\n let params = {\n organizationId: organization._id,\n status: !organization.status,\n };\n statusClick(e, params);\n }}\n >\n {organization.status ? : }\n \n \n \n \n \n);\n\n// export function\nconst Survey = () => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n const location = useLocation();\n\n // pagination\n const itemPageSize = Config.ITEM_PAGE_SIZE;\n const [itemCurrent, setItemCurrent] = useState(1);\n const [itemPageContent, setItemPageContent] = useState([]);\n const [itemPageCount, setItemPageCount] = useState(1);\n // filter\n const [txtFilter, setTxtFilter] = useState(\"\");\n const [filterdContent, setFilterdContent] = useState([]);\n\n // organization update\n const updatedOrganization = useSelector((state) => state.organization.orgProfileUpdate);\n\n useEffect(() => {\n // fetching all surveys\n dispatch(fetchOrganizationAll());\n }, [updatedOrganization]);\n\n // get organizations all\n const organizationAll = useSelector((state) => state.organization.organizationAll);\n\n // process content with filter\n useEffect(() => {\n // 1. filter the organizations form the filter\n let updatedOrgs = Lodash.filter(organizationAll, function (item) {\n return ((item.name.toLowerCase()).indexOf(txtFilter.toLowerCase()) > -1 || (item?.country?.name.toLowerCase()).indexOf(txtFilter.toLowerCase()) > -1);\n });\n\n // 2. Order the organizations on name\n const updatedOrgsOrdered = Lodash.orderBy(updatedOrgs, [updatedOrg => updatedOrg.name.toLowerCase()], ['asc'])\n setItemCurrent(1)\n setFilterdContent(updatedOrgsOrdered);\n }, [organizationAll, txtFilter]);\n\n // process the pagination with page content\n useEffect(() => {\n if (LOGINSTATE) console.log(\"filterdContent.length: \", filterdContent.length);\n // Set the pagination count\n let currentPageCount = Math.ceil(filterdContent.length / itemPageSize);\n setItemPageCount(currentPageCount);\n\n // Set the pagination content\n if (filterdContent && filterdContent.length > 0) {\n // make sure the page doesn't exceed the array endings\n let startCount = (itemCurrent - 1) * itemPageSize < 0 ? 0 : (itemCurrent - 1) * itemPageSize;\n let endCount = itemCurrent * itemPageSize > filterdContent.length ? filterdContent.length : itemCurrent * itemPageSize;\n\n let updatedArray = Lodash.slice(filterdContent, startCount, endCount);\n if (updatedArray && updatedArray.length > 0) {\n setItemPageContent(updatedArray);\n } else {\n setItemPageContent([]);\n }\n } else {\n setItemPageContent([]);\n }\n }, [itemCurrent, filterdContent]);\n\n const handleStatusClick = (e, organization) => {\n e.preventDefault();\n dispatch(updateOrganization(organization, false, history));\n };\n\n const handleEditClick = (e, organization, type) => {\n e.preventDefault();\n history.push({ pathname: \"/registered/organizational_details\", state: { org: organization } });\n };\n\n const handleLocalizationClick = (e, survey) => {\n e.preventDefault();\n };\n\n const handleCreateClick = (e, survey, type) => {\n e.preventDefault();\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n \n \n \n \n \n \n

REGISTERED ORGANIZATIONS

\n
Institutional profile of organizations
\n \n \n \n \n \n \n \n \n \n {\n // console.log(e.target.value);\n setTxtFilter(e.target.value);\n }}\n />\n \n \n \n
\n
\n {/* */}\n \n \n \n \n \n \n \n {/* */}\n \n \n \n \n \n {itemPageContent &&\n itemPageContent.length > 0 &&\n itemPageContent.map((organization, i) => {\n {/* console.log(i, organization); */ }\n return ;\n })}\n \n
CountryNameTypeGeographic AreaLegal EntityActions
\n {/*
*/}\n \n \n \n {itemPageCount && itemPageCount > 0 ?\n {\n setItemCurrent(current);\n }}\n />\n : null}\n \n \n \n
\n \n
\n
\n \n );\n};\n\nexport default Survey;\n","import { FormControl, TextField } from \"@material-ui/core\";\nimport IconButton from \"@material-ui/core/IconButton\";\nimport InputAdornment from \"@material-ui/core/InputAdornment\";\nimport Lodash from \"lodash\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\nimport PersonIcon from \"@material-ui/icons/Person\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\";\nimport PersonAddDisabledIcon from \"@material-ui/icons/PersonAddDisabled\";\nimport AccountCircleIcon from \"@material-ui/icons/AccountCircle\";\nimport { Tooltip } from \"@material-ui/core\";\n\n// core components\nimport PageHeader from \"components/Headers/UserHeader.js\";\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\nimport React, { useEffect, useState } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport { Button, Card, CardBody, Col, Container, Form, Row, Table } from \"reactstrap\";\nimport { updateOrganizationCityStatus } from \"actions/organization\";\nimport { fetchProfileOrgAsAdmin } from \"actions/user\";\nimport Config from \"config/config.json\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { LocalDrinkSharp } from \"@material-ui/icons\";\n\nconst Organization = (prop) => {\n if (LOGINSTATE) console.log(\"prop\", prop);\n const [props, setProps] = useState({});\n\n //useEffect\n useEffect(() => {\n const props1 = prop.location.state.org;\n setProps(props1);\n if (LOGINSTATE) console.log(\"props1\", props1);\n if (LOGINSTATE) console.log(\"props\", props);\n }, []);\n\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [editSection, setEditSection] = useState(\"FALSE\");\n const [currentCityClick, setCurrentCityClick] = useState({});\n const [insideCity, setInsideCity] = useState(\"FALSE\");\n\n const statusClick = (e, params) => {\n e.preventDefault();\n if (params.status === false) {\n let values = {\n organizationId: params.orgId,\n cityId: params.cityId,\n cityStatus: true,\n cityLinkedUser: params.linkedUser,\n };\n let pathParam = {\n path: \"/registered/organization\",\n state: { organizationId: prop.location.state?.org._id },\n };\n // let formData = { forumQuestionId: values.forumQuestionId, description: values.description, question: values.question};\n dispatch(updateOrganizationCityStatus(values, history, pathParam));\n } else {\n let values = {\n organizationId: params.orgId,\n cityId: params.cityId,\n cityStatus: false,\n cityLinkedUser: params.linkedUser,\n };\n let pathParam = {\n path: \"/registered/organization\",\n state: { organizationId: prop.location.state?.org._id },\n };\n dispatch(updateOrganizationCityStatus(values, history, pathParam));\n }\n };\n\n const linkUserClick = (e, params) => {\n if (LOGINSTATE) console.log(\"params: \", params);\n // e.preventDefault();\n let user = params.linkedUser;\n if (LOGINSTATE) console.log(\"user\", user);\n if ((params.linkedUser = !null)) {\n let values = {\n organizationId: params.orgId,\n cityId: params.cityId,\n cityStatus: params.status,\n unlinkedUser: user,\n cityLinkedUser: null,\n };\n confirmAlert({\n title: \"Remove User\",\n message: \"This is irreversible action. Do you want to continue?\",\n buttons: [\n {\n label: \"Yes\",\n onClick: () => {\n if (LOGINSTATE) console.log(\"values\", values);\n let pathParam = {\n path: \"/registered/organization\",\n state: { reload: true },\n };\n dispatch(updateOrganizationCityStatus(values, history, pathParam));\n },\n },\n { label: \"No\", onClick: () => {} },\n ],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n }\n };\n\n const userClick = (e, params) => {\n if (LOGINSTATE) console.log(\"User\");\n // e.preventDefault();\n if (params.linkedUser) {\n let user = {\n userId: params.linkedUser,\n };\n if (LOGINSTATE) console.log(\"values\", user);\n dispatch(fetchProfileOrgAsAdmin(user, history));\n history.push({ pathname: \"/registered/user_profile_manage\", state: { userDetails: user } });\n }\n };\n\n const ViewClick = (e, organizationProfile) => {\n console.log(\"organizationProfile\", organizationProfile);\n e.preventDefault();\n if (!Lodash.isEmpty(organizationProfile)) {\n let pathToResource = Config.SERVER_API_URL + \"uploads/organizationProfile/\" + organizationProfile;\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\n window.open(pathToResource, \"_blank\");\n }\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n \n \n \n \n
\n
\n Organizational Profile\n
\n
\n
\n \n
\n Organizational Details\n
\n\n \n \n \n {/* */}\n \n {/*

\n If the picture is not square shape, image may stretch to fit.\n

*/}\n
\n \n\n \n \n {/* */}\n \n \n \n
\n\n
\n
\n Institutional Details\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 ViewClick(e, props?.organizationProfile);\n }}\n >\n \n \n \n ),\n }}\n disabled={true}\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 \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 Branch Details\n
\n\n \n \n \n \n \n \n \n \n {/* */}\n \n \n {props?.city?.map((item, j) => (\n \n \n \n {item.name}\n \n \n \n \n
\n {\n setEditSection(\"TRUE\");\n setCurrentCityClick(item);\n setInsideCity(\"TRUE\");\n }}\n >\n \n
\n\n \n
\n {item.status ? (\n {\n let params = {\n orgId: props._id,\n cityId: item._id,\n status: item.status,\n linkedUser: item.linkedUser,\n };\n statusClick(e, params);\n }}\n />\n ) : (\n {\n let params = {\n orgId: props._id,\n cityId: item._id,\n status: item.status,\n linkedUser: item.linkedUser,\n };\n statusClick(e, params);\n }}\n />\n )}\n
\n
\n\n \n
\n {item.linkedUser ? (\n {\n let params = {\n orgId: props._id,\n cityId: item._id,\n status: item.status,\n linkedUser: item.linkedUser,\n };\n linkUserClick(e, params);\n }}\n />\n ) : (\n {}}\n />\n )}\n
\n
\n\n \n
\n {item.linkedUser ? (\n {\n let params = {\n orgId: props._id,\n cityId: item._id,\n status: item.status,\n linkedUser: item.linkedUser,\n };\n userClick(e, params);\n }}\n />\n ) : (\n {\n let params = {\n orgId: props._id,\n cityId: item._id,\n status: item.status,\n linkedUser: item.linkedUser,\n };\n userClick(e, params);\n }}\n />\n )}\n
\n
\n \n \n
\n \n ))}\n
LocationOffice EmailStatusActionStatus
{item.email}{item.status === true ? \"Yes\" : \"No\"}
\n
\n \n
\n \n\n
\n
\n {/*
*/}\n\n <>\n \n
\n Branch Details\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\n \n \n \n \n
\n \n \n\n {/*
*/}\n\n
\n\n
\n \n {\n // history.goBack();\n if (insideCity === \"TRUE\") {\n history.push(\"registered/organizational_details\");\n }\n window.history.back();\n }}\n >\n BACK\n \n \n
\n \n
\n
\n
\n \n
\n
\n \n );\n};\n\nexport default Organization;\n","import {\r\n RESOURCE_CREATE,\r\n RESOURCE_UPDATE,\r\n RESOURCE_FETCH_ALL,\r\n RESOURCE_DELETE,\r\n SHOW_LOADING\r\n} from 'constants/actionTypes';\r\nimport { LOGINSTATE } from \"config/config.json\";\r\nimport * as api from '../api/index.js';\r\nimport Lodash from \"lodash\";\r\nimport { confirmAlert } from 'react-confirm-alert';\r\nimport 'react-confirm-alert/src/react-confirm-alert.css'; // Import css\r\n\r\n\r\nexport const fetchResourceAll = () => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n \r\n const { data } = await api.fetchResources();\r\n if (LOGINSTATE) console.log(\"resource data\", data);\r\n if (data?.status === \"success\") {\r\n dispatch({ type: RESOURCE_FETCH_ALL, payload: data?.data });\r\n } else if (data?.status === \"error\") {\r\n if (LOGINSTATE) console.log(data);\r\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false, closeOnEscape: false, closeOnClickOutside: false });\r\n }\r\n } catch (error) {\r\n if (LOGINSTATE) console.log(error);\r\n } finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n\r\nexport const createResource = (formData, history) => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n let fileIsReady = false;\r\n let updatePicResult = false;\r\n let updatePicResultLogo = false;\r\n let updatePicResultJSON = false;\r\n let PrimerorLogo = false;\r\n\r\n if (formData.Primer) {\r\n PrimerorLogo = true;\r\n updatePicResult = await uploadPrimer(formData, alert, history);\r\n\r\n // Profile picture update failed, stop the process;\r\n if (!updatePicResult) {\r\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n } else {\r\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\r\n }\r\n\r\n if (formData.Logo) {\r\n PrimerorLogo = true;\r\n updatePicResultLogo = await uploadLogo(formData, alert, history);\r\n\r\n // Profile picture update failed, stop the process;\r\n if (!updatePicResultLogo) {\r\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n } else {\r\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\r\n }\r\n\r\n if (formData.json) {\r\n PrimerorLogo = true;\r\n updatePicResultJSON = await uploadJSON(formData, alert, history);\r\n\r\n // Profile picture update failed, stop the process;\r\n if (!updatePicResultJSON) {\r\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n } else {\r\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\r\n }\r\n\r\n if (PrimerorLogo === false) {\r\n if (formData.file) {\r\n fileIsReady = await uploadResource(formData, alert, history);\r\n }\r\n\r\n if (!fileIsReady) {\r\n confirmAlert({ message: \"No attachment, or attachment failed to upload. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n }\r\n\r\n const { data } = await api.createResource(formData);\r\n if (LOGINSTATE) console.log(\"resource data\", data);\r\n if (data?.status === \"success\") {\r\n confirmAlert({\r\n message: \"Resource is saved.\",\r\n buttons: [\r\n {\r\n label: \"Ok\",\r\n onClick: () => {\r\n history.goBack();\r\n },\r\n },\r\n ],\r\n });\r\n } else if (data?.status === \"error\") {\r\n if (LOGINSTATE) console.log(data);\r\n confirmAlert({\r\n message: \"Resource couldn't save.\",\r\n buttons: [\r\n {\r\n label: \"Ok\",\r\n onClick: () => {\r\n history.goBack();\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n } catch (error) {\r\n if (LOGINSTATE) console.log(error);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n history.push(\"/auth/signin\");\r\n } else {\r\n confirmAlert({\r\n message: \"Resource couldn't save.\",\r\n buttons: [\r\n {\r\n label: \"Ok\",\r\n onClick: () => {\r\n history.goBack();\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n } finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n\r\nconst uploadResource = async (values, history) => {\r\n try {\r\n if (values.file) {\r\n if (LOGINSTATE) console.log(\"resource data: \", values.file);\r\n // continue\r\n } else {\r\n if (LOGINSTATE) console.log(\"empty resource\");\r\n return false;\r\n }\r\n\r\n if (LOGINSTATE) console.log(\"upload picture data\");\r\n const params = new FormData();\r\n params.append(\"resource\", values.file);\r\n\r\n let res = await api.uploadResource(params);\r\n if (LOGINSTATE) console.log(\"server returned: \", res);\r\n\r\n if (res && res.data && res.data.status === \"success\" && !Lodash.isEmpty(res.data.data)) {\r\n if (LOGINSTATE) console.log(\"server returned new file name: \", res.data.data);\r\n values[\"file\"] = res.data.data.name;\r\n\r\n return true;\r\n } else {\r\n return false;\r\n }\r\n } catch (error) {\r\n if (LOGINSTATE) console.log(\"catch error in file upload: \", error);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n history.push(\"/auth/signin\");\r\n } else {\r\n let errorMessage = error?.response?.data?.message;\r\n confirmAlert({ message: errorMessage, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n }\r\n\r\n return false;\r\n } finally {\r\n // dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n\r\nexport const updateResource = (formData, router) => async (dispatch) => {\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n\r\n if (formData.Primer) {\r\n let updatePicResult = await uploadPrimer(formData, alert, router);\r\n\r\n // Profile picture update failed, stop the process;\r\n if (!updatePicResult) {\r\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n } else {\r\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\r\n }\r\n\r\n if (formData.Logo) {\r\n let updatePicResult = await uploadLogo(formData, alert, router);\r\n\r\n // Profile picture update failed, stop the process;\r\n if (!updatePicResult) {\r\n confirmAlert({ message: \"Profile picture upload failed. Please try again later.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n } else {\r\n if (LOGINSTATE) console.log(\"no new profile picture, continue with existing\");\r\n }\r\n\r\n const response = await api.updateResource(formData);\r\n const { data } = response;\r\n if (LOGINSTATE) console.log(\"update resources: \", data);\r\n if (data?.status === \"success\") {\r\n dispatch({ type: RESOURCE_UPDATE, payload: dispatch });\r\n confirmAlert({\r\n message: \"Resource updated.\",\r\n buttons: [\r\n {\r\n label: \"Ok\",\r\n onClick: () => {\r\n window.location.reload(true);\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n if (data?.status === \"error\") {\r\n if (LOGINSTATE) console.log(data);\r\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n }\r\n } catch (error) {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n router.push(\"/auth/signin\");\r\n } else {\r\n let errorMessage = error?.response?.data?.message;\r\n confirmAlert({ message: errorMessage, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n }\r\n if (LOGINSTATE) console.log(error);\r\n\r\n // alert(error);\r\n } finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n\r\nconst uploadPrimer = async (values, alert, router) => {\r\n try {\r\n if (values.Primer) {\r\n console.log(\"picture data: \", values.Primer);\r\n // continue\r\n } else {\r\n console.log(\"empty picture\");\r\n\r\n return false;\r\n }\r\n\r\n if (LOGINSTATE) console.log(\"upload picture data\");\r\n const params = new FormData();\r\n params.append(\"Primer\", values.Primer);\r\n // params.append(\"photo[]\", values.profileThumbnail);\r\n\r\n let res = await api.uploadPrimer(params);\r\n console.log(\"server returned: \", res);\r\n\r\n if (res && res.data && res.data.status === \"success\" && !Lodash.isEmpty(res.data.data)) {\r\n console.log(\"server returned new file names: \", res.data.data);\r\n values[\"Primer\"] = res.data.data.name;\r\n // values[\"profileThumbnail\"] = res.data.data[1].name;\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n // console.log(\"catch error in picture upload: \", error?.response?.data);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n router.push(\"/auth/signin\");\r\n } else {\r\n let errorMessge = error?.response?.data?.message;\r\n confirmAlert({ message: errorMessge, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n values.Primer = null;\r\n // values.profileThumbnail = null;\r\n }\r\n return false;\r\n }\r\n};\r\n\r\nconst uploadLogo = async (values, alert, router) => {\r\n try {\r\n if (values.Logo) {\r\n if (LOGINSTATE) console.log(\"picture data: \", values.Logo);\r\n // continue\r\n } else {\r\n if (LOGINSTATE) console.log(\"empty picture\");\r\n\r\n return false;\r\n }\r\n\r\n if (LOGINSTATE) console.log(\"upload picture data\");\r\n const params = new FormData();\r\n params.append(\"Logo\", values.Logo);\r\n // params.append(\"photo[]\", values.profileThumbnail);\r\n\r\n let res = await api.uploadLogo(params);\r\n console.log(\"server returned: \", res);\r\n\r\n if (res && res.data && res.data.status === \"success\" && !Lodash.isEmpty(res.data.data)) {\r\n if (LOGINSTATE) console.log(\"server returned new file names: \", res.data.data);\r\n values[\"Logo\"] = res.data.data.name;\r\n // values[\"profileThumbnail\"] = res.data.data[1].name;\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n // console.log(\"catch error in picture upload: \", error?.response?.data);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n router.push(\"/auth/signin\");\r\n } else {\r\n let errorMessge = error?.response?.data?.message;\r\n confirmAlert({ message: errorMessge, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n values.profilePicture = null;\r\n values.profileThumbnail = null;\r\n }\r\n return false;\r\n }\r\n};\r\n\r\nconst uploadJSON = async (values, alert, router) => {\r\n try {\r\n if (values.json) {\r\n if (LOGINSTATE) console.log(\"picture data: \", values.json);\r\n // continue\r\n } else {\r\n if (LOGINSTATE) console.log(\"empty picture\");\r\n\r\n return false;\r\n }\r\n\r\n if (LOGINSTATE) console.log(\"upload picture data\");\r\n const params = new FormData();\r\n params.append(\"json\", values.json);\r\n // params.append(\"photo[]\", values.profileThumbnail);\r\n\r\n let res = await api.uploadJSON(params);\r\n console.log(\"server returned: \", res);\r\n\r\n if (res && res.data && res.data.status === \"success\" && !Lodash.isEmpty(res.data.data)) {\r\n if (LOGINSTATE) console.log(\"server returned new file names: \", res.data.data);\r\n values[\"json\"] = res.data.data.name;\r\n // values[\"profileThumbnail\"] = res.data.data[1].name;\r\n }\r\n\r\n return true;\r\n } catch (error) {\r\n // console.log(\"catch error in picture upload: \", error?.response?.data);\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n router.push(\"/auth/signin\");\r\n } else {\r\n let errorMessge = error?.response?.data?.message;\r\n confirmAlert({ message: errorMessge, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n values.profilePicture = null;\r\n values.profileThumbnail = null;\r\n }\r\n return false;\r\n }\r\n};\r\n\r\nexport const deleteResource = (formData, router) => async (dispatch) => {\r\n if (LOGINSTATE) console.log(\"formdata\", formData);\r\n try {\r\n dispatch({ type: SHOW_LOADING, payload: true });\r\n const response = await api.deleteResource(formData);\r\n const { data } = response;\r\n if (LOGINSTATE) console.log(\"update resources: \", data);\r\n if (data?.status === \"success\") {\r\n dispatch({ type: RESOURCE_DELETE, payload: data });\r\n confirmAlert({\r\n message: \"Resource deleted.\",\r\n buttons: [\r\n {\r\n label: \"Ok\",\r\n onClick: () => {\r\n // window.location.reload(true);\r\n },\r\n },\r\n ],\r\n });\r\n }\r\n if (data?.status === \"error\") {\r\n if (LOGINSTATE) console.log(data);\r\n confirmAlert({ message: \"Oops!, something went wrong. Please try again.\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n }\r\n } catch (error) {\r\n if (error?.response?.status && error?.response?.status === 401) {\r\n confirmAlert({ message: \"Session expired!\", buttons: [{ label: \"Ok\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n router.push(\"/auth/signin\");\r\n } else {\r\n let errorMessage = error?.response?.data?.message;\r\n confirmAlert({ message: errorMessage, buttons: [{ label: \"Yes\", onClick: () => {} }], closeOnEscape: false, closeOnClickOutside: false });\r\n }\r\n if (LOGINSTATE) console.log(error);\r\n\r\n // alert(error);\r\n } finally {\r\n dispatch({ type: SHOW_LOADING, payload: false });\r\n }\r\n};\r\n","import \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\r\nimport { TextField, Tooltip } from \"@material-ui/core\";\r\nimport { fetchResourceAll, updateResource, deleteResource } from \"actions/resource\";\r\n// core components\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport Config from \"config/config.json\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { GlobalStylesColor } from \"constants/globalStyles\";\r\nimport Lodash from \"lodash\";\r\nimport React, { useEffect, useState } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\n// reactstrap components\r\nimport { Card, CardHeader, Container, Row, Table } from \"reactstrap\";\r\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\n\r\n\r\nconst ResourceRowApp = ({ resource, editClick, statusClick, viewClick, createClick, deleteClick }) => (\r\n // CATEGORY |\tTITLE |\tDESCRIPTION |\tFILE |\tPUBLISHED |\tACTIONS\r\n \r\n {resource.title}\r\n\r\n {resource.description}\r\n\r\n {resource.category === \"local\" ? resource.file : null}\r\n\r\n \r\n
\r\n \r\n {\r\n editClick(e, resource);\r\n }}\r\n >\r\n \r\n
\r\n \r\n\r\n \r\n {\r\n viewClick(e, resource);\r\n }}\r\n >\r\n \r\n \r\n \r\n\r\n \r\n {\r\n confirmAlert({\r\n title: 'Confirm delete',\r\n buttons: [\r\n { label: \"No\", onClick: () => { } },\r\n {\r\n label: \"Yes\", onClick: () => {\r\n deleteClick(e, resource);\r\n }\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n);\r\n\r\nconst ResourceRowInternationalization = ({ resource, i18editClick, i18viewClick, i18createClick, i18deleteClick }) => (\r\n // CATEGORY |\tTITLE |\tDESCRIPTION |\tFILE |\tPUBLISHED |\tACTIONS\r\n \r\n {resource.Language} | {resource.category}\r\n {resource.Primer ? resource.Primer : resource.Logo ? resource.Logo : resource.json ? resource.json : null}\r\n \r\n
\r\n\r\n \r\n {\r\n i18viewClick(e, resource);\r\n }}\r\n >\r\n \r\n
\r\n \r\n\r\n \r\n {\r\n confirmAlert({\r\n title: 'Confirm delete',\r\n buttons: [\r\n { label: \"No\", onClick: () => { } },\r\n {\r\n label: \"Yes\", onClick: () => {\r\n i18deleteClick(e, resource);\r\n }\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false\r\n });\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\n// export function\r\nconst Recommendation = () => {\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n // get forum topics\r\n const resourceAll = useSelector((state) => state.resource.resourceAll);\r\n\r\n // Call back of success delete\r\n const resourceDeleted = useSelector((state) => state.resource.deleteResource);\r\n\r\n const language = useSelector((state) => state.masterData.languageAll);\r\n const [selectedLanguage, setSelectedLanguage] = useState('en')\r\n\r\n useEffect(() => {\r\n dispatch(fetchMasterDataLanguageAll());\r\n }, []);\r\n\r\n useEffect(() => {\r\n dispatch(fetchResourceAll());\r\n }, [resourceDeleted]);\r\n\r\n\r\n const handleStatusClick = (e, resource) => {\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"resource\", resource);\r\n if (resource && !Lodash.isEmpty(resource) && resource.status === true) {\r\n let values = {\r\n resourceId: resource._id,\r\n status: false,\r\n };\r\n dispatch(updateResource(values, history));\r\n } else {\r\n let values = {\r\n resourceId: resource._id,\r\n status: true,\r\n };\r\n dispatch(updateResource(values, history));\r\n }\r\n };\r\n\r\n const handleViewClick = (e, resource) => {\r\n console.log(\"resource\", resource);\r\n e.preventDefault();\r\n let pathToResource = Config.SERVER_API_URL + \"uploads/resource/\" + resource.file;\r\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\r\n window.open(pathToResource, \"_blank\");\r\n };\r\n\r\n const handleEditClick = (e, resource, type) => {\r\n e.preventDefault();\r\n history.push({ pathname: \"/registered/resource_details\", state: { resource: resource } });\r\n };\r\n\r\n const handleDeleteClick = (e, resource) => {\r\n if (LOGINSTATE) console.log(\"resource\", resource);\r\n e.preventDefault();\r\n let values = {\r\n resourceId: resource._id,\r\n resourceCategory: resource.category,\r\n resourceJSON: resource.json,\r\n resourcePrimer: resource.Primer,\r\n resourceLogo: resource.Logo,\r\n };\r\n dispatch(deleteResource(values, history));\r\n };\r\n\r\n const handleCreateClick = (e, resource, type) => {\r\n e.preventDefault();\r\n };\r\n\r\n const handleViewClicki18 = (e, resource) => {\r\n console.log(\"resource\", resource);\r\n e.preventDefault();\r\n if (resource.category === \"local\") {\r\n let pathToResource = Config.SERVER_API_URL + \"uploads/resource/\" + resource.file;\r\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\r\n window.open(pathToResource, \"_blank\");\r\n } else if (resource.category === \"Localization json\") {\r\n let pathToResource = Config.SERVER_API_URL + \"uploads/json/\" + resource.json;\r\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\r\n window.open(pathToResource, \"_blank\");\r\n } else if (resource.category === \"Primer\") {\r\n let pathToResource = Config.SERVER_API_URL + \"uploads/primer/\" + resource.Primer;\r\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\r\n window.open(pathToResource, \"_blank\");\r\n } else if (resource.category === \"Logo\") {\r\n let pathToResource = Config.SERVER_API_URL + \"uploads/conceptImage/\" + resource.Logo;\r\n if (LOGINSTATE) console.log(\"pathToResource: \", pathToResource);\r\n window.open(pathToResource, \"_blank\");\r\n }\r\n };\r\n\r\n const handleEditClicki18 = (e, resource, type) => {\r\n e.preventDefault();\r\n history.push({ pathname: \"/registered/resource_details_i18\", state: { resource: resource, edit: true } });\r\n };\r\n\r\n const handleDeleteClicki18 = (e, resource) => {\r\n console.log(\"resource\", resource);\r\n e.preventDefault();\r\n let values = {\r\n resourceId: resource._id,\r\n resourceCategory: resource.category,\r\n resourceJSON: resource.json,\r\n resourcePrimer: resource.Primer,\r\n resourceLogo: resource.Logo,\r\n };\r\n dispatch(deleteResource(values, history));\r\n };\r\n\r\n const handleCreateClicki18 = (e, resource, type) => {\r\n e.preventDefault();\r\n };\r\n\r\n const handleCreateNewClick = (e, resource, type) => {\r\n e.preventDefault();\r\n history.push({ pathname: \"/registered/resource_details\" });\r\n };\r\n\r\n const handleCreateNewClicki18 = (e, resource, type) => {\r\n e.preventDefault();\r\n history.push({ pathname: \"/registered/resource_details_i18\", state: { resource: resource, edit: false } });\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

APP Resources

\r\n
Resources for tools and more
\r\n
\r\n
\r\n \r\n {\r\n handleCreateNewClick(e);\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {resourceAll.map((resource, i) =>\r\n resource.status === true && resource.category === \"local\" ? (\r\n \r\n ) : null\r\n )}\r\n \r\n
TitleDescriptionFileActions
\r\n \r\n\r\n
\r\n
\r\n\r\n \r\n \r\n
\r\n
\r\n

Internationalization Resources

\r\n
Resources needed for internationalization
\r\n
\r\n
\r\n { setSelectedLanguage(e.target.value) }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {language.map((item, i) => (\r\n \r\n ))}\r\n \r\n
\r\n
\r\n \r\n {\r\n handleCreateNewClicki18(e, resourceAll);\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {(Lodash.filter(resourceAll, { Language: selectedLanguage })).map((resource, i) =>\r\n (resource.category === \"Localization json\" || resource.category === \"Primer\" || resource.category === \"Logo\") ? (\r\n \r\n ) : null\r\n )}\r\n \r\n
CategoryFileActions
\r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default Recommendation;\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport Lodash from \"lodash\";\r\nimport { Formik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Card, CardBody, CardFooter, CardHeader, Col, Container, Row, Form, Button } from \"reactstrap\";\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { ChsStyles } from \"constants/globalStyles\";\r\nimport { createResource, updateResource } from \"actions/resource\";\r\n\r\nconst reviewSchema = Yup.object({\r\n Category: Yup.string().required(),\r\n Title: Yup.string().required().min(4).max(1000),\r\n});\r\n\r\nconst ResourceDetail = (props) => {\r\n const formRef = useRef();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const [resource, setResource] = useState({});\r\n const [isEdit, setIsEdit] = useState(false); // For edit resource details passed by parent page\r\n\r\n useEffect(() => {\r\n const tempResource = props.location.state?.resource;\r\n if (tempResource && !Lodash.isEmpty(tempResource)) {\r\n setResource(tempResource);\r\n setIsEdit(true);\r\n }\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (formRef.current && resource && !Lodash.isEmpty(resource)) {\r\n formRef.current?.resetForm();\r\n formRef.current.setFieldValue(\"Title\", resource.title, false);\r\n formRef.current.setFieldValue(\"Description\", resource.description, false);\r\n formRef.current.setFieldValue(\"Category\", resource.category, false);\r\n formRef.current.setFieldValue(\"Language\", resource.Language, false);\r\n formRef.current.setFieldValue(\"File\", resource.file, false);\r\n formRef.current.setFieldValue(\"json\", resource.json, false);\r\n formRef.current.setFieldValue(\"Primer\", resource.Primer, false);\r\n formRef.current.setFieldValue(\"Logo\", resource.Logo, false);\r\n }\r\n }, [resource]);\r\n\r\n // handle change event of the file\r\n const handleFileChange = async (e) => {\r\n try {\r\n const file = e.target.files[0];\r\n if (LOGINSTATE) console.log(file);\r\n if (formRef.current) {\r\n formRef.current.setFieldValue(\"File\", file, false);\r\n }\r\n } catch (err) {\r\n if (LOGINSTATE) console.log(\"file error\", err);\r\n }\r\n };\r\n\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

APP Resources

\r\n
Resources for tools and more
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n console.log(\"formik values: \", values);\r\n let params = {\r\n title: values.Title,\r\n description: values.Description,\r\n category: values.Category,\r\n Language: values.Language,\r\n file: values.File,\r\n json: values.json,\r\n Primer: values.Primer,\r\n Logo: values.Logo,\r\n };\r\n let param = {\r\n title: values.Title,\r\n description: values.Description,\r\n category: values.Category,\r\n Language: values.Language,\r\n file: values.File,\r\n json: values.json,\r\n Primer: values.Primer,\r\n Logo: values.Logo,\r\n resourceId: resource._id,\r\n };\r\n if (resource.file) {\r\n dispatch(updateResource(param, history));\r\n } else {\r\n dispatch(createResource(params, history));\r\n }\r\n }}\r\n innerRef={formRef}\r\n >\r\n {(props) => (\r\n
\r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {isEdit ? (\r\n <>\r\n \r\n
* Attachment can not edit again
\r\n \r\n ) : (\r\n {\r\n handleFileChange(e);\r\n }}\r\n InputLabelProps={{ shrink: true }}\r\n style={ChsStyles.Question}\r\n className={\"form-control-alternative form-control-edit\"}\r\n error={props.touched.File && Boolean(props.errors.File)}\r\n helperText={props.touched.File && props.errors.File}\r\n />\r\n )}\r\n \r\n
\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n history.goBack();\r\n }}\r\n >\r\n BACK\r\n \r\n {\r\n if (formRef.current) {\r\n formRef.current.handleSubmit();\r\n }\r\n }}\r\n >\r\n SAVE\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ResourceDetail;\r\n","import React, { useEffect, useState, useRef } from \"react\";\r\nimport Lodash from \"lodash\";\r\n\r\nimport { Grid } from \"@material-ui/core\";\r\n\r\nimport { Formik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory } from \"react-router-dom\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Card, CardBody, CardFooter, CardHeader, Col, Container, Row, Form, Button } from \"reactstrap\";\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport { fetchMasterDataLanguageAll } from \"actions/masterData\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { MbppStyles, ChsStyles } from \"constants/globalStyles\";\r\nimport { createResource, updateResource } from \"actions/resource\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport { SERVER_API_URL } from \"config/config.json\";\r\n\r\nconst reviewSchema = Yup.object({\r\n Category: Yup.string().required(),\r\n Language: Yup.string().required(),\r\n});\r\n\r\nconst ResourceDetail = (props) => {\r\n const formRef = useRef();\r\n const history = useHistory();\r\n const dispatch = useDispatch();\r\n\r\n const [resource, setResource] = useState({});\r\n const [isEdit, setIsEdit] = useState(false); // For edit resource details passed by parent page\r\n\r\n const [languages, setLanguages] = useState([]);\r\n const [languagesLogo, setLanguagesLogo] = useState([]);\r\n const [languagesJSON, setLanguagesJSON] = useState([]);\r\n const [save, setSave] = useState(false);\r\n\r\n const [type, setType] = useState(\"\");\r\n const [lang, setLang] = useState(\"\");\r\n\r\n const language = useSelector((state) => state.masterData.languageAll);\r\n if (LOGINSTATE) console.log(\"language: \", language);\r\n\r\n useEffect(() => {\r\n const tempResource = props.location.state?.resource;\r\n const edit = props.location.state?.edit;\r\n console.log(\"tempResource\", tempResource);\r\n if (tempResource && !Lodash.isEmpty(tempResource)) {\r\n setResource(tempResource);\r\n if (edit === true) {\r\n setIsEdit(true);\r\n }\r\n }\r\n\r\n dispatch(fetchMasterDataLanguageAll());\r\n }, []);\r\n\r\n useEffect(() => {\r\n if (formRef.current && resource && !Lodash.isEmpty(resource)) {\r\n formRef.current?.resetForm();\r\n formRef.current.setFieldValue(\"Title\", resource.title, false);\r\n formRef.current.setFieldValue(\"Description\", resource.description, false);\r\n formRef.current.setFieldValue(\"Category\", resource.category, false);\r\n formRef.current.setFieldValue(\"Language\", resource.Language, false);\r\n formRef.current.setFieldValue(\"File\", resource.file, false);\r\n formRef.current.setFieldValue(\"type\", resource.type, false);\r\n formRef.current.setFieldValue(\"json\", resource.json, false);\r\n formRef.current.setFieldValue(\"Primer\", resource.Primer, false);\r\n formRef.current.setFieldValue(\"Logo\", resource.Logo, false);\r\n }\r\n }, [resource]);\r\n\r\n\r\n const checkLangues = async (language) => {\r\n\r\n let finalLang = language;\r\n let finalLangLogo = language;\r\n let finalLangJSON = language;\r\n let codePrimer = [];\r\n let codeLogo = [];\r\n let codeJSON = [];\r\n Object.values(resource).map((item, i) => {\r\n if (item.category === \"Primer\") codePrimer.push(item.Language);\r\n if (item.category === \"Logo\") codeLogo.push(item.Language);\r\n if (item.category === \"Localization json\") codeJSON.push(item.Language);\r\n });\r\n\r\n for (let index = 0; index < codePrimer.length; index++) {\r\n // Check whether resource is available\r\n const result = await fetch(`${SERVER_API_URL}uploads/primer/${codeLogo[index]}_primer.pdf`, { method: 'HEAD' });\r\n if (result.ok) {\r\n finalLang = Lodash.reject(finalLang, { code: codePrimer[index] });\r\n }\r\n }\r\n setLanguages(finalLang);\r\n if (LOGINSTATE) console.log(\"finalLang\", finalLang);\r\n\r\n for (let index = 0; index < codeLogo.length; index++) {\r\n // Check whether resource is available\r\n const result = await fetch(`${SERVER_API_URL}uploads/conceptImage/${codeLogo[index]}_logo.png`, { method: 'HEAD' });\r\n if (result.ok) {\r\n finalLangLogo = Lodash.reject(finalLangLogo, { code: codeLogo[index] });\r\n }\r\n }\r\n setLanguagesLogo(finalLangLogo);\r\n if (LOGINSTATE) console.log(\"finalLangLogo\", finalLangLogo);\r\n\r\n for (let index = 0; index < codeJSON.length; index++) {\r\n // Check whether resource is available\r\n const result = await fetch(`${SERVER_API_URL}uploads/json/${codeLogo[index]}_localization.json`, { method: 'HEAD' });\r\n if (result.ok) {\r\n finalLangJSON = Lodash.reject(finalLangJSON, { code: codeJSON[index] });\r\n }\r\n }\r\n setLanguagesJSON(finalLangJSON);\r\n if (LOGINSTATE) console.log(\"finalLangJSON\", finalLangJSON);\r\n }\r\n\r\n useEffect(() => {\r\n if (language) {\r\n checkLangues(language)\r\n } else {\r\n setLanguages(language);\r\n }\r\n }, [resource, language]);\r\n\r\n // handle change event of the file\r\n const handleFileChangeJSON = async (e, language) => {\r\n try {\r\n const file = e.target.files[0];\r\n if (LOGINSTATE) console.log(file);\r\n if (formRef.current) {\r\n if (file.name === language + \"_localization.json\") {\r\n setSave(true);\r\n formRef.current.setFieldValue(\"json\", file, false);\r\n } else {\r\n setSave(false);\r\n confirmAlert({\r\n title: \"Error\",\r\n message: \"File name is incorrect!\",\r\n buttons: [\r\n {\r\n label: \"OK\",\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n }\r\n } catch (err) {\r\n if (LOGINSTATE) console.log(\"file error\", err);\r\n confirmAlert({\r\n title: \"Error\",\r\n message: err.message,\r\n buttons: [\r\n {\r\n label: \"OK\",\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n };\r\n\r\n // handle change event of the file\r\n const handleFileChangePrimer = async (e, language) => {\r\n try {\r\n // const files = e.target.files;\r\n const file = e.target.files[0];\r\n console.log(file);\r\n if (file) {\r\n if (file.name === language + \"_primer.pdf\") {\r\n setSave(true);\r\n formRef.current.setFieldValue(\"Primer\", file, false);\r\n } else {\r\n setSave(false);\r\n confirmAlert({\r\n title: \"Error\",\r\n message: \"File name is incorrect!\",\r\n buttons: [\r\n {\r\n label: \"OK\",\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n }\r\n } catch (err) {\r\n if (LOGINSTATE) console.log(\"file error\", err);\r\n confirmAlert({\r\n title: \"Error\",\r\n message: err.message,\r\n buttons: [\r\n {\r\n label: \"OK\",\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n };\r\n\r\n // handle change event of the file\r\n const handleFileChangeLogo = async (e, language) => {\r\n try {\r\n // const files = e.target.files;\r\n const file = e.target.files[0];\r\n if (LOGINSTATE) console.log(file);\r\n if (file) {\r\n if (file.name === language + \"_logo.png\") {\r\n setSave(true);\r\n formRef.current.setFieldValue(\"Logo\", file, false);\r\n } else {\r\n setSave(false);\r\n confirmAlert({\r\n title: \"Error\",\r\n message: \"File name is incorrect!\",\r\n buttons: [\r\n {\r\n label: \"OK\",\r\n onClick: () => { window.location.reload(true); },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n }\r\n } catch (err) {\r\n if (LOGINSTATE) console.log(\"file error\", err);\r\n confirmAlert({\r\n title: \"Error\",\r\n message: err.message,\r\n buttons: [\r\n {\r\n label: \"OK\",\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

APP Resources

\r\n
Resources for tools and more
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {\r\n console.log(\"formik values: \", values);\r\n let params = {\r\n title: values.Title,\r\n description: values.Description,\r\n category: values.Category,\r\n file: values.File,\r\n Language: values.Language,\r\n json: values.json,\r\n Primer: values.Primer,\r\n Logo: values.Logo,\r\n };\r\n let param = {\r\n title: values.Title,\r\n description: values.Description,\r\n category: values.Category,\r\n file: values.File,\r\n Language: values.Language,\r\n json: values.json,\r\n Primer: values.Primer,\r\n Logo: values.Logo,\r\n resourceId: resource._id,\r\n };\r\n if (resource.file) {\r\n dispatch(updateResource(param, history));\r\n } else {\r\n dispatch(createResource(params, history));\r\n }\r\n }}\r\n innerRef={formRef}\r\n >\r\n {(props) => (\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n {props.values.Category === \"Primer\" ? (\r\n \r\n \r\n \r\n {languages.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {props.values.Category === \"Logo\" ? (\r\n \r\n \r\n \r\n {languagesLogo.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {props.values.Category === \"Localization json\" ? (\r\n \r\n \r\n \r\n {languagesJSON.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n ) : (\r\n \"\"\r\n )}\r\n \r\n\r\n {props.values.Category === \"Localization json\" && props.values.Language ? (\r\n \r\n \r\n {isEdit ? (\r\n \r\n ) : (\r\n {\r\n handleFileChangeJSON(e, props.values.Language);\r\n }}\r\n InputLabelProps={{ shrink: true }}\r\n style={ChsStyles.Question}\r\n className={\"form-control-alternative form-control-edit\"}\r\n error={props.touched.json && Boolean(props.errors.json)}\r\n helperText={props.touched.json && props.errors.json}\r\n />\r\n )}\r\n \r\n\r\n \r\n \r\n

{`File name must be \"_localization.json\". As a example : ${props.values.Language}_localization.json`}

\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {props.values.Category === \"Primer\" && props.values.Language ? (\r\n \r\n \r\n {isEdit ? (\r\n \r\n ) : (\r\n {\r\n handleFileChangePrimer(e, props.values.Language);\r\n }}\r\n InputLabelProps={{ shrink: true }}\r\n style={ChsStyles.Question}\r\n className={\"form-control-alternative form-control-edit\"}\r\n error={props.touched.Primer && Boolean(props.errors.Primer)}\r\n helperText={props.touched.Primer && props.errors.Primer}\r\n />\r\n )}\r\n \r\n\r\n \r\n \r\n

{`File name must be \"_primer.pdf\". As a example : ${props.values.Language}_primer.pdf`}

\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n\r\n {props.values.Category === \"Logo\" && props.values.Language ? (\r\n \r\n \r\n {isEdit ? (\r\n \r\n ) : (\r\n {\r\n handleFileChangeLogo(e, props.values.Language);\r\n }}\r\n InputLabelProps={{ shrink: true }}\r\n style={ChsStyles.Question}\r\n className={\"form-control-alternative form-control-edit\"}\r\n error={props.touched.Logo && Boolean(props.errors.Logo)}\r\n helperText={props.touched.Logo && props.errors.Logo}\r\n />\r\n )}\r\n \r\n\r\n \r\n \r\n

{`File name must be \"_logo.png \". As a example : ${props.values.Language}_logo.png`}

\r\n
\r\n
\r\n
\r\n ) : (\r\n \"\"\r\n )}\r\n
\r\n )}\r\n \r\n
\r\n \r\n \r\n \r\n {\r\n history.goBack();\r\n }}\r\n >\r\n BACK\r\n \r\n {\r\n if (formRef.current) {\r\n formRef.current.handleSubmit();\r\n }\r\n }}\r\n >\r\n SAVE\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ResourceDetail;\r\n","import PropTypes from 'prop-types';\nimport React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport * as WebDataRocks from \"webdatarocks\";\nimport \"webdatarocks/webdatarocks.min.css\";\n\nexport class Pivot extends React.Component {\n\n\t\tcomponentDidMount() {\n\t\t\tthis.webdatarocks = new WebDataRocks({\n\t\t\t\t...this.props,\n\t\t\t\tcontainer: ReactDOM.findDOMNode(this)\n\t\t\t});\n\t\t}\n\t\t\n\t\tshouldComponentUpdate() {\n\t\t\treturn false;\n\t\t}\n\t\t\n\t\tcomponentWillUnmount() {\n\t\t\tthis.webdatarocks.dispose();\n\t\t}\n\n\t\trender() {\n\t return
Pivot
\n\t }\n\n\t}\n\n\tPivot.propTypes = {\n\t\tglobal: PropTypes.object,\n\t\twidth: [PropTypes.string, PropTypes.number],\n\t\theight: [PropTypes.string, PropTypes.number],\n\t\treport: [PropTypes.string, PropTypes.object],\n\t\ttoolbar: PropTypes.bool,\n\t\tcustomizeCell: PropTypes.func,\n\t\tcellclick: PropTypes.func,\n\t\tcelldoubleclick: PropTypes.func,\n\t\tdataerror: PropTypes.func,\n\t\tdatafilecancelled: PropTypes.func,\n\t\tdataloaded: PropTypes.func,\n\t\tdatachanged: PropTypes.func,\n\t\tfieldslistclose: PropTypes.func,\n\t\tfieldslistopen: PropTypes.func,\n\t\tfilteropen: PropTypes.func,\n\t\tfullscreen: PropTypes.func,\n\t\tloadingdata: PropTypes.func,\n\t\tloadinglocalization: PropTypes.func,\n\t\tloadingreportfile: PropTypes.func,\n\t\tlocalizationerror: PropTypes.func,\n\t\tlocalizationloaded: PropTypes.func,\n\t\topeningreportfile: PropTypes.func,\n\t\tquerycomplete: PropTypes.func,\n\t\tqueryerror: PropTypes.func,\n\t\tready: PropTypes.func,\n\t\treportchange: PropTypes.func,\n\t\treportcomplete: PropTypes.func,\n\t\treportfilecancelled: PropTypes.func,\n\t\treportfileerror: PropTypes.func,\n\t\treportfileloaded: PropTypes.func,\n\t\trunningquery: PropTypes.func,\n\t\tupdate: PropTypes.func,\n\t\tbeforetoolbarcreated: PropTypes.func\n\t}\n\n\texport default Pivot;\n","import * as WebDataRocksReact from \"assets/js/webdatarocks.react\";\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n CardHeader,\r\n Col,\r\n Container,\r\n Row\r\n} from \"reactstrap\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { useDispatch } from 'react-redux';\r\nimport Lodash from 'lodash';\r\nimport * as api from 'api/index';\r\nimport Moment from \"moment\";\r\n\r\nconst initReportConfiguration = {\r\n \"dataSource\": {\r\n \"data\": []\r\n },\r\n \"slice\": {\r\n \"drills\": {\r\n \"drillAll\": false\r\n }\r\n },\r\n}\r\n\r\nconst Report = (props) => {\r\n\r\n // For webdatarock values\r\n const reportRef = useRef();\r\n const dispatch = useDispatch();\r\n\r\n const [reportConfiguration, setReportConfiguration] = useState(null);\r\n\r\n\r\n useEffect(() => {\r\n fetchReportData();\r\n }, []);\r\n\r\n const fetchReportData = async () => {\r\n const params = { statType: \"AssessmentOverall\" };\r\n const { data } = await api.fetchAnswerStat(params);\r\n if (LOGINSTATE) console.log(\"pivot data: \", data);\r\n\r\n if (data && data.data && data.data.length > 0) {\r\n let reportConfig = initReportConfiguration;\r\n\r\n let reportData = data.data.map(({ assessment, version, title, country, date, organization_type, status }) => {\r\n const date_time = Moment.utc(date).format(\"YYYY-MM-DD hh:mm:ss A\")\r\n return { assessment, version, title, country, date_time, organization_type, status }\r\n })\r\n if (LOGINSTATE) console.log(\"reportData: \", reportData);\r\n\r\n // reportConfig[\"dataSource\"][\"data\"] = reportData;\r\n reportConfig[\"dataSource\"][\"data\"] = [\r\n {\r\n assessment: { type: \"string\" },\r\n version: { type: \"number\"},\r\n title: { type: \"string\" },\r\n country: { type: \"string\" },\r\n date_time: { type: \"string\" },\r\n organization_type: { type: \"string\" },\r\n status: { type: \"string\" }\r\n },\r\n ...reportData\r\n ];\r\n\r\n\r\n reportConfig[\"slice\"] = {\r\n \"rows\": [\r\n { \"uniqueName\": \"country\", \"sort\": \"asc\" }\r\n ],\r\n \"columns\": [\r\n { \"uniqueName\": \"status\", \"sort\": \"asc\" }\r\n ],\r\n \"measures\": [\r\n { \"uniqueName\": \"assessment\", \"aggregation\": \"count\" }\r\n ],\r\n \"drills\": { \"drillAll\": false }\r\n }\r\n setReportConfiguration(reportConfig);\r\n }\r\n }\r\n\r\n const reportComplete = () => {\r\n if (reportRef.current && reportRef.current.webdatarocks) {\r\n if (LOGINSTATE) console.log(\"report: \", reportRef.current.webdatarocks.getReport());\r\n }\r\n }\r\n\r\n const customizeToolbar = (toolbar) => {\r\n let tabs = toolbar.getTabs(); // get all tabs from the toolbar\r\n toolbar.getTabs = function () {\r\n delete tabs[0]; // delete the first tab\r\n delete tabs[1];\r\n delete tabs[2];\r\n delete tabs[4];\r\n delete tabs[6];\r\n return tabs;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n\r\n {/* create survey questions */}\r\n \r\n \r\n\r\n \r\n\r\n {/* survey header */}\r\n \r\n
\r\n
\r\n

Summary By Country

\r\n
Overall assessment report
\r\n
\r\n
\r\n
\r\n\r\n {/* report content */}\r\n \r\n\r\n {reportConfiguration && !Lodash.isEmpty(reportConfiguration) ?\r\n <>\r\n \r\n \r\n : null\r\n }\r\n\r\n \r\n\r\n {/* survey footer */}\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n\r\nexport default Report;\r\n","import { fetchSurveyAnswerByUser } from \"actions/survey\";\r\nimport { fetchOrganizationAll } from \"actions/organization\";\r\nimport { fetchCountry } from \"actions/masterData\";\r\n\r\n// core components\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport Lodash from \"lodash\";\r\nimport Moment from \"moment\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport Config from \"config/config.json\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Card, CardHeader, Container, Row, Col, Table, Form, CardBody } from \"reactstrap\";\r\nimport { GlobalStylesColor } from \"constants/globalStyles\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\r\nimport { answer_status } from \"helper.js\";\r\nimport { Formik } from \"formik\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n// Populate version row for each survey type\r\nconst AnswerRow = ({ answer, editClick, statusClick }) => (\r\n // VERSION | TITLE | DESCRIPTION | STATUS\r\n \r\n {/* {console.log(\"survey answer: \", answer)} */}\r\n {/* {Moment(answer.updatedAt).format(\"YYYY-MM-DD hh:mm A\")} */}\r\n {answer.clientTimestamp}\r\n {answer.type}\r\n {answer.title}\r\n {answer?.status === answer_status[0] ? : {answer.surveyScore > 0 ? Math.round((answer.surveyScore + Number.EPSILON) * 100) / 100 : \"\"}}\r\n\r\n \r\n
\r\n {answer.status === answer_status[0] ? (\r\n {\r\n editClick(e, answer);\r\n }}\r\n >\r\n \r\n
\r\n ) : (\r\n {\r\n statusClick(e, answer);\r\n }}\r\n >\r\n \r\n \r\n )}\r\n \r\n \r\n \r\n);\r\n\r\n// export function\r\nconst ReportAllAnswersByUser = () => {\r\n const formRef = useRef();\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const [selectedCountry, setSelectedCountry] = useState(\"\");\r\n const [selectedOrganization, setSelectedOrganization] = useState({});\r\n const [selectedOrganizationCurr, setSelectedOrganizationCurr] = useState(\"\");\r\n const [selectedCity, setSelectedCity] = useState(\"\");\r\n const [selectedUser, setSelectedUser] = useState(\"\");\r\n \r\n const { t, i18n } = useTranslation();\r\n\r\n useEffect(() => {\r\n // fetching all surveys\r\n dispatch(fetchCountry());\r\n dispatch(fetchOrganizationAll());\r\n }, []);\r\n\r\n const countriesAll = useSelector((state) => state.masterData.countryAll);\r\n const organizationAll = useSelector((state) => state.organization.organizationAll);\r\n\r\n useEffect(() => {\r\n if(LOGINSTATE) console.log(\"selected user: \", selectedUser);\r\n if (selectedUser && !Lodash.isEmpty(selectedUser)) {\r\n if(LOGINSTATE) console.log(\"populate answers\");\r\n dispatch(fetchSurveyAnswerByUser({ userId: selectedUser }, history, t));\r\n }\r\n setSelectedCity(Lodash.find(countriesAll, { _id: selectedCountry }));\r\n }, [selectedUser]);\r\n\r\n // props pass another page\r\n const loadSurveys = (e) => {\r\n e.preventDefault();\r\n history.push({ pathname: \"/registered/assessment_complete\", user: e.target.value });\r\n };\r\n\r\n // handle change event of the file\r\n const handleFileChange = async (e, props) => {\r\n try {\r\n const file = props.value.Country;\r\n if(LOGINSTATE) console.log(file);\r\n if (formRef.current) {\r\n formRef.current.setFieldValue(\"Country\", file, false);\r\n }\r\n } catch (err) {\r\n if(LOGINSTATE) console.log(\"file error\", err);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

Completed Assessments in Detail

\r\n
Select options to check assessments
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {(props) => (\r\n
\r\n \r\n \r\n {\r\n // console.log(e);\r\n // console.log(\"country: \", e.target.value);\r\n setSelectedCountry(e.target.value);\r\n handleFileChange(e, props);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {countriesAll &&\r\n countriesAll.map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {\r\n // console.log(\"organization: \", e.target.value);\r\n let organization = Lodash.find(organizationAll, { _id: e.target.value });\r\n setSelectedOrganization(organization ? organization : {});\r\n setSelectedOrganizationCurr(e.target.value);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {organizationAll &&\r\n Lodash.filter(organizationAll, { country: { _id: selectedCountry } }).map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {\r\n // console.log(\"selected user: \", e.target.value);\r\n setSelectedUser(e.target.value);\r\n loadSurveys(e);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {!Lodash.isEmpty(selectedOrganization) &&\r\n Lodash.isArray(selectedOrganization.city) &&\r\n selectedOrganization.city.map((item, i) =>\r\n // item.linkedUser ? ( // Removing cities without users\r\n \r\n // ) : null\r\n )}\r\n \r\n \r\n \r\n
\r\n
\r\n )}\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ReportAllAnswersByUser;\r\n","import * as WebDataRocksReact from \"assets/js/webdatarocks.react\";\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\n// reactstrap components\r\nimport { Card, CardBody, CardFooter, CardHeader, Col, Container, Row, Form, Button } from \"reactstrap\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { useDispatch } from \"react-redux\";\r\nimport Lodash from \"lodash\";\r\nimport * as api from \"api/index\";\r\nimport { Formik } from \"formik\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport Moment from \"moment\";\r\n\r\nconst initReportConfiguration = {\r\n dataSource: {\r\n data: [],\r\n },\r\n slice: {\r\n drills: {\r\n drillAll: false,\r\n },\r\n },\r\n formats: [\r\n {\r\n name: \"\",\r\n thousandsSeparator: \" \",\r\n decimalSeparator: \".\",\r\n decimalPlaces: 2,\r\n nullValue: \" \",\r\n infinityValue: \"Infinity\",\r\n divideByZeroValue: \"Infinity\",\r\n },\r\n ],\r\n options: {\r\n grid: {\r\n showGrandTotals: \"off\",\r\n },\r\n },\r\n};\r\n\r\nconst ReportAllAnswersBySegmentByOrganization = (props) => {\r\n // For webdatarock values\r\n const reportRef = useRef();\r\n const formRef = useRef();\r\n const dispatch = useDispatch();\r\n\r\n const [reportConfiguration, setReportConfiguration] = useState(null);\r\n const [answerData, setAnswerData] = useState([]);\r\n\r\n useEffect(() => {\r\n fetchReportData();\r\n }, []);\r\n\r\n const fetchReportData = async () => {\r\n const params = { statType: \"AssessmentDetail\" };\r\n const { data } = await api.fetchAnswerStat(params);\r\n if (LOGINSTATE) console.log(\"pivot data: \", data);\r\n\r\n if (data && data.data && data.data.length > 0) {\r\n setAnswerData(data.data);\r\n if (LOGINSTATE) console.log(\"reportData: \", data.data);\r\n }\r\n };\r\n\r\n const updateReport = (country, organization, location, type) => {\r\n setReportConfiguration(null);\r\n\r\n if (country && organization && location && type && country.length > 0 && organization.length > 0 && location.length > 0 && type.length > 0) {\r\n let reportConfig = initReportConfiguration;\r\n\r\n let filteredData = Lodash.filter(answerData, { country: country, organization: organization, location: location, assessment: type });\r\n if (LOGINSTATE) console.log(\"filtered data\", filteredData);\r\n // let filteredDataCustom = filteredData.map(({ date, organization_type, segment_code, segments_score, version }) => ({ date, organization_type, segment_code, segments_score, version }));\r\n let filteredDataCustom = filteredData.map(({ date, organization_type, segment_code, score, segments_score, version }) => {\r\n let date_time = Moment.utc(date).format(\"YYYY-MM-DD hh:mm:ss A\");\r\n // filteredDataCustom[\"segment_code\"] = \"Total\";\r\n // console.log(\"filteredDataCustom11\", filteredDataCustom);\r\n return { date_time, segment_code, score, segments_score, version };\r\n });\r\n if (LOGINSTATE) console.log(\"filteredDataCustom11\", filteredDataCustom);\r\n // filteredDataCustom[\"segment_code\"] = \"Total\";\r\n let dates = filteredDataCustom.map((item) => item.date_time).filter((value, index, self) => self.indexOf(value) === index);\r\n\r\n dates.map((item, i) => (filteredDataCustom = [...filteredDataCustom, { date_time: item, segment_code: \"Total\", segments_score: Lodash.find(filteredDataCustom, { date_time: item }).score, version: Lodash.find(filteredDataCustom, { date_time: item }).version }]));\r\n let filteredDataCustomTwo = filteredDataCustom.map(({ date_time, segment_code, segments_score, version }) => {\r\n\r\n // filteredDataCustom[\"segment_code\"] = \"Total\";\r\n // console.log(\"filteredDataCustom11\", filteredDataCustom);\r\n const score = segments_score\r\n return { date_time, segment_code, score, version };\r\n });\r\n reportConfig[\"dataSource\"][\"data\"] = [\r\n // {\r\n // processedDate: { type: \"date\" },\r\n // organization_type: { type: \"string\" },\r\n // segment_code: { type: \"string\" },\r\n // version: { type: \"string\" },\r\n // segments_score: { type: \"number\" }\r\n // },\r\n ...filteredDataCustomTwo,\r\n ];\r\n\r\n if (LOGINSTATE) console.log(\"filteredDataCustom\", filteredDataCustom);\r\n reportConfig[\"slice\"] = {\r\n rows: [{ uniqueName: \"date_time\" }],\r\n columns: [{ uniqueName: \"segment_code\" }],\r\n measures: [{ uniqueName: \"score\", aggregation: \"average\" }],\r\n drills: { drillAll: false },\r\n };\r\n if (LOGINSTATE) console.log(\"report\", reportConfig);\r\n\r\n setReportConfiguration(reportConfig);\r\n } else {\r\n // Not showing the pivot, otherwise it's not refreshing\r\n }\r\n };\r\n\r\n const scrollToPivot = () => {\r\n // var titleElement = document.getElementById('pivotCard')\r\n // titleElement.scrollIntoView({ behavior: 'smooth' })\r\n };\r\n\r\n const reportComplete = () => {\r\n if (reportRef.current && reportRef.webdatarocks) {\r\n if (LOGINSTATE) console.log(\"report: \", reportRef.webdatarocks.getReport());\r\n }\r\n };\r\n\r\n const customizeToolbar = (toolbar) => {\r\n let tabs = toolbar.getTabs(); // get all tabs from the toolbar\r\n toolbar.getTabs = function () {\r\n delete tabs[0]; // delete the first tab\r\n delete tabs[1];\r\n delete tabs[2];\r\n delete tabs[4];\r\n delete tabs[6];\r\n return tabs;\r\n };\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n {/* create survey questions */}\r\n \r\n \r\n \r\n {/* survey header */}\r\n \r\n
\r\n
\r\n

Assessments By Organizations With Segments

\r\n
Organization assessment report
\r\n
\r\n
\r\n
\r\n\r\n \r\n {\r\n updateReport(values.Country, values.Organization, values.Location, values.Type);\r\n }}\r\n >\r\n {(props) => (\r\n
\r\n \r\n \r\n {\r\n // console.log(\"country: \", e.target.value);\r\n props.handleChange(e, \"Country\");\r\n // updateReport(e.target.value, props.values.Organization, props.values.Location, props.values.Type);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {!Lodash.isEmpty(answerData) &&\r\n answerData\r\n .map((item) => item.country)\r\n .filter((value, index, self) => self.indexOf(value) === index)\r\n .map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {\r\n // console.log(\"organization: \", e.target.value);\r\n props.handleChange(e, \"Organization\");\r\n // updateReport(props.values.Country, e.target.value, props.values.Location, props.values.Type);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {!Lodash.isEmpty(answerData) &&\r\n props.values.Country &&\r\n Lodash.filter(answerData, { country: props.values.Country })\r\n .map((item) => item.organization)\r\n .filter((value, index, self) => self.indexOf(value) === index)\r\n .map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n \r\n
\r\n\r\n \r\n \r\n {\r\n // console.log(\"selected user: \", e.target.value);\r\n props.handleChange(e, \"Location\");\r\n // updateReport(props.values.Country, props.values.Organization, e.target.value, props.values.Type);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n {!Lodash.isEmpty(answerData) &&\r\n props.values.Country &&\r\n props.values.Organization &&\r\n Lodash.filter(answerData, { country: props.values.Country, organization: props.values.Organization })\r\n .map((item) => item.location)\r\n .filter((value, index, self) => self.indexOf(value) === index)\r\n .map((item, i) => (\r\n \r\n ))}\r\n \r\n \r\n\r\n \r\n {\r\n // console.log(\"selected user: \", e.target.value);\r\n props.handleChange(e, \"Type\");\r\n // updateReport(props.values.Country, props.values.Organization, props.values.Location, e.target.value);\r\n }}\r\n SelectProps={{ native: true }}\r\n className={\"form-control-alternative form-control-edit\"}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n {\r\n props.submitForm();\r\n scrollToPivot();\r\n }}\r\n >\r\n Update Results\r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n\r\n {/* question content */}\r\n \r\n {reportConfiguration && !Lodash.isEmpty(reportConfiguration) ? (\r\n <>\r\n \r\n \r\n ) : null}\r\n \r\n\r\n {/* survey footer */}\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ReportAllAnswersBySegmentByOrganization;\r\n","import * as WebDataRocksReact from \"assets/js/webdatarocks.react\";\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n// reactstrap components\nimport {\n Card,\n CardBody,\n CardFooter,\n CardHeader,\n Col,\n Container,\n Row\n} from \"reactstrap\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch } from 'react-redux';\nimport Lodash from 'lodash';\nimport * as api from 'api/index';\n\nconst initReportConfiguration = {\n \"dataSource\": {\n \"data\": []\n },\n \"slice\": {\n \"drills\": {\n \"drillAll\": false\n }\n },\n}\n\nconst Report = (props) => {\n\n // For webdatarock values\n const reportRef = useRef();\n const dispatch = useDispatch();\n\n const [reportConfiguration, setReportConfiguration] = useState(null);\n\n\n useEffect(() => {\n fetchReportData();\n }, []);\n\n const fetchReportData = async () => {\n const { data } = await api.fetchOrganizationAll();\n if (LOGINSTATE) console.log(\"pivot data: \", data);\n\n if (data && data.data && data.data.length > 0) {\n let reportConfig = initReportConfiguration;\n\n // Rearrange data\n // let reportData = data.data.map(({ country, organization, organization_type }) => ({ country, organization, organization_type }))\n let reportData = data.data.map(({ country, name, type, geographicArea, status }) => {\n const stat = {\n Country: country.name,\n Organization: name,\n \"Organization Type\": type,\n // GeographicArea: geographicArea,\n \"Organization Status\": status\n }\n return stat\n })\n\n // reportData = Lodash.uniqBy(reportData, 'organization')\n if (LOGINSTATE) console.log(\"reportData: \", reportData);\n\n reportConfig[\"dataSource\"][\"data\"] = reportData;\n reportConfig[\"slice\"] = {\n \"rows\": [\n { \"uniqueName\": \"Country\", \"sort\": \"asc\" },\n { \"uniqueName\": \"Organization\", \"sort\": \"asc\" }\n ],\n // \"columns\": [\n // { \"uniqueName\": \"organization\", \"sort\": \"asc\" }\n // ],\n \"measures\": [\n { \"uniqueName\": \"Organization\", \"aggregation\": \"count\" }\n ],\n \"drills\": { \"drillAll\": false }\n }\n setReportConfiguration(reportConfig);\n }\n }\n\n const reportComplete = () => {\n if (reportRef.current && reportRef.current.webdatarocks) {\n if (LOGINSTATE) console.log(\"report: \", reportRef.current.webdatarocks.getReport());\n }\n }\n\n const customizeToolbar = (toolbar) => {\n let tabs = toolbar.getTabs(); // get all tabs from the toolbar\n toolbar.getTabs = function () {\n delete tabs[0]; // delete the first tab\n delete tabs[1];\n delete tabs[2];\n delete tabs[4];\n delete tabs[6];\n return tabs;\n }\n }\n\n return (\n <>\n \n\n {/* Page content */}\n \n\n {/* create survey questions */}\n \n \n\n \n\n {/* survey header */}\n \n
\n
\n

Organizations By Country

\n
Overall organization report
\n
\n
\n
\n\n {/* report content */}\n \n\n {reportConfiguration && !Lodash.isEmpty(reportConfiguration) ?\n <>\n \n \n : null\n }\n\n \n\n {/* survey footer */}\n \n\n \n\n
\n\n \n
\n\n
\n\n \n );\n}\n\n\nexport default Report;\n","import * as WebDataRocksReact from \"assets/js/webdatarocks.react\";\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\n// reactstrap components\r\nimport {\r\n Card,\r\n CardBody,\r\n CardFooter,\r\n CardHeader,\r\n Col,\r\n Container,\r\n Row\r\n} from \"reactstrap\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { useDispatch } from 'react-redux';\r\nimport Lodash from 'lodash';\r\nimport * as api from 'api/index';\r\n\r\nconst initReportConfiguration = {\r\n \"dataSource\": {\r\n \"data\": []\r\n },\r\n \"slice\": {\r\n \"drills\": {\r\n \"drillAll\": false\r\n }\r\n },\r\n}\r\n\r\nconst Report = (props) => {\r\n\r\n // For webdatarock values\r\n const reportRef = useRef();\r\n const dispatch = useDispatch();\r\n\r\n const [reportConfiguration, setReportConfiguration] = useState(null);\r\n\r\n\r\n useEffect(() => {\r\n fetchReportData();\r\n }, []);\r\n\r\n const fetchReportData = async () => {\r\n const params = { statType: \"StatOrganization\" };\r\n const { data } = await api.fetchAnswerStat(params);\r\n if (LOGINSTATE) console.log(\"pivot data: \", data);\r\n\r\n if (data && data.data && data.data.length > 0) {\r\n let reportConfig = initReportConfiguration;\r\n\r\n let reportData = data.data.map(({ country, organization, organization_type }) => ({ country, organization, organization_type }))\r\n reportData = Lodash.uniqBy(reportData, 'organization')\r\n if (LOGINSTATE) console.log(\"reportData: \", reportData);\r\n\r\n reportConfig[\"dataSource\"][\"data\"] = reportData;\r\n reportConfig[\"slice\"] = {\r\n \"rows\": [\r\n { \"uniqueName\": \"country\", \"sort\": \"asc\" },\r\n { \"uniqueName\": \"organization\", \"sort\": \"asc\" }\r\n ],\r\n // \"columns\": [\r\n // { \"uniqueName\": \"organization\", \"sort\": \"asc\" }\r\n // ],\r\n \"measures\": [\r\n { \"uniqueName\": \"organization\", \"aggregation\": \"count\" }\r\n ],\r\n \"drills\": { \"drillAll\": false }\r\n }\r\n setReportConfiguration(reportConfig);\r\n }\r\n }\r\n\r\n const reportComplete = () => {\r\n if (reportRef.current && reportRef.current.webdatarocks) {\r\n if (LOGINSTATE) console.log(\"report: \", reportRef.current.webdatarocks.getReport());\r\n }\r\n }\r\n\r\n const customizeToolbar = (toolbar) => {\r\n let tabs = toolbar.getTabs(); // get all tabs from the toolbar\r\n toolbar.getTabs = function () {\r\n delete tabs[0]; // delete the first tab\r\n delete tabs[1];\r\n delete tabs[2];\r\n delete tabs[4];\r\n delete tabs[6];\r\n return tabs;\r\n }\r\n }\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n\r\n {/* create survey questions */}\r\n \r\n \r\n\r\n \r\n\r\n {/* survey header */}\r\n \r\n
\r\n
\r\n

Attempted Organizations By Country

\r\n
Overall organization report
\r\n
\r\n
\r\n
\r\n\r\n {/* report content */}\r\n \r\n\r\n {reportConfiguration && !Lodash.isEmpty(reportConfiguration) ?\r\n <>\r\n \r\n \r\n : null\r\n }\r\n\r\n \r\n\r\n {/* survey footer */}\r\n \r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n\r\n
\r\n\r\n \r\n );\r\n}\r\n\r\n\r\nexport default Report;\r\n","import { fetchSurveyAnswerByUser } from \"actions/survey\";\r\n\r\n// core components\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport Lodash from \"lodash\";\r\nimport Moment from \"moment\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport Config from \"config/config.json\";\r\nimport { LOGINSTATE } from \"../../../config/config.json\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Card, CardHeader, Container, CardFooter, Row, Col, Table, Form, CardBody, Button } from \"reactstrap\";\r\n\r\n// import { ComponentToPrint } from \"ComponentToPrint\";\r\n\r\nimport { ChsStyles, GlobalStylesColor } from \"constants/globalStyles\";\r\nimport { Tooltip } from \"@material-ui/core\";\r\nimport TimelineOutlinedIcon from \"@material-ui/icons/TimelineOutlined\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\r\nimport { answer_status } from \"helper.js\";\r\n\r\nimport { roundValue } from \"helper\";\r\nimport { useTranslation } from \"react-i18next\";\r\n\r\n// Populate version row for each survey type\r\nconst AnswerRow = ({ answer, editClick, statusClick, printClick, graphClick }) => (\r\n // VERSION | TITLE | DESCRIPTION | STATUS\r\n \r\n {/* {console.log(\"survey answer: \", answer)} */}\r\n {/* {Moment(answer.updatedAt).format(\"YYYY-MM-DD hh:mm A\")} */}\r\n {answer.clientTimestamp}\r\n {answer.type}\r\n {answer.title}\r\n {answer?.status === answer_status[0] ? : {answer.surveyScore > 0 ? Math.round((answer.surveyScore + Number.EPSILON) * 100) / 100 : \"\"}}\r\n\r\n \r\n
\r\n {answer.status === answer_status[0] ? (\r\n <>\r\n {\r\n editClick(e, answer);\r\n }}\r\n >\r\n \r\n
\r\n \r\n ) : (\r\n <>\r\n {\r\n statusClick(e, answer);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n\r\n {\r\n graphClick(e, answer);\r\n }}\r\n >\r\n \r\n {/* */}\r\n \r\n \r\n \r\n\r\n {\r\n printClick(e, answer, false);\r\n }}\r\n >\r\n \r\n \r\n \r\n \r\n \r\n )}\r\n \r\n \r\n \r\n);\r\n\r\n// export function\r\nconst ReportAllAnswersByUser = (props) => {\r\n if (LOGINSTATE) console.log(\"props\", props);\r\n const formRef = useRef();\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n\r\n const componentRef = useRef(null);\r\n const { t, i18n } = useTranslation();\r\n\r\n // get forum topics\r\n const answerByUser = useSelector((state) => state.survey.answerByUser);\r\n\r\n useEffect(() => {\r\n if (LOGINSTATE) console.log(\"selected user: \", props.location.user);\r\n if (props.location.user && !Lodash.isEmpty(props.location.user)) {\r\n if (LOGINSTATE) console.log(\"populate answers\");\r\n dispatch(fetchSurveyAnswerByUser({ userId: props.location.user }, history, t));\r\n }\r\n }, []);\r\n\r\n const handleStatusClick = (e, answer) => {\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n\r\n history.push({ pathname: \"/registered/assessment_answer_complete\", state: { answer: answer, language: \"en\" } });\r\n };\r\n\r\n const handleGraphClick = (e, answer) => {\r\n let segScore = [];\r\n let segName = [];\r\n let segLongName = [];\r\n\r\n Object.values(answer.segments).map((segment, i) => segScore.push(roundValue(segment.segmentScore)));\r\n\r\n Object.values(answer.segments).map((segmentName, j) => segName.push(segmentName.segmentCode));\r\n\r\n Object.values(answer.segments).map((segmentLongName, j) => segLongName.push(segmentLongName.title));\r\n\r\n // setSegLongName(segLongNameTemp);\r\n if (LOGINSTATE) console.log(\"segLongName\", segLongName);\r\n\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n history.push({ pathname: \"/registered/assessment_answer_graph\", state: { segName: segName, segScore: segScore, segLongName: segLongName, answer: answer } });\r\n };\r\n\r\n const handlePrint = (e, answer, windowPrint) => {\r\n let segScore = [];\r\n let segName = [];\r\n let segLongName = [];\r\n\r\n Object.values(answer.segments).map((segment, i) => segScore.push(roundValue(segment.segmentScore)));\r\n\r\n Object.values(answer.segments).map((segmentName, j) => segName.push(segmentName.segmentCode));\r\n\r\n Object.values(answer.segments).map((segmentLongName, j) => segLongName.push(segmentLongName.title));\r\n\r\n // setSegLongName(segLongNameTemp);\r\n if (LOGINSTATE) console.log(\"segLongName\", segLongName);\r\n\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"--------------------- local store saving: \", answer);\r\n\r\n // if (windowPrint) {\r\n // history.push({ pathname: \"/registered/assessment_print_PDF\", state: { segName: segName, segScore: segScore, segLongName: segLongName, answer: answer, language: jUser?.user?.language } });\r\n // } else {\r\n // history.push({ pathname: \"/print_content/assessment_print_pdf\", state: { segName: segName, segScore: segScore, segLongName: segLongName, answer: answer, language: jUser?.user?.language } });\r\n // }\r\n\r\n if (windowPrint) {\r\n history.push({ pathname: \"/registered/assessment_print_PDF\", state: { segName: segName, segScore: segScore, segLongName: segLongName, answer: answer, language: jUser?.user?.language } });\r\n } else {\r\n history.push({\r\n pathname: \"/print_content/assessment_preview\",\r\n state: {\r\n segName: segName,\r\n segScore: segScore,\r\n segLongName: segLongName,\r\n answer: answer,\r\n language: jUser?.user?.language\r\n }\r\n });\r\n }\r\n };\r\n\r\n const Example = () => { };\r\n\r\n let currentUser = localStorage.getItem(\"userDetails\");\r\n let jUser = JSON.parse(currentUser);\r\n let uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\r\n if (LOGINSTATE) console.log(\"uRole\", currentUser);\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n {Lodash.isEmpty(answerByUser)\r\n ? <>\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

No Data

\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n : Config.TOOLS.map((tool, i) => {\r\n return (\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

{tool.type}

\r\n
{tool.description}
\r\n
\r\n
\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {/* status: \"COMPLETE\" */}\r\n {answerByUser &&\r\n Lodash.filter(Lodash.filter(answerByUser, { status: \"COMPLETE\" }), { type: tool.type }).map((answer, i) => {\r\n return ;\r\n })}\r\n \r\n
COMPLETED ONTYPETITLESCOREACTIONS
\r\n
\r\n
\r\n
\r\n );\r\n })}\r\n \r\n \r\n \r\n {\r\n history.goBack();\r\n }}\r\n >\r\n BACK\r\n \r\n \r\n \r\n \r\n
\r\n \r\n );\r\n};\r\n\r\nexport default ReportAllAnswersByUser;\r\n","import * as WebDataRocksReact from \"assets/js/webdatarocks.react\";\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, Col, Container, Row, Form, Button } from \"reactstrap\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch } from \"react-redux\";\nimport Lodash from \"lodash\";\nimport * as api from \"api/index\";\nimport { Formik } from \"formik\";\nimport { TextField } from \"@material-ui/core\";\nimport Moment from \"moment\";\n\nconst initReportConfiguration = {\n dataSource: {\n data: [],\n },\n slice: {\n drills: {\n drillAll: false,\n },\n },\n formats: [\n {\n name: \"\",\n thousandsSeparator: \" \",\n decimalSeparator: \".\",\n decimalPlaces: 2,\n nullValue: \" \",\n infinityValue: \"Infinity\",\n divideByZeroValue: \"Infinity\",\n },\n ],\n options: {\n grid: {\n showGrandTotals: \"off\",\n },\n },\n};\n\nconst ReportAllAnswersBySegmentByOrganization = (props) => {\n // For webdatarock values\n const reportRef = useRef();\n const formRef = useRef();\n const dispatch = useDispatch();\n\n const [reportConfiguration, setReportConfiguration] = useState(null);\n const [answerData, setAnswerData] = useState([]);\n\n useEffect(() => {\n fetchReportData();\n }, []);\n\n const fetchReportData = async () => {\n const params = { statType: \"AssessmentDetail\" };\n const { data } = await api.fetchAnswerStat(params);\n if (LOGINSTATE) console.log(\"pivot data: \", data);\n\n if (data && data.data && data.data.length > 0) {\n setAnswerData(data.data);\n if (LOGINSTATE) console.log(\"reportData: \", data.data);\n updateReport(data.data)\n }\n };\n\n const updateReport = (filteredData) => {\n setReportConfiguration(null);\n\n // if (country && organization && location && type && country.length > 0 && organization.length > 0 && location.length > 0 && type.length > 0) {\n let reportConfig = initReportConfiguration;\n // let filteredDataCustom = filteredData.map(({ date, organization_type, segment_code, segments_score, version }) => ({ date, organization_type, segment_code, segments_score, version }));\n let filteredDataCustom = filteredData.map(({ date, organization_type, segment_code, score, segments_score, version, country, user, organization }) => {\n let date_time = Moment.utc(date).format(\"YYYY-MM-DD hh:mm:ss A\");\n date = Moment.utc(date).format(\"YYYY-MM-DD\");\n // filteredDataCustom[\"segment_code\"] = \"Total\";\n return { date, date_time, segment_code, score, segments_score, version, country, user, organization };\n });\n if (LOGINSTATE) console.log(\"filteredDataCustom: \", filteredDataCustom);\n\n reportConfig[\"dataSource\"][\"data\"] = [\n {\n country: { type: \"string\" },\n date: { type: \"string\" },\n date_time: { type: \"string\" },\n organization: { type: \"string\" },\n score: { type: \"string\" },\n segment_code: { type: \"string\" },\n segments_score: { type: \"number\" },\n user: { type: \"string\" },\n version: { type: \"string\" },\n },\n ...filteredDataCustom,\n ];\n\n reportConfig[\"slice\"] = {\n rows: [{ uniqueName: \"country\" },\n { uniqueName: \"organization\" },\n { uniqueName: \"user\" },\n { uniqueName: \"date\" }],\n columns: [{\n uniqueName: \"segment_code\",\n filter: {\n \"members\": [\n \"segment_code.CH1\",\n \"segment_code.ICAT1\",\n \"segment_code.TIE 1\"\n ]\n }\n }],\n measures: [{ uniqueName: \"score\", aggregation: \"count\" }],\n drills: { drillAll: true },\n };\n if (LOGINSTATE) console.log(\"report\", reportConfig);\n\n setReportConfiguration(reportConfig);\n // } else {\n // // Not showing the pivot, otherwise it's not refreshing\n // }\n };\n\n const reportComplete = () => {\n if (reportRef.current && reportRef.webdatarocks) {\n if (LOGINSTATE) console.log(\"report: \", reportRef.webdatarocks.getReport());\n }\n };\n\n const customizeToolbar = (toolbar) => {\n let tabs = toolbar.getTabs(); // get all tabs from the toolbar\n toolbar.getTabs = function () {\n delete tabs[0]; // delete the first tab\n delete tabs[1];\n delete tabs[2];\n delete tabs[4];\n delete tabs[6];\n return tabs;\n };\n };\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* create survey questions */}\n \n \n \n {/* survey header */}\n \n
\n
\n

Overall Assessment Attends

\n
Country wise organization assessment attends breakdown
\n
\n
\n
\n\n {/* question content */}\n \n {reportConfiguration && !Lodash.isEmpty(reportConfiguration) ? (\n <>\n \n \n ) : null}\n \n\n {/* survey footer */}\n \n
\n \n
\n
\n \n );\n};\n\nexport default ReportAllAnswersBySegmentByOrganization;\n","import { TextField, Grid } from \"@material-ui/core\";\nimport AddCircleOutlineIcon from \"@material-ui/icons/AddCircleOutline\";\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\n\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { fetchCountry, updateMasterData } from \"actions/masterData\";\nimport { app_country } from \"helper\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport React, { useEffect, useState, useRef } from \"react\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport Lodash from \"lodash\";\n// reactstrap components\nimport { Card, CardBody, CardFooter, CardHeader, Col, Container, Row, Form, Button, Media, Table, FormGroup, InputGroup, InputGroupAddon, InputGroupText, Input } from \"reactstrap\";\n\nimport { ChsStyles } from \"constants/globalStyles\";\nimport { Tooltip } from \"@material-ui/core\";\n\nimport { Formik, useFormik } from \"formik\";\nimport * as Yup from \"yup\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport Pagination from \"react-responsive-pagination\";\nimport Config from \"config/config.json\";\nimport Moment from \"moment\";\n\nconst reviewSchema = Yup.object({\n countries: Yup.array().of(\n Yup.object({\n code: Yup.string(\"Enter code of country\").min(2, \"Code of country should be of minimum 2 characters length\").max(2, \"Code of country should be of maximum 2 characters length\").required(\"Code of country is required\"),\n name: Yup.string(\"Enter name of country\").min(2, \"Description should be of minimum 2 characters length\").max(500, \"Description should be of maximum 500 characters length\").required(\"Country is required\"),\n })\n ),\n});\n\nconst SurveyCreateTemplate = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [currentCountries, setCurrentCountries] = useState([{ code: null, name: \"\" }]);\n const [selectedCountry, setSelectedCountry] = useState(null)\n\n // pagination\n const itemPageSize = Config.ITEM_PAGE_SIZE;\n const [itemCurrent, setItemCurrent] = useState(1);\n const [itemPageContent, setItemPageContent] = useState([]);\n const [itemPageCount, setItemPageCount] = useState(1);\n // filter\n const [txtFilter, setTxtFilter] = useState(\"\");\n const [filteredContent, setFilteredContent] = useState([]);\n\n // To update fomik values\n const formRef = useRef();\n\n // get the details passed by the parameter to the page. Afterwards, process needed information\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect1\");\n dispatch(fetchCountry());\n }, []);\n\n const allCountry = useSelector((state) => state.masterData.countryAll);\n const allCountryLength = allCountry.length;\n if (LOGINSTATE) console.log(\"allCountry\", allCountry);\n if (LOGINSTATE) console.log(\"allCountryLength\", allCountryLength);\n\n useEffect(() => {\n setCurrentCountries(allCountry);\n if (LOGINSTATE) console.log(\"all countries: \", allCountry);\n }, [allCountry]);\n\n\n // process content with filter\n useEffect(() => {\n let updatedContent = Lodash.filter(currentCountries, function (item) {\n return (item.name.toLowerCase()).indexOf(txtFilter.toLowerCase()) > -1 || (item.code.toLowerCase()).indexOf(txtFilter.toLowerCase()) > -1;\n });\n setFilteredContent(updatedContent);\n if (formRef.current) {\n formRef.current.setFieldValue(\"countries\", updatedContent, false);\n }\n }, [currentCountries, txtFilter]);\n\n // process the pagination with page content\n useEffect(() => {\n if (LOGINSTATE) console.log(\"filteredContent.length: \", filteredContent.length);\n // Set the pagination count\n let currentPageCount = Math.ceil(filteredContent.length / itemPageSize);\n setItemPageCount(currentPageCount);\n\n // Set the pagination content\n if (filteredContent && filteredContent.length > 0) {\n // make sure the page doesn't exceed the array endings\n let startCount = (itemCurrent - 1) * itemPageSize < 0 ? 0 : (itemCurrent - 1) * itemPageSize;\n let endCount = itemCurrent * itemPageSize > filteredContent.length ? filteredContent.length : itemCurrent * itemPageSize;\n\n let updatedArray = Lodash.slice(filteredContent, startCount, endCount);\n if (updatedArray && updatedArray.length > 0) {\n setItemPageContent(updatedArray);\n } else {\n setItemPageContent([]);\n }\n } else {\n setItemPageContent([]);\n }\n }, [itemCurrent, filteredContent]);\n\n // handle change event of comments\n const handleCountryChange = (e, index, country) => {\n const { name, value } = e.target;\n let selectedItem = undefined\n\n if (country?._id) {\n selectedItem = Lodash.find(currentCountries, { _id: country._id })\n }\n else {\n const selectedList = Lodash.filter(currentCountries, { code: country.code, temp: country.temp })\n selectedItem = selectedList[selectedList.length - 1]\n }\n\n if (selectedItem) {\n selectedItem[name] = (name === 'code') ? value.toUpperCase() : value\n }\n setCurrentCountries([...currentCountries]);\n\n if (formRef.current) {\n formRef.current.setFieldValue(\"countries\", currentCountries, false);\n }\n\n };\n\n // handle click event of the Remove button of comment\n const handleCountryStatusClick = (index, country) => {\n let selectedItem = undefined\n\n if (country?._id) {\n selectedItem = Lodash.find(currentCountries, { _id: country._id })\n }\n else {\n const selectedList = Lodash.filter(currentCountries, { code: country.code, temp: country.temp })\n selectedItem = selectedList[selectedList.length - 1]\n }\n\n if (selectedItem) {\n selectedItem['status'] = !country.status\n }\n setCurrentCountries([...currentCountries]);\n\n if (formRef.current) {\n formRef.current.setFieldValue(\"countries\", currentCountries, false);\n formRef.current.handleSubmit();\n }\n };\n\n // handle click event of the Add button of comment\n // Note: Button is not appearing when the countries exceed initial page. This not needed, since all the counties are adding\n const handleCountryAddClick = () => {\n setCurrentCountries((currentCountries) => [...currentCountries, { code: \"\", name: \"\", app_country: \"No\", internationalized: \"No\", status: false, temp: Moment().format('YYYYMMDDHHmmSSS') }]);\n if (LOGINSTATE) console.log(\"add line\");\n\n if (formRef.current) {\n formRef.current.setFieldValue(\"countries\", currentCountries, false);\n }\n };\n\n\n const handleLanguageSaveClick = (e, country) => {\n e.preventDefault()\n if (formRef.current) {\n formRef.current.handleSubmit()\n }\n }\n\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* create survey questions */}\n \n
\n \n {/* survey header */}\n \n
\n
\n

Manage Regional Countries

\n
Countries for APP self assessment to be used
\n
\n
\n
\n\n {/* question content */}\n \n {/* https://www.iso.org/publication/PUB500001.html */}\n \n \n \n \n \n \n \n \n \n \n \n\n \n\n \n\n {\n if (LOGINSTATE) console.log(\"values\", values);\n const selectedCountryId = Lodash.indexOf(values.countries, selectedCountry)\n\n if (selectedCountryId > -1) {\n if (!values.countries[selectedCountryId]?._id) {\n let result = Lodash.filter(values.countries, { code: values.countries[selectedCountryId]?.code });\n if (result.length > 1) {\n confirmAlert({\n title: \"Error\",\n message: \"Duplicate country code '\" + values.countries[selectedCountryId]?.code + \"'\",\n buttons: [{ label: \"Ok\", onClick: () => { } }],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n return;\n }\n }\n\n const updatingCountry = {\n code: values.countries[selectedCountryId].code,\n name: values.countries[selectedCountryId].name,\n app_country: values.countries[selectedCountryId].app_country,\n status: values.countries[selectedCountryId].status,\n }\n\n if (values.countries[selectedCountryId]?._id) {\n updatingCountry['_id'] = values.countries[selectedCountryId]._id\n }\n\n console.log(\"!@# #### updateMasterData\", updatingCountry);\n dispatch(updateMasterData({ countries: [updatingCountry] }, history));\n }\n\n }}\n innerRef={formRef}\n >\n {(props) => (\n
\n
\n
\n \n \n
\n ORDER BY: IS APP COUNTRY | COUNTRY NAME\n
\n \n \n \n \n \n \n \n \n \n {\n if (LOGINSTATE) console.log(e.target.value);\n setTxtFilter(e.target.value);\n }}\n />\n \n \n \n
\n\n\n \n \n \n \n \n \n {/* */}\n \n \n\n {itemPageContent &&\n itemPageContent.length > 0 &&\n itemPageContent.map((x, i) => {\n return (\n <>\n \n \n \n \n \n \n \n );\n })}\n\n \n
ISO CodeCountry NameIs APP Country?Internationalized?Actions
\n e\n variant=\"outlined\"\n value={x.code}\n onChange={(e) => handleCountryChange(e, i, x)}\n onBlur={(e) => handleCountryChange(e, i, x)}\n style={ChsStyles.Question}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.countries && props.touched.countries && props.touched.countries[i]?.code && Boolean(props.errors.countries[i]?.code)}\n helperText={props.errors.countries && props.touched.countries && props.touched.countries[i]?.code ? props.errors.countries[i]?.code : \"\"}\n disabled={allCountry.length > (i + (itemCurrent - 1) * itemPageSize)}\n />\n \n e\n variant=\"outlined\"\n value={x.name}\n onChange={(e) => handleCountryChange(e, i, x)}\n onBlur={(e) => handleCountryChange(e, i, x)}\n style={ChsStyles.Question}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.countries && props.touched.countries && props.touched.countries[i]?.name && Boolean(props.errors.countries[i]?.name)}\n helperText={props.errors.countries && props.touched.countries && props.touched.countries[i]?.name ? props.errors.countries[i]?.name : \"\"}\n />\n \n e\n variant=\"outlined\"\n value={x.app_country}\n onChange={(e) => handleCountryChange(e, i, x)}\n onBlur={(e) => handleCountryChange(e, i, x)}\n style={x.app_country === 'Yes' ? { ...ChsStyles.Question, backgroundColor: '#FEE9E8' } : ChsStyles.Question}\n SelectProps={{\n native: true,\n }}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.countries && props.touched.countries && props.touched.countries[i]?.app_country && Boolean(props.errors.countries[i]?.app_country)}\n helperText={props.errors.countries && props.touched.countries && props.touched.countries[i]?.app_country ? props.errors.countries[i]?.app_country : \"\"}\n >\n {app_country.map((item) => (\n \n ))}\n \n \n
\n \n {\n // setSelectedCountry(i + (itemCurrent - 1) * itemPageSize);\n setSelectedCountry(x)\n handleCountryStatusClick(i, x);\n }}\n >\n {x.status ? : }\n
\n \n \n {\n // setSelectedCountry(i + (itemCurrent - 1) * itemPageSize)\n setSelectedCountry(x)\n handleLanguageSaveClick(e, x)\n }}\n >\n \n \n\n \n {/* Adding all the countries */}\n {currentCountries.length - 1 === (i + (itemCurrent - 1) * itemPageSize)\n && \n {\n handleCountryAddClick()\n }}\n >\n \n \n \n }\n \n
\n\n \n \n {props.submitCount > 0 && !props.isValid ? (\n \n There are errors! Please correct and retry.\n \n ) : null}\n \n \n\n {/* \n \n \n \n UPDATE ALL CHANGES\n \n \n */}\n \n )}\n \n
\n\n {/* pagination */}\n \n \n \n {itemPageCount && itemPageCount > 0 ? (\n {\n setItemCurrent(current);\n }}\n />\n ) : null}\n \n \n \n\n {/* survey footer */}\n \n \n \n {\n // history.goBack();\n window.history.back();\n }}\n >\n BACK\n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default SurveyCreateTemplate;\n","import { Grid, TextField } from \"@material-ui/core\";\nimport AddCircleOutlineIcon from \"@material-ui/icons/AddCircleOutline\";\nimport CheckCircleIcon from \"@material-ui/icons/CheckCircle\";\nimport { fetchMasterDataLanguageAll, updateMasterDataLanguage } from \"actions/masterData\";\n// core components\nimport PageHeader from \"components/Headers/PageHeader.js\";\nimport { LOGINSTATE } from \"../../../config/config.json\";\nimport { ChsStyles } from \"constants/globalStyles\";\nimport { Formik } from \"formik\";\nimport React, { useEffect, useRef, useState } from \"react\";\nimport \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\nimport { useDispatch, useSelector } from \"react-redux\";\nimport { useHistory } from \"react-router-dom\";\nimport Lodash from \"lodash\";\n// reactstrap components\nimport { Button, Card, CardBody, CardFooter, CardHeader, Col, Container, Form, FormGroup, Input, InputGroup, InputGroupAddon, InputGroupText, Media, Row, Table } from \"reactstrap\";\nimport { confirmAlert } from \"react-confirm-alert\";\nimport * as yup from \"yup\";\nimport { int_language } from \"helper\";\nimport Config from \"config/config.json\";\nimport Pagination from \"react-responsive-pagination\";\nimport { Tooltip } from \"@material-ui/core\";\nimport { GlobalStylesColor } from \"constants/globalStyles\";\nimport Moment from \"moment\";\n\nconst reviewSchema = yup.object({\n languages: yup.array().of(\n yup.object({\n code: yup.string(\"Enter code of language\").min(2, \"Code of language should be of minimum 2 characters length\").max(10, \"Code of language should be of maximum 10 characters length\").required(\"Code of language is required\"),\n name: yup.string(\"Enter name of language\").min(2, \"Description should be of minimum 2 characters length\").max(500, \"Description should be of maximum 500 characters length\").required(\"Language is required\"),\n })\n ),\n});\n\nconst SurveyCreateTemplate = (props) => {\n // dispatch and history\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [currentLanguages, setCurrentLanguages] = useState([{ code: null, name: \"\" }]);\n const [selectedLanguage, setSelectedLanguage] = useState(-1)\n\n // filter\n const [txtFilter, setTxtFilter] = useState(\"\");\n const [filteredContent, setFilteredContent] = useState([]);\n\n // To update fomik values\n const formRef = useRef();\n\n // get the details passed by the parameter to the page. Afterwards, process needed information\n useEffect(() => {\n if (LOGINSTATE) console.log(\"---------------> called effect1\");\n dispatch(fetchMasterDataLanguageAll());\n }, []);\n\n const allLanguage = useSelector((state) => state.masterData.languageAll);\n if (LOGINSTATE) console.log(\"allLanguage\", allLanguage);\n\n useEffect(() => {\n setCurrentLanguages(allLanguage);\n }, [allLanguage]);\n\n // process content with filter. Ignore locale\n useEffect(() => {\n let updatedContent = Lodash.filter(currentLanguages, function (item) {\n return ((item.name.toLowerCase()).indexOf(txtFilter.toLowerCase()) > -1 || (item.code.toLowerCase()).indexOf(txtFilter.toLowerCase()) > -1);\n });\n setFilteredContent(updatedContent);\n if (formRef.current) {\n formRef.current.setFieldValue(\"languages\", updatedContent, false);\n }\n }, [currentLanguages, txtFilter]);\n\n // handle change event of comments\n const handleLanguageChange = (e, index, language) => {\n if (LOGINSTATE) console.log(\"e target\", e.target);\n console.log('!@# ### currentLanguages: ', currentLanguages)\n const { name, value } = e.target;\n\n let selectedItem = undefined\n\n if (language?._id) {\n selectedItem = Lodash.find(currentLanguages, { _id: language._id })\n }\n else {\n const selectedList = Lodash.filter(currentLanguages, { code: language.code, temp: language.temp })\n selectedItem = selectedList[selectedList.length - 1]\n }\n\n if (selectedItem) {\n selectedItem[name] = value\n }\n setCurrentLanguages([...currentLanguages]);\n\n if (formRef.current) {\n formRef.current.setFieldValue(\"languages\", currentLanguages, false);\n }\n };\n\n // handle click event of the Add button of comment\n const handleLanguageAddClick = () => {\n setCurrentLanguages([...currentLanguages, { code: \"\", name: \"\", dir: \"ltr\", int: \"No\", temp: Moment().format('YYYYMMDDHHmmSSS') }]);\n\n if (formRef.current) {\n formRef.current.setFieldValue(\"languages\", currentLanguages, false);\n }\n };\n\n const handleLanguageSaveClick = (e, x) => {\n e.preventDefault()\n if (formRef.current) {\n formRef.current.handleSubmit();\n }\n }\n\n return (\n <>\n \n\n {/* Page content */}\n \n {/* create survey questions */}\n \n
\n \n {/* survey header */}\n \n
\n
\n

Manage Languages

\n
Languages for APP self assessment to be used
\n
\n
\n
\n\n {/* question content */}\n \n {/* https://www.iso.org/publication/PUB500001.html */}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n
reCAPTCHA are supported for languages as per 2022-August
\n \n
\n\n {\n console.log(\"values\", values);\n\n if (selectedLanguage > -1) {\n if (!values.languages[selectedLanguage]?._id) {\n let result = Lodash.filter(values, { code: values.languages[selectedLanguage]?.code });\n if (result.length > 1) {\n confirmAlert({\n title: \"Error\",\n message: \"Duplicate country code '\" + values.languages[selectedLanguage]?.code + \"'\",\n buttons: [{ label: \"Ok\", onClick: () => { } }],\n closeOnEscape: false,\n closeOnClickOutside: false,\n });\n return;\n }\n }\n\n const updatingLanguage = {\n code: values.languages[selectedLanguage].code,\n dir: values.languages[selectedLanguage].dir,\n int: values.languages[selectedLanguage].int,\n name: values.languages[selectedLanguage].name,\n }\n\n if (values.languages[selectedLanguage]?._id) {\n updatingLanguage['_id'] = values.languages[selectedLanguage]._id\n }\n\n console.log(\"!@# #### updateMasterData\", updatingLanguage);\n dispatch(updateMasterDataLanguage({ languages: [updatingLanguage] }, history));\n }\n\n }}\n innerRef={formRef}\n >\n {(props) => (\n
\n
\n
\n
\n
Attend below items to have full localized experience:
\n
\n
    \n
  • Add localization for ‘Assessment Management’
  • \n
  • Add localization for ‘Recommendations’
  • \n
  • Add localization in ‘Master Data’
  • \n
  • Add internationalization resources in ‘Local Resources’
  • \n
\n
\n
\n
\n \n \n
\n ORDER BY: LANGUAGE CODE\n
\n \n \n \n \n \n \n \n \n \n {\n if (LOGINSTATE) console.log(e.target.value);\n setTxtFilter(e.target.value);\n }}\n />\n \n \n \n
\n\n \n \n \n \n \n \n \n \n \n\n {/* {currentLanguages.map((x, i) => { */}\n {filteredContent.map((x, i) => {\n return (\n \n \n \n \n \n \n \n );\n })}\n \n
Language CodeLanguage NameDirectionInternationalized?Actions
\n e\n variant=\"outlined\"\n value={x.code}\n onChange={(e) => handleLanguageChange(e, i, x)}\n onBlur={(e) => handleLanguageChange(e, i, x)}\n style={ChsStyles.Question}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.languages && props.touched.languages && props.touched.languages[i]?.code && Boolean(props.errors.languages[i]?.code)}\n helperText={props.errors.languages && props.touched.languages && props.touched.languages[i]?.code ? props.errors.languages[i]?.code : \"\"}\n disabled={allLanguage.length > i}\n />\n \n e\n variant=\"outlined\"\n value={x.name}\n onChange={(e) => handleLanguageChange(e, i, x)}\n onBlur={(e) => handleLanguageChange(e, i, x)}\n style={ChsStyles.Question}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.languages && props.touched.languages && props.touched.languages[i]?.name && Boolean(props.errors.languages[i]?.name)}\n helperText={props.errors.languages && props.touched.languages && props.touched.languages[i]?.name ? props.errors.languages[i]?.name : \"\"}\n />\n \n e\n variant=\"outlined\"\n value={x.dir}\n onChange={(e) => handleLanguageChange(e, i, x)}\n onBlur={(e) => handleLanguageChange(e, i, x)}\n style={ChsStyles.Question}\n SelectProps={{\n native: true,\n }}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.languages && props.touched.languages && props.touched.languages[i]?.dir && Boolean(props.errors.languages[i]?.dir)}\n helperText={props.errors.languages && props.touched.languages && props.touched.languages[i]?.dir ? props.errors.languages[i]?.dir : \"\"}\n >\n \n \n \n \n e\n variant=\"outlined\"\n value={x.int}\n onChange={(e) => handleLanguageChange(e, i, x)}\n onBlur={(e) => handleLanguageChange(e, i, x)}\n style={x.int === 'Yes' ? { ...ChsStyles.Question, backgroundColor: '#FEE9E8' } : ChsStyles.Question}\n SelectProps={{\n native: true,\n }}\n className={\"form-control-alternative form-control-edit\"}\n error={props.errors.languages && props.touched.languages && props.touched.languages[i]?.int && Boolean(props.errors.languages[i]?.int)}\n helperText={props.errors.languages && props.touched.languages && props.touched.languages[i]?.int ? props.errors.languages[i]?.int : \"\"}\n >\n {int_language.map((item) => (\n \n ))}\n \n \n
\n \n {\n setSelectedLanguage(i)\n handleLanguageSaveClick(e, x)\n }}\n >\n \n
\n \n {currentLanguages.length - 1 === i &&\n \n { handleLanguageAddClick() }}\n >\n \n \n \n }\n \n
\n\n \n \n {props.submitCount > 0 && !props.isValid ? (\n \n There are errors! Please correct and retry.\n \n ) : null}\n \n \n\n \n )}\n \n
\n\n {/* survey footer */}\n \n \n \n {\n window.history.back();\n }}\n >\n BACK\n \n \n \n \n
\n
\n
\n
\n \n );\n};\n\nexport default SurveyCreateTemplate;\n","import \"react-confirm-alert/src/react-confirm-alert.css\"; // Import css\r\nimport { Tooltip } from \"@material-ui/core\";\r\n// core components\r\nimport PageHeader from \"components/Headers/PageHeader.js\";\r\nimport { LOGINSTATE, SUPPORT_EMAIL } from \"../../../config/config.json\";\r\nimport { GlobalStylesColor } from \"constants/globalStyles\";\r\nimport Lodash from \"lodash\";\r\nimport React, { useEffect, useState, useRef } from \"react\";\r\nimport { useDispatch, useSelector } from \"react-redux\";\r\nimport { useHistory, useLocation } from \"react-router-dom\";\r\nimport { ChsStyles } from \"constants/globalStyles\";\r\nimport { TextField } from \"@material-ui/core\";\r\nimport { Badge, Card, CardHeader, Container, Row, Table, CardBody, CardFooter, CardTitle, Col, Form, Button } from \"reactstrap\";\r\nimport PublicOutlinedIcon from \"@material-ui/icons/PublicOutlined\";\r\nimport VpnLockOutlinedIcon from \"@material-ui/icons/VpnLockOutlined\";\r\nimport { Formik } from \"formik\";\r\nimport * as Yup from \"yup\";\r\nimport { fetchLocalizationContent, updateLocalizationContent, createLocalizationContent, fetchMasterDataLanguageAll } from \"actions/masterData\";\r\nimport { confirmAlert } from \"react-confirm-alert\";\r\nimport { initialValues_assessmentPage } from \"helper\";\r\n\r\nconst LocaleRow = ({ locale, position, editClick, statusClick }) => (\r\n // LANGUAGECODE |\tSAMPLE(APP_NEXT) |\tPUBLISHED |\tACTIONS\r\n\r\n \r\n {locale.languageCode}\r\n {locale?.assessmentPage?.app_next}\r\n \r\n {locale.status ? (\r\n \r\n \r\n YES\r\n \r\n ) : (\r\n \r\n \r\n NO\r\n \r\n )}\r\n \r\n \r\n
\r\n \r\n {\r\n editClick(e, locale, position);\r\n window.scrollTo(0, 0);\r\n }}\r\n >\r\n \r\n
\r\n \r\n \r\n {\r\n statusClick(e, locale);\r\n }}\r\n >\r\n {locale.status ? : }\r\n \r\n \r\n \r\n \r\n \r\n);\r\n\r\nconst reviewSchema = Yup.object({\r\n languageCode: Yup.string().required(\"Language is required\"),\r\n});\r\n\r\n// export function\r\nconst SystemLocalization = () => {\r\n // dispatch and history\r\n const dispatch = useDispatch();\r\n const history = useHistory();\r\n const location = useLocation();\r\n const formRef = useRef();\r\n\r\n const [chsLanguages, setChsLanguages] = useState([]); // For translations\r\n const [systemLocaleAll, setSystemLocaleAll] = useState([]);\r\n const [systemLocaleDetail, setSystemLocaleDetail] = useState({});\r\n const [showingDetails, setShowingDetails] = useState(false);\r\n const [refreshCounter, setRefreshCounter] = useState(0);\r\n\r\n useEffect(() => {\r\n dispatch(fetchLocalizationContent());\r\n dispatch(fetchMasterDataLanguageAll());\r\n }, []);\r\n\r\n // get system content\r\n const systemContent = useSelector((state) => state.masterData.localizationContentAll);\r\n useEffect(() => {\r\n if (LOGINSTATE) console.log(\"systemContent from server: \", systemContent);\r\n if (systemContent !== undefined && systemContent !== null && Lodash.isArray(systemContent)) {\r\n setSystemLocaleAll(systemContent);\r\n }\r\n }, [systemContent]);\r\n\r\n const languageAll = useSelector((state) => state.masterData.languageAll);\r\n useEffect(() => {\r\n if (LOGINSTATE) console.log(\"languageAll: \", languageAll);\r\n }, [languageAll, systemLocaleDetail]);\r\n\r\n useEffect(() => {\r\n if (LOGINSTATE) console.log(\"systemLocaleAll effect: \", systemLocaleDetail);\r\n\r\n // if (systemLocaleAll && systemLocaleDetailPosition && systemLocaleDetailPosition > -1 && formRef.current && !Lodash.isEmpty(systemLocaleAll[systemLocaleDetailPosition])) {\r\n if (systemLocaleDetail && systemLocaleDetail.assessmentPage && !Lodash.isEmpty(systemLocaleDetail.assessmentPage) && formRef.current && showingDetails) {\r\n let formikSystemLocaleDetail = systemLocaleDetail.assessmentPage;\r\n if (LOGINSTATE) console.log(\"populate the formik with details: \", formikSystemLocaleDetail);\r\n formRef.current?.resetForm();\r\n formRef.current.setFieldValue(\"languageCode\", formikSystemLocaleDetail?.languageCode, false);\r\n formRef.current.setFieldValue(\"app_ok\", formikSystemLocaleDetail.app_ok, false);\r\n formRef.current.setFieldValue(\"app_yes\", formikSystemLocaleDetail.app_yes, false);\r\n formRef.current.setFieldValue(\"app_no\", formikSystemLocaleDetail.app_no, false);\r\n formRef.current.setFieldValue(\"app_next\", formikSystemLocaleDetail.app_next, false);\r\n formRef.current.setFieldValue(\"app_back\", formikSystemLocaleDetail.app_back, false);\r\n formRef.current.setFieldValue(\"app_success\", formikSystemLocaleDetail.app_success, false);\r\n formRef.current.setFieldValue(\"app_error\", formikSystemLocaleDetail.app_error, false);\r\n formRef.current.setFieldValue(\"app_partly_save\", formikSystemLocaleDetail.app_partly_save, false);\r\n formRef.current.setFieldValue(\"app_complete\", formikSystemLocaleDetail.app_complete, false);\r\n formRef.current.setFieldValue(\"app_sorry\", formikSystemLocaleDetail.app_sorry, false);\r\n formRef.current.setFieldValue(\"app_no_active_survey\", formikSystemLocaleDetail.app_no_active_survey, false);\r\n formRef.current.setFieldValue(\"app_download\", formikSystemLocaleDetail.app_download, false);\r\n formRef.current.setFieldValue(\"assessment_completion\", formikSystemLocaleDetail.assessment_completion, false);\r\n formRef.current.setFieldValue(\"chs_short\", formikSystemLocaleDetail.chs_short, false);\r\n formRef.current.setFieldValue(\"icat_short\", formikSystemLocaleDetail.icat_short, false);\r\n formRef.current.setFieldValue(\"tie_short\", formikSystemLocaleDetail.tie_short, false);\r\n formRef.current.setFieldValue(\"app_assessment_switch_title\", formikSystemLocaleDetail.app_assessment_switch_title, false);\r\n formRef.current.setFieldValue(\"app_assessment_step_01\", formikSystemLocaleDetail.app_assessment_step_01, false);\r\n formRef.current.setFieldValue(\"app_assessment_step_01_message_01\", formikSystemLocaleDetail.app_assessment_step_01_message_01, false);\r\n formRef.current.setFieldValue(\"app_assessment_step_02\", formikSystemLocaleDetail.app_assessment_step_02, false);\r\n formRef.current.setFieldValue(\"app_assessment_step_02_message_02\", formikSystemLocaleDetail.app_assessment_step_02_message_02, false);\r\n formRef.current.setFieldValue(\"app_assessment_switch_message\", formikSystemLocaleDetail.app_assessment_switch_message, false);\r\n formRef.current.setFieldValue(\"app_assessment_incomplete_title\", formikSystemLocaleDetail.app_assessment_incomplete_title, false);\r\n formRef.current.setFieldValue(\"app_assessment_institute_details\", formikSystemLocaleDetail.app_assessment_institute_details, false);\r\n formRef.current.setFieldValue(\"app_assessment_step_01_title\", formikSystemLocaleDetail.app_assessment_step_01_title, false);\r\n formRef.current.setFieldValue(\"app_assessment_step_01_message\", formikSystemLocaleDetail.app_assessment_step_01_message, false);\r\n formRef.current.setFieldValue(\"app_assessment_sentence_ref\", formikSystemLocaleDetail.app_assessment_sentence_ref, false);\r\n formRef.current.setFieldValue(\"app_assessment_sentence\", formikSystemLocaleDetail.app_assessment_sentence, false);\r\n formRef.current.setFieldValue(\"app_assessment_organization_details\", formikSystemLocaleDetail.app_assessment_organization_details, false);\r\n formRef.current.setFieldValue(\"app_assessment_answer_opt1\", formikSystemLocaleDetail.app_assessment_answer_opt1, false);\r\n formRef.current.setFieldValue(\"app_assessment_answer_opt2\", formikSystemLocaleDetail.app_assessment_answer_opt2, false);\r\n formRef.current.setFieldValue(\"app_assessment_answer_opt3\", formikSystemLocaleDetail.app_assessment_answer_opt3, false);\r\n formRef.current.setFieldValue(\"app_assessment_answer_opt4\", formikSystemLocaleDetail.app_assessment_answer_opt4, false);\r\n formRef.current.setFieldValue(\"app_assessment_answer_opt5\", formikSystemLocaleDetail.app_assessment_answer_opt5, false);\r\n formRef.current.setFieldValue(\"app_assessment_answer_opt6\", formikSystemLocaleDetail.app_assessment_answer_opt6, false);\r\n formRef.current.setFieldValue(\"chsat\", formikSystemLocaleDetail.chsat, false);\r\n formRef.current.setFieldValue(\"icat\", formikSystemLocaleDetail.icat, false);\r\n formRef.current.setFieldValue(\"tie\", formikSystemLocaleDetail.tie, false);\r\n formRef.current.setFieldValue(\"answer_remark\", formikSystemLocaleDetail.answer_remark, false);\r\n formRef.current.setFieldValue(\"chs_app\", formikSystemLocaleDetail.chs_app, false);\r\n formRef.current.setFieldValue(\"print_preview\", formikSystemLocaleDetail.print_preview, false);\r\n formRef.current.setFieldValue(\"segment_score\", formikSystemLocaleDetail.segment_score, false);\r\n formRef.current.setFieldValue(\"total_score\", formikSystemLocaleDetail.total_score, false);\r\n formRef.current.setFieldValue(\"version\", formikSystemLocaleDetail.version, false);\r\n formRef.current.setFieldValue(\"font_size\", formikSystemLocaleDetail.font_size, false);\r\n formRef.current.setFieldValue(\"self_assessment\", formikSystemLocaleDetail.self_assessment, false);\r\n formRef.current.setFieldValue(\"recommendations_self_assessment\", formikSystemLocaleDetail.recommendations_self_assessment, false);\r\n formRef.current.setFieldValue(\"pdf_version\", formikSystemLocaleDetail.pdf_version, false);\r\n formRef.current.setFieldValue(\"print\", formikSystemLocaleDetail.print, false);\r\n formRef.current.setFieldValue(\"app_tool\", formikSystemLocaleDetail.app_tool, false);\r\n formRef.current.setFieldValue(\"insitutional_details\", formikSystemLocaleDetail.insitutional_details, false);\r\n formRef.current.setFieldValue(\"overall\", formikSystemLocaleDetail.overall, false);\r\n formRef.current.setFieldValue(\"segment\", formikSystemLocaleDetail.segment, false);\r\n formRef.current.setFieldValue(\"assessment_answer\", formikSystemLocaleDetail.assessment_answer, false);\r\n formRef.current.setFieldValue(\"no_recommendation\", formikSystemLocaleDetail.no_recommendation, false);\r\n formRef.current.setFieldValue(\"update\", formikSystemLocaleDetail.update, false);\r\n formRef.current.setFieldValue(\"answer\", formikSystemLocaleDetail.answer, false);\r\n formRef.current.setFieldValue(\"no_remark\", formikSystemLocaleDetail.no_remark, false);\r\n formRef.current.setFieldValue(\"password_invalid\", formikSystemLocaleDetail.password_invalid, false);\r\n formRef.current.setFieldValue(\"user_not_register\", formikSystemLocaleDetail.user_not_register, false);\r\n formRef.current.setFieldValue(\"user_unlink\", formikSystemLocaleDetail.user_unlink, false);\r\n formRef.current.setFieldValue(\"user_deactivate\", formikSystemLocaleDetail.user_deactivate, false);\r\n formRef.current.setFieldValue(\"user_not_create\", formikSystemLocaleDetail.user_not_create, false);\r\n formRef.current.setFieldValue(\"organization_deactivate\", formikSystemLocaleDetail.organization_deactivate, false);\r\n formRef.current.setFieldValue(\"location_deactivate\", formikSystemLocaleDetail.location_deactivate, false);\r\n formRef.current.setFieldValue(\"login_message\", formikSystemLocaleDetail.login_message, false);\r\n\r\n formRef.current.setFieldValue(\"user_successfully_created\", formikSystemLocaleDetail.user_successfully_created, false);\r\n formRef.current.setFieldValue(\"session_expired\", formikSystemLocaleDetail.session_expired, false);\r\n\r\n let finalLang = Lodash.filter(languageAll, { code: formikSystemLocaleDetail.languageCode });\r\n setChsLanguages(finalLang);\r\n } else if (formRef.current && showingDetails) {\r\n formRef.current?.resetForm();\r\n }\r\n\r\n setRefreshCounter(refreshCounter + 1);\r\n }, [systemLocaleDetail]);\r\n\r\n const handleStatusClick = (e, locale) => {\r\n e.preventDefault();\r\n if (LOGINSTATE) console.log(\"locale\", locale);\r\n\r\n let valuesTrue = {\r\n contentId: locale._id,\r\n status: false,\r\n assessmentPage: locale.assessmentPage,\r\n };\r\n\r\n let valuesFalse = {\r\n contentId: locale._id,\r\n status: true,\r\n assessmentPage: locale.assessmentPage,\r\n };\r\n\r\n locale.status ? dispatch(updateLocalizationContent(valuesTrue, history)) : dispatch(updateLocalizationContent(valuesFalse, history));\r\n };\r\n\r\n const handleViewClick = (e, locale) => {\r\n e.preventDefault();\r\n };\r\n\r\n const handleEditClick = (e, locale, position) => {\r\n e.preventDefault();\r\n setSystemLocaleDetail(locale);\r\n setShowingDetails(true);\r\n };\r\n\r\n const handleCreateClick = (e, locale, type) => {\r\n e.preventDefault();\r\n };\r\n\r\n const handleCreateNewClick = (e, locale, type) => {\r\n e.preventDefault();\r\n\r\n let finalLang = [];\r\n\r\n if (languageAll !== undefined && languageAll !== null) {\r\n finalLang = Lodash.reject(languageAll, function (currentLang) {\r\n return Lodash.find(systemContent, { languageCode: currentLang.code });\r\n });\r\n\r\n setChsLanguages(finalLang);\r\n }\r\n\r\n if (Lodash.isEmpty(finalLang)) {\r\n confirmAlert({\r\n title: \"Error\",\r\n message: \"Localizations are exist for all languages.\",\r\n buttons: [\r\n {\r\n label: \"Ok\",\r\n onClick: () => { },\r\n },\r\n ],\r\n closeOnEscape: false,\r\n closeOnClickOutside: false,\r\n });\r\n } else {\r\n setSystemLocaleDetail({});\r\n setShowingDetails(true);\r\n }\r\n };\r\n\r\n const updateLocales = (values) => {\r\n if (LOGINSTATE) console.log(\"formik values: \", values);\r\n\r\n if (systemLocaleDetail && systemLocaleDetail._id) {\r\n let params = {\r\n contentId: systemLocaleDetail._id,\r\n assessmentPage: values,\r\n };\r\n dispatch(updateLocalizationContent(params, history));\r\n } else {\r\n for (const locale of systemLocaleAll) {\r\n if (locale.languageCode === values.languageCode) {\r\n confirmAlert({ title: \"Error\", message: \"Locale already exists\", buttons: [{ label: \"Ok\", onClick: () => { } }], closeOnEscape: false, closeOnClickOutside: false });\r\n return;\r\n }\r\n }\r\n let params = {\r\n languageCode: values.languageCode,\r\n assessmentPage: values,\r\n };\r\n dispatch(createLocalizationContent(params, history));\r\n }\r\n };\r\n\r\n // handle change event of the file\r\n const handleFileChangePrimer = async (e, props) => {\r\n try {\r\n // const files = e.target.files;\r\n const file = e.target.files[0];\r\n console.log(file);\r\n if (file) {\r\n formRef.current.setFieldValue(\"Primer\", file, false);\r\n }\r\n } catch (err) {\r\n if (LOGINSTATE) console.log(\"file error\", err);\r\n }\r\n };\r\n\r\n // handle change event of the file\r\n const handleFileChangeLogo = async (e, props) => {\r\n try {\r\n // const files = e.target.files;\r\n const file = e.target.files[0];\r\n if (LOGINSTATE) console.log(file);\r\n if (file) {\r\n formRef.current.setFieldValue(\"Logo\", file, false);\r\n }\r\n } catch (err) {\r\n if (LOGINSTATE) console.log(\"file error\", err);\r\n }\r\n };\r\n\r\n return (\r\n <>\r\n \r\n\r\n {/* Page content */}\r\n \r\n {/* locale tags */}\r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

Localization

\r\n
Standard localization tags
\r\n
\r\n
\r\n
\r\n
\r\n\r\n \r\n {\r\n console.log(\"values\", values);\r\n updateLocales(values);\r\n }}\r\n innerRef={formRef}\r\n >\r\n {(props) => (\r\n
\r\n \r\n \r\n \r\n \r\n {chsLanguages.map((key, i) => {\r\n {\r\n if (LOGINSTATE) console.log(\"key code\", key.code);\r\n }\r\n {\r\n if (LOGINSTATE) console.log(\"props.values.languageCode\", props.values.languageCode);\r\n }\r\n return (\r\n \r\n );\r\n })}\r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Common statements\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n {/* \r\n \r\n */}\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Answer options\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Assessment statements\r\n
\r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {props.submitCount > 0 && !props.isValid ?
The translation schema contain errors.
: null}\r\n \r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n
\r\n
\r\n Login statements\r\n
\r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n )}\r\n \r\n
\r\n\r\n {/* localization footer */}\r\n \r\n \r\n \r\n {\r\n window.history.back();\r\n }}\r\n >\r\n BACK\r\n \r\n\r\n {\r\n if (formRef.current) {\r\n formRef.current.handleSubmit();\r\n }\r\n }}\r\n >\r\n SAVE\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n {/* localization details */}\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n

Available APP Locales

\r\n {/*
Assessment should separately localize for below Locales
*/}\r\n
\r\n
\r\n \r\n {\r\n handleCreateNewClick(e);\r\n }}\r\n >\r\n \r\n
\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {systemLocaleAll.map((locale, i) => {\r\n return ;\r\n })}\r\n \r\n
Language CodeSample (app_next)PublishedActions
\r\n \r\n \r\n
\r\n
\r\n \r\n );\r\n};\r\n\r\nexport default SystemLocalization;\r\n","import Index from \"views/Index\";\nimport IndexUser from \"views/IndexUser\";\n\nimport Forum from \"views/pages/forum/Forum\";\n// import FAQ from \"views/pages/forum/Faq\";\nimport FAQRegistered from \"views/pages/forum/FaqRegistered\";\nimport FAQPublic from \"views/pages/forum/FaqPublic\";\nimport ForumSubTopic from \"views/pages/forum/ForumSubTopic\";\nimport ForumQuestion from \"views/pages/forum/ForumQuestion\";\nimport ForumTopicForm from \"views/pages/forum/ForumTopicForm\";\nimport ForumSubTopicForm from \"views/pages/forum/ForumSubTopicForm\";\nimport ForumQuestionFrom from \"views/pages/forum/ForumQuestionFrom\";\nimport ForumAnswerForm from \"views/pages/forum/ForumAnswerForm\";\n\nimport User from \"views/pages/user/User\";\nimport Login from \"views/pages/user/Login\";\nimport Profile from \"views/pages/user/Profile\";\nimport ProfileByAdmin from \"views/pages/user/ProfileByAdmin\";\nimport Register from \"views/pages/user/Register\";\nimport RegisterAdmin from \"views/pages/user/RegisterAdmin\";\nimport Landing from \"views/pages/user/Landing\";\n// import Terms from \"views/pages/user/Terms\";\nimport PrivacyPolicy from \"views/pages/user/PrivacyPolicy\";\nimport PrivacyPolicyPublic from \"views/pages/user/PublicUserPrivacyPolicy\";\nimport ResetPassword from \"views/pages/user/ResetPassword\";\n\nimport Survey from \"views/pages/survey/Survey\";\nimport SurveyCreateTemplate from \"views/pages/survey/SurveyCreateTemplate\";\n// import SurveyEditTemplate from \"views/pages/survey/SurveyEditTemplate\";\nimport SurveyCreateTemplateQuestion from \"views/pages/survey/SurveyCreateTemplateQuestion\";\nimport SurveyLocalization from \"views/pages/survey/SurveyLocalization\";\nimport SurveyLocalizationLanguage from \"views/pages/survey/SurveyLocalizationLanguage\";\nimport SurveyLocalizationLanguageQuestion from \"views/pages/survey/SurveyLocalizationLanguageQuestion\";\n\nimport AnswerInstitute from \"views/pages/survey/AnswerInstitute\";\nimport AnswerCreate from \"views/pages/survey/AnswerCreate\";\nimport AnswerContinue from \"views/pages/survey/AnswerContinue\";\nimport AnswerComplete from \"views/pages/survey/AnswerComplete\";\nimport AnswerHistory from \"views/pages/survey/AnswerHistory\";\nimport GeneratePdf from \"views/pages/survey/AnswerPrintAssessment\";\n// import AnswerPrint from \"views/pages/survey/AnswerPrint\";\nimport PrintAnswersAndGraph from \"views/pages/survey/GraphAnswerPrint\";\nimport GraphPrint from \"views/pages/survey/GraphPrint\";\nimport Graph from \"views/pages/survey/Graph\";\nimport PrintFull from \"views/pages/survey/AnswerPrintTemplateByHtmlExtend\";\n\nimport Recommendation from \"views/pages/recommendation/Recommendation\";\nimport RecommendationLocalization from \"views/pages/recommendation/RecommendationLocalization\";\nimport RecommendationDetails from \"views/pages/recommendation/RecommendationDetails\";\nimport RecommendationDetailsCreate from \"views/pages/recommendation/RecommendationDetailsCreate\";\nimport RecommendationDetailsEdit from \"views/pages/recommendation/RecommendationDetailsEdit\";\n\nimport Organization from \"views/pages/organization/Organization\";\nimport OrganizationDetails from \"views/pages/organization/OrganizationDetails\";\n\nimport Resource from \"views/pages/resources/Resource\";\nimport ResourceDetails from \"views/pages/resources/ResourceDetails\";\nimport ResourceDetailsi18 from \"views/pages/resources/ResourceDetailsi18\";\n\nimport ReportAllAnswers from \"views/pages/report/ReportAllAnswers\";\nimport ReportAllAnswersByUser from \"views/pages/report/ReportAllAnswersByUser\";\n// import ReportAllAnswersByCountry from \"views/pages/report/ReportAllAnswersByCountry\";\n// import ReportAllAnswersBySegment from \"views/pages/report/ReportAllAnswersBySegment\";\nimport ReportAllAnswersBySegmentByOrganization from \"views/pages/report/ReportAllAnswersBySegmentByOrganization\";\nimport ReportAllOrganizationsByCountry from \"views/pages/report/ReportAllOrganizationsByCountry\";\nimport ReportAllAttemptedOrganizationsByCountry from \"views/pages/report/ReportAllAttemptedOrganizationsByCountry\";\nimport AnswerCompleteInReport from \"views/pages/report/ReportSurveyCompleted\";\nimport ReportAllAnswersCustom from \"views/pages/report/ReportAllAnswersCustom\";\n\nimport Regions from \"views/pages/masterData/Regions\";\nimport Languages from \"views/pages/masterData/Languages\";\n// import LandingPage from \"views/pages/masterData/LandingPage\";\nimport SystemLocalization from \"views/pages/masterData/SystemLocalization\";\n\n// import Tables from \"views/pages/Tables\";\n// import Icons from \"views/pages/Icons\";\n\nlet currentUser = localStorage.getItem(\"userDetails\");\nlet jUser = JSON.parse(currentUser);\nlet uRole = currentUser && jUser && jUser.user && jUser.user.urole ? jUser.user.urole : \"GENERAL\";\n\nexport const routesAdmin = [\n {\n path: \"/index\",\n name: \"Dashboard\",\n icon: \"fas fa-chalkboard-teacher text-gray\", // Showing\n component: Index,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/faq\",\n name: \"FAQ\",\n icon: \"fas fa-comment-dots text-gray\", // Showing\n layout: \"/registered\",\n location: \"admin\",\n innerlinks: [\n {\n path: \"/faq_registered\",\n name: \"Frequently Asked Questions (FAQs)\",\n icon: \"fas fa-user\",\n component: FAQRegistered,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/faq_management\",\n name: \"FAQ Management\",\n icon: \"fas fa-comments text-gray\", // Showing\n component: Forum,\n layout: \"/registered\",\n location: \"admin\",\n },\n ],\n },\n // {\n // path: \"/faq_registered\",\n // name: \"Frequently Asked Questions (FAQs)\",\n // icon: \"fas fa-user\",\n // component: FAQRegistered,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n {\n path: \"/faq_public\",\n name: \"FAQ Public\",\n icon: \"fas fa-comment-dots text-gray\",\n component: FAQPublic,\n layout: \"/public\",\n location: \"land\",\n },\n {\n path: \"/privacy_policy_public\",\n name: \"Privacy Policy\",\n icon: \"fas fa-file-signature text-gray\",\n component: PrivacyPolicyPublic,\n layout: \"/public\",\n location: \"land\",\n },\n // {\n // path: \"/survey_answer_institute\",\n // name: \"Take A Assessment\",\n // icon: \"fas fa-file-signature text-gray\", // Showing\n // component: AnswerInstitute,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n // {\n // path: \"/survey_answers\",\n // name: \"Assessment History\",\n // icon: \"fas fa-archive text-gray\", // Showing\n // component: Answer,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n /// -------------------------------------\n /////////////////////////////////////////\n // {\n // path: \"/faq\",\n // name: \"FAQ\",\n // icon: \"fas fa-comment-dots text-gray\", // Showing\n // component: FAQ,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n // {\n // path: \"/faq_management\",\n // name: \"FAQ Management\",\n // icon: \"fas fa-comments text-gray\", // Showing\n // component: Forum,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n {\n path: \"/faq_questions\",\n name: \"FAQ Questions\",\n icon: \"fas fa-comments text-blue\",\n component: ForumSubTopic,\n layout: \"/registered\",\n location: \"forum\",\n },\n {\n path: \"/faq_answers\",\n name: \"FAQ Answers\",\n icon: \"fas fa-comments text-blue\",\n component: ForumQuestion,\n layout: \"/registered\",\n location: \"forum\",\n },\n {\n path: \"/faq_topic_form\",\n name: \"FAQ Topic Details\",\n icon: \"fas fa-comments text-blue\",\n component: ForumTopicForm,\n layout: \"/registered\",\n location: \"forum\",\n },\n {\n path: \"/faq_sub_topic_form\",\n name: \"FAQ Topic Details\",\n icon: \"fas fa-comments text-blue\",\n component: ForumSubTopicForm,\n layout: \"/registered\",\n location: \"forum\",\n },\n {\n path: \"/faq_question_form\",\n name: \"FAQ Question Details\",\n icon: \"fas fa-comments text-blue\",\n component: ForumQuestionFrom,\n layout: \"/registered\",\n location: \"forum\",\n },\n {\n path: \"/faq_answer_form\",\n name: \"FAQ Answer Details\",\n icon: \"fas fa-comments text-blue\",\n component: ForumAnswerForm,\n layout: \"/registered\",\n location: \"forum\",\n },\n /////////////////////////////////////////\n {\n path: \"/organization\",\n name: \"Organizations\",\n icon: \"fas fa-building text-gray\", // Showing\n component: Organization,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/organizational_details\",\n name: \"Organizational Details\",\n icon: \"fas fa-comments text-blue\",\n component: OrganizationDetails,\n layout: \"/registered\",\n location: \"organization\",\n },\n /////////////////////////////////////////\n {\n path: \"/assessment\",\n name: \"Assessment Management\",\n icon: \"fas fa-layer-group text-gray\", // Showing\n component: Survey,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/assessment_create\",\n name: \"Assessment create Template\",\n icon: \"fas fa-user-alt text-gray\",\n component: SurveyCreateTemplate,\n layout: \"/registered\",\n location: \"survey\",\n },\n // {\n // path: \"/survey_edit\",\n // name: \"Assessment Edit Template\",\n // icon: \"fas fa-user-alt text-gray\",\n // component: SurveyEditTemplate,\n // layout: \"/registered\",\n // location: \"survey\",\n // },\n {\n path: \"/assessment_localization\",\n name: \"Assessment Localization\",\n icon: \"fas fa-user-alt text-gray\",\n component: SurveyLocalization,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_localization_language\",\n name: \"Assessment Localization Language\",\n icon: \"fas fa-user-alt text-gray\",\n component: SurveyLocalizationLanguage,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_localization_language_question\",\n name: \"Assessment Localization Language\",\n icon: \"fas fa-user-alt text-gray\",\n component: SurveyLocalizationLanguageQuestion,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_segment_question\",\n name: \"Assessment Segment Questions\",\n icon: \"fas fa-user-alt text-gray\",\n component: SurveyCreateTemplateQuestion,\n layout: \"/registered\",\n location: \"survey\",\n },\n /////////////////////////////////////////\n // {\n // path: \"/survey_answer_institute\",\n // name: \"Take A Assessment\",\n // icon: \"fas fa-file-signature text-gray\", // Showing\n // component: AnswerInstitute,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n {\n path: \"/assessment_answer_create\",\n name: \"Take A Assessment\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerCreate,\n layout: \"/registered\",\n location: \"survey\",\n },\n // {\n // path: \"/survey_answers\",\n // name: \"Assessment History\",\n // icon: \"fas fa-archive text-gray\", // Showing\n // component: Answer,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n {\n path: \"/assessment_answer_continue\",\n name: \"Answer Continue\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerContinue,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_answer_complete\",\n name: \"Answer Completed\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerComplete,\n layout: \"/registered\",\n location: \"survey\",\n },\n // {\n // path: \"/assessment_recommendation_print\",\n // name: \"Answer Print\",\n // icon: \"fas fa-file-signature text-gray\",\n // component: AnswerPrint,\n // layout: \"/registered\",\n // location: \"survey\",\n // },\n {\n path: \"/assessment_print_PDF\",\n name: \"Print\",\n icon: \"fas fa-file-signature text-gray\",\n component: PrintAnswersAndGraph,\n layout: \"/registered\",\n location: \"survey\",\n },\n // {\n // path: \"/assessment_print_pdf\",\n // name: \"Print\",\n // icon: \"fas fa-file-signature text-gray\",\n // component: PrintAnswersAndGraph,\n // layout: \"/print_content\",\n // location: \"survey\",\n // },\n {\n path: \"/assessment_answer_graph\",\n name: \"Graph Print\",\n icon: \"fas fa-file-signature text-gray\",\n component: GraphPrint,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_graph\",\n name: \"Graph\",\n icon: \"fas fa-file-signature text-gray\",\n component: Graph,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_full_graph\",\n name: \"Graph\",\n icon: \"fas fa-file-signature text-gray\",\n component: PrintFull,\n layout: \"/registered\",\n location: \"survey\",\n },\n /////////////////////////////////////////\n {\n path: \"/assessment_recommendations\",\n name: \"Recommendations\",\n icon: \"fas fa-user-tie text-gray\", // Showing\n component: Recommendation,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/assessment_recommendation_localization\",\n name: \"Recommendations Localization\",\n icon: \"fas fa-user-tie text-gray\",\n component: RecommendationLocalization,\n layout: \"/registered\",\n location: \"recommendation\",\n },\n {\n path: \"/assessment_recommendation_details\",\n name: \"Recommendation Details\",\n icon: \"fas fa-user-tie text-gray\",\n component: RecommendationDetails,\n layout: \"/registered\",\n location: \"recommendation\",\n },\n {\n path: \"/assessment_recommendation_details_create\",\n name: \"Recommendation Details Create\",\n icon: \"fas fa-user-tie text-gray\",\n component: RecommendationDetailsCreate,\n layout: \"/registered\",\n location: \"recommendation\",\n },\n {\n path: \"/assessment_recommendation_details_edit\",\n name: \"Recommendation Details Edit\",\n icon: \"fas fa-user-tie text-gray\",\n component: RecommendationDetailsEdit,\n layout: \"/registered\",\n location: \"recommendation\",\n },\n /////////////////////////////////////////\n {\n path: \"/user\",\n name: \"User Management\",\n icon: \"fas fa-users text-gray\", // Showing\n component: User,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/user_profile_manage\",\n name: \"Manage User Profile\",\n icon: \"fas fa-user-alt text-gray\",\n component: ProfileByAdmin,\n layout: \"/registered\",\n location: \"user\",\n },\n {\n path: \"/user_profile\",\n name: \"User Profile\",\n icon: \"fas fa-user-alt text-gray\",\n component: Profile,\n layout: \"/registered\",\n location: \"user\",\n },\n /////////////////////////////////////////\n {\n name: \"Reports\",\n icon: \"fas fa-chart-line text-gray\",\n location: \"admin\",\n innerlinks: [\n {\n path: \"/report_answers_country\",\n name: \"Attempts\",\n icon: \"fas fa-chart-line\",\n component: ReportAllAnswers,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/report_organization_country\",\n name: \"Organizations\",\n icon: \"fas fa-chart-line\",\n component: ReportAllOrganizationsByCountry,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/report_organization_attempts_country\",\n name: \"Participation\",\n icon: \"fas fa-chart-line\",\n component: ReportAllAttemptedOrganizationsByCountry,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/report_answers_user\",\n name: \"Answers\",\n icon: \"fas fa-chart-line\", // Showing\n component: ReportAllAnswersByUser,\n layout: \"/registered\",\n location: \"admin\",\n },\n // {\n // path: \"/report_answers_organization\",\n // name: \"For Organizations\",\n // icon: \"fas fa-chart-line\",\n // component: ReportAllAnswersByCountry,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n // {\n // path: \"/report_answers_segment\",\n // name: \"With Segments\",\n // icon: \"fas fa-chart-line\",\n // component: ReportAllAnswersBySegment,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n {\n path: \"/report_answers_segment_organization\",\n name: \"Segments\",\n icon: \"fas fa-chart-line\",\n component: ReportAllAnswersBySegmentByOrganization,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/report_answers_custom\",\n name: \"Custom\",\n icon: \"fas fa-chart-line\",\n component: ReportAllAnswersCustom,\n layout: \"/registered\",\n location: \"admin\",\n },\n ],\n },\n {\n path: \"/assessment_complete\",\n name: \"Organization answer\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerCompleteInReport,\n layout: \"/registered\",\n location: \"report\",\n },\n /////////////////////////////////////////////\n {\n path: \"/resource\",\n name: \"Local Resources\",\n icon: \"fas fa-book text-gray\", // Showing\n component: Resource,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/resource_details\",\n name: \"Resource Details\",\n icon: \"fas fa-book text-gray\", // Showing\n component: ResourceDetails,\n layout: \"/registered\",\n location: \"resource\",\n },\n {\n path: \"/resource_details_i18\",\n name: \"Resource Details Internationalized\",\n icon: \"fas fa-book text-gray\", // Showing\n component: ResourceDetailsi18,\n layout: \"/registered\",\n location: \"resource\",\n },\n {\n name: \"Master Data\",\n icon: \"fas fa-cogs text-gray\",\n location: \"admin\",\n innerlinks: [\n {\n path: \"/master_regions\",\n name: \"Regions\",\n icon: \"fas fa-map-marker-alt\",\n component: Regions,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/master_languages\",\n name: \"Languages\",\n icon: \"fas fa-heading\",\n component: Languages,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/master_localization\",\n name: \"Localization\",\n icon: \"fas fa-language\",\n component: SystemLocalization,\n layout: \"/registered\",\n location: \"admin\",\n },\n // {\n // path: \"/master_languages\",\n // name: \"Landing Page\",\n // icon: \"fas fa-globe-asia\",\n // component: Languages,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n // ,\n // {\n // path: \"/master_landing\",\n // name: \"Landing Page\",\n // icon: \"fas fa-globe-asia\",\n // component: LandingPage,\n // layout: \"/registered\",\n // location: \"admin\",\n // }\n ],\n },\n /////////////////////////////////////////\n {\n path: \"/register_admin\",\n name: \"Register Admin\",\n icon: \"fas fa-user-tie text-gray\",\n component: RegisterAdmin,\n layout: \"/registered\",\n location: \"user\",\n },\n {\n path: \"/register\", // this pathname is used in navigator to hide language dropdown\n name: \"Register\",\n icon: \"ni ni-key-25 text-blue\",\n component: Register,\n layout: \"/public\",\n location: \"user\",\n },\n {\n path: \"/login\",\n name: \"Login\",\n icon: \"ni ni-key-25 text-blue\",\n component: Login,\n layout: \"/public\",\n location: \"auth\",\n },\n {\n path: \"/reset\", // this pathname is used in navigator to hide language dropdown\n name: \"Reset\",\n icon: \"ni ni-key-25 text-blue\",\n component: ResetPassword,\n layout: \"/public\",\n location: \"auth\",\n },\n /////////////////////////////////////////\n {\n path: \"/\",\n name: \"Landing\",\n icon: \"ni ni-key-25 text-blue\",\n component: Landing,\n layout: \"/public\",\n location: \"land\",\n },\n // {\n // path: \"/terms\",\n // name: \"Terms\",\n // icon: \"fas fa-file-signature text-gray\",\n // component: PrivacyPolicy,\n // layout: \"/registered\",\n // location: \"report\",\n // },\n {\n path: \"/privacy_policy\",\n name: \"Privacy Policy\",\n icon: \"fas fa-lock text-gray\",\n component: PrivacyPolicy,\n layout: \"/registered\",\n location: \"admin\",\n },\n];\n\nexport const routesUser = [\n {\n path: \"/index\",\n name: \"Dashboard\",\n icon: \"fas fa-chalkboard-teacher text-gray\",\n component: IndexUser,\n layout: \"/registered\",\n location: \"admin\",\n },\n /////////////////////////////////////////\n {\n path: \"/faq\",\n name: \"Frequently Asked Questions (FAQs)\",\n icon: \"fas fa-comment-dots text-gray\",\n component: FAQRegistered,\n layout: \"/registered\",\n location: \"admin\",\n },\n // {\n // path: \"/faq_public\",\n // name: \"FAQ Public\",\n // icon: \"fas fa-comment-dots text-gray\", // Showing\n // component: FAQPublic,\n // layout: \"/registered\",\n // location: \"landing\",\n // },\n /////////////////////////////////////////\n {\n path: \"/assessment_answer_institute\",\n name: \"Take An Assessment\",\n icon: \"fas fa-file-signature text-gray\", // Showing\n component: AnswerInstitute,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/assessment_answer_create\",\n name: \"Take An Assessment\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerCreate,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_answers\",\n name: \"Assessment History\",\n icon: \"fas fa-archive text-gray\",\n component: AnswerHistory,\n layout: \"/registered\",\n location: \"admin\",\n },\n {\n path: \"/assessment_answer_continue\",\n name: \"Answer Continue\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerContinue,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_answer_complete\",\n name: \"Answer Completed\",\n icon: \"fas fa-file-signature text-gray\",\n component: AnswerComplete,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_answer_pdf\",\n name: \"Answer Completed\",\n icon: \"fas fa-file-signature text-gray\",\n component: GeneratePdf,\n layout: \"/registered\",\n location: \"survey\",\n },\n // {\n // path: \"/assessment_recommendation_print\",\n // name: \"Answer Print\",\n // icon: \"fas fa-file-signature text-gray\",\n // component: AnswerPrint,\n // layout: \"/registered\",\n // location: \"survey\",\n // },\n {\n path: \"/assessment_print_PDF\",\n name: \"Print\",\n icon: \"fas fa-file-signature text-gray\",\n component: PrintAnswersAndGraph,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_answer_graph\",\n name: \"Graph Print\",\n icon: \"fas fa-file-signature text-gray\",\n component: GraphPrint,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_graph\",\n name: \"Graph\",\n icon: \"fas fa-file-signature text-gray\",\n component: Graph,\n layout: \"/registered\",\n location: \"survey\",\n },\n {\n path: \"/assessment_full_graph\",\n name: \"Full Graph\",\n icon: \"fas fa-file-signature text-gray\",\n component: PrintFull,\n layout: \"/registered\",\n location: \"survey\",\n },\n /////////////////////////////////////////\n // {\n // path: \"/survey_recommendations\",\n // name: \"Recommendations\",\n // icon: \"fas fa-user-tie text-gray\",\n // component: Recommendation,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n /////////////////////////////////////////\n // {\n // path: \"/resource\",\n // name: \"Resources\",\n // icon: \"fas fa-book text-gray\", // Showing\n // component: Resource,\n // layout: \"/registered\",\n // location: \"admin\",\n // },\n {\n path: \"/login\",\n name: \"Login\",\n icon: \"ni ni-key-25 text-blue\",\n component: Login,\n layout: \"/public\",\n location: \"auth\",\n },\n {\n path: \"/register\", // this pathname is used in navigator to hide language dropdown\n name: \"Register\",\n icon: \"ni ni-key-25 text-blue\",\n component: Register,\n layout: \"/public\",\n location: \"user\",\n },\n {\n path: \"/user_profile\",\n name: \"User Profile\",\n icon: \"fas fa-user-alt text-gray\",\n component: Profile,\n layout: \"/registered\",\n location: \"user\",\n },\n {\n path: \"/reset\", // this pathname is used in navigator to hide language dropdown\n name: \"Reset\",\n icon: \"ni ni-key-25 text-blue\",\n component: ResetPassword,\n layout: \"/public\",\n location: \"auth\",\n },\n {\n path: \"/\",\n name: \"Landing\",\n icon: \"ni ni-key-25 text-blue\",\n component: Landing,\n layout: \"/public\",\n location: \"user\",\n },\n // {\n // path: \"/terms\",\n // name: \"Terms\",\n // icon: \"fas fa-file-signature text-gray\",\n // component: PrivacyPolicy,\n // layout: \"/registered\",\n // location: \"report\",\n // },\n {\n path: \"/privacy_policy\",\n name: \"Privacy Policy\",\n icon: \"fas fa-lock text-gray\",\n component: PrivacyPolicy,\n layout: \"/registered\",\n location: \"admin\",\n },\n];\n\nexport const routes = uRole === \"ADMIN\" ? routesAdmin : routesUser;\n\n// var routes = { \"ADMIN\": routesAdmin, \"GENERAL\": routesUser };\n// export default routes;\n","import AdminFooter from \"components/Footers/AdminFooter.js\";\n// core components\nimport AdminNavbar from \"components/Navbars/AdminNavbar.js\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport Sidebar from \"components/Sidebar/Sidebar.js\";\nimport * as actionType from 'constants/actionTypes';\nimport decode from 'jwt-decode';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Redirect, Route, Switch, useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Container } from \"reactstrap\";\nimport { routes, routesAdmin, routesUser } from \"routes.js\";\nimport Lodash from \"lodash\";\nimport { CircularProgress } from '@material-ui/core';\nimport '../assets/css/react-confirm-alert-custom.css'; // Import css\n\nconst Admin = (props) => {\n const userDetails = useSelector((state) => state.auth.authData);\n const mainContent = React.useRef(null);\n const location = useLocation();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [uRole, setURole] = useState(\"GENERAL\");\n const [showLoading, setShowLoading] = useState(false);\n\n // handle click event of logout\n const logout = () => {\n dispatch({ type: actionType.LOGOUT });\n localStorage.clear();\n history.push('/public/login');\n };\n\n useEffect(() => {\n // Heartbeat to avoid keeping old UI when new user is logged from different browser tab\n // Check the validity of token\n setInterval(() => {\n const tokenMem = userDetails?.token;\n let currentUserLocal = localStorage.getItem('userDetails');\n let jUser = JSON.parse(currentUserLocal);\n const tokenLocal = jUser?.token;\n if (tokenLocal && tokenLocal.length > 3 && tokenLocal === tokenMem) {\n // tokens are same, hence same user session. ignore\n }\n else {\n window.location.reload();\n }\n }, 60000);\n }, [])\n\n\n // after render DOM. Manually check the validity of token. Can't relay\n useEffect(() => {\n if (userDetails && Object.keys(userDetails).length > 0) {\n if (userDetails?.token) {\n const token = userDetails?.token;\n const decodedToken = decode(token);\n\n if (decodedToken.exp * 1000 < new Date().getTime()) {\n logout();\n }\n else {\n setURole(userDetails?.user?.urole ? userDetails?.user?.urole : \"GENERAL\");\n }\n }\n }\n else {\n logout();\n }\n }, [userDetails]);\n\n const innerRouts = useRef([])\n\n useEffect(() => {\n document.documentElement.scrollTop = 0;\n document.scrollingElement.scrollTop = 0;\n mainContent.current.scrollTop = 0;\n\n }, [location]);\n\n // manage loading indicator\n const loadingSpinner = useSelector((state) => state.dashboard.showLoading);\n useEffect(() => {\n if(LOGINSTATE) console.log(\"loadingSpinner: \", loadingSpinner);\n setShowLoading(Lodash.isBoolean(loadingSpinner) ? loadingSpinner : false);\n }, [loadingSpinner]);\n\n const getRoutes = (routes) => {\n return routes.map((prop, key) => {\n if (prop.layout === \"/registered\") {\n return (\n \n );\n\n } else {\n return null;\n }\n });\n };\n const getInnerRoutes = (routes) => {\n routes.forEach((prop, key) => {\n prop.hasOwnProperty('innerlinks') && (prop.innerlinks).forEach((innerProp, innerKey) => {\n if (innerProp.layout === \"/registered\") {\n innerRouts.current.push()\n }\n });\n });\n };\n getInnerRoutes(uRole === \"ADMIN\" ? routesAdmin : routesUser);\n\n const getBrandText = (path) => {\n for (let i = 0; i < routes.length; i++) {\n if (path === (routes[i].layout + routes[i].path)) {\n return routes[i].name;\n }\n else if (routes[i].hasOwnProperty('innerlinks')) {\n for (let x = 0; x < routes[i].innerlinks.length; x++) {\n if (path === (routes[i].innerlinks[x].layout + routes[i].innerlinks[x].path))\n return routes[i].innerlinks[x].name;\n }\n }\n }\n return \"Brand\";\n };\n\n return (\n <>\n {showLoading ?\n
\n \n
: null\n }\n\n {/* Left navigation content template */}\n \n\n {/* Page write/main content template */}\n
\n \n \n {(userDetails && Object.keys(userDetails).length > 0) ? (uRole === \"ADMIN\" ? getRoutes(routesAdmin) : getRoutes(routesUser)) : logout()}\n {(userDetails && Object.keys(userDetails).length > 0) ? innerRouts.current.map(routes => routes) : logout()}\n \n \n\n \n \n \n
\n\n \n );\n};\n\nexport default Admin;\n","import React from \"react\";\n// reactstrap components\nimport { Col, Container, Nav, NavItem, NavLink, Row } from \"reactstrap\";\n\n\nconst Login = () => {\n return (\n <>\n
\n \n \n \n
\n © 2021\n \n APP Self-Assessment Tools\n \n
\n \n \n\n \n
\n
\n
\n \n );\n};\n\nexport default Login;\n","import AuthFooter from \"components/Footers/AuthFooter.js\";\nimport React from \"react\";\nimport { Redirect, Route, Switch, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Col, Container, Row } from \"reactstrap\";\nimport { routes } from \"routes.js\";\n\n\n\nconst Auth = (props) => {\n const mainContent = React.useRef(null);\n const location = useLocation();\n\n React.useEffect(() => {\n document.body.classList.add(\"bg-default\");\n return () => {\n document.body.classList.remove(\"bg-default\");\n };\n }, []);\n \n React.useEffect(() => {\n document.documentElement.scrollTop = 0;\n document.scrollingElement.scrollTop = 0;\n mainContent.current.scrollTop = 0;\n // window.innerHeight\n }, [location]);\n\n const getRoutes = (routes) => {\n return routes.map((prop, key) => {\n if (prop.layout === \"/auth\") {\n return (\n \n );\n } else {\n return null;\n }\n });\n };\n\n return (\n <>\n
\n {/* ToDo: explore */}\n {/* */}\n
\n {/* Mask */}\n {/*bg-gradient-yellow*/}\n \n \n
\n \n \n \n

APP Self Assessment Tools

\n

\n Tools for measuring progress of Institutionalization\n For\n Core Humanitarian Standard (CHS)\n

\n \n
\n
\n
\n
\n \n \n \n
\n
\n {/* Page content */}\n \n \n \n {getRoutes(routes)}\n \n \n \n \n
\n\n \n \n );\n};\n\nexport default Auth;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Moment from \"moment\";\n\nimport { Col, Container, Nav, NavItem, NavLink, Row } from \"reactstrap\";\nimport { useHistory, Link, NavLink as RectNavLink } from \"react-router-dom\";\n\nconst LandingFooter = () => {\n const { t, i18n } = useTranslation();\n\n return (\n
\n \n \n \n
\n {t('footer.Copyright') + \" \" + Moment().year()}\n \n {t('footer.App_name')}\n \n
\n \n \n \n \n
\n
\n
\n );\n};\n\nexport default LandingFooter;\n","import React, { useEffect, useState } from \"react\";\nimport { Link, NavLink } from \"react-router-dom\";\nimport { useDispatch, useSelector } from \"react-redux\";\nimport {\n Container, Nav, Navbar, NavItem, Col, Row,\n DropdownItem, DropdownMenu, DropdownToggle, Media, UncontrolledDropdown, Avatar\n} from \"reactstrap\"; // reactstrap components\nimport \"../../assets/css/chs-custom.css\";\nimport { useHistory, useLocation } from \"react-router-dom\";\nimport { MASTERDATA_FETCH_ONE_LANGUAGE } from \"constants/actionTypes\";\n\nimport { useTranslation } from \"react-i18next\";\nimport { fetchMasterDataLanguageAll } from \"../../actions/masterData\";\nimport { LOGINSTATE } from \"../../config/config.json\";\nimport { LANGUAGE } from \"constants/actionTypes\";\nimport Lodash from \"lodash\";\n\nimport i18next from \"i18next\";\nimport Backend from \"i18next-http-backend\";\n\nimport TranslateOutlinedIcon from \"@material-ui/icons/TranslateOutlined\";\n\nconst LandingNavBar = () => {\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [language, setLanguage] = useState({});\n const [currentLanguage, setCurrentLanguage] = useState(null)\n const [languageDisabled, setLanguageDisabled] = useState(false)\n\n const { t, i18n } = useTranslation();\n\n const languageAll = useSelector((state) => state.masterData.languageAll);\n if (LOGINSTATE) console.log(\"languageAll: \", languageAll);\n\n // Fetch the saved single language\n // To set language when a page is open in a new tab. By this time i18next will show the content on default locale\n const userLang = useSelector((state) => state.masterData.languageByCode);\n if (LOGINSTATE) console.log(\"userLang: \", userLang);\n\n const pathname = window.location.pathname\n\n useEffect(() => {\n dispatch(fetchMasterDataLanguageAll());\n }, []);\n\n // Select only internationalized language\n useEffect(() => {\n let internationalizedLanguage = Lodash.filter(languageAll, { int: \"Yes\" });\n setLanguage(internationalizedLanguage);\n }, [languageAll]);\n\n // Select the dropdown language based on saved data\n useEffect(() => {\n const dropdownLanguage = currentLanguage\n ? currentLanguage\n : (userLang && userLang.language && userLang.language[0] && userLang.language[0].code)\n ? userLang.language[0].code\n : 'en'\n setCurrentLanguage(dropdownLanguage)\n }, [currentLanguage, userLang])\n\n useEffect(() => {\n if (LOGINSTATE) console.log(\"i18Language changed to: \", i18next.language)\n }, [i18next.language])\n\n // Set the dropdown enable for selected pages only\n useEffect(() => {\n const currentURL = window.location.href // Current url\n\n // no need to show the language drop down for registration and password reset\n if (pathname.includes('/register') || pathname.includes('/reset')) {\n setLanguageDisabled(true)\n }\n else {\n setLanguageDisabled(false)\n }\n }, [pathname]);\n\n const onChangeLanguage = (event) => {\n const selectedLanguage = event.target.value\n\n // If currently in FAQs page, bring the new content for the changed language\n // Below or: if (history.pathname === \"/public/faq_public\") {\n if (pathname.includes('/faq_public')) {\n history.push({ pathname: \"/public/faq_public\", state: { languageCode: selectedLanguage } });\n }\n\n // Set the public page contents to changed language\n i18n.changeLanguage(selectedLanguage);\n setCurrentLanguage(selectedLanguage)\n\n // localStorage.setItem(LANGUAGE, JSON.stringify(selectedLanguage));\n const selectLanguage = Lodash.filter(language, { code: selectedLanguage })\n dispatch({ type: MASTERDATA_FETCH_ONE_LANGUAGE, payload: { language: selectLanguage } });\n };\n\n\n return (\n <>\n \n \n\n \n\n \n\n {/* PC navigation */}\n \n\n {/* mobile navigation */}\n \n\n \n \n \n );\n};\n\nexport default LandingNavBar;\n","import { fetchLandingContent } from 'actions/masterData';\nimport { LOGINSTATE } from \"config/config.json\";\nimport LandingFooter from \"components/Footers/LandingFooter\";\nimport LandingNavBar from \"components/Navbars/LandingNavbar\";\nimport React, { useEffect, useState, Suspense } from \"react\";\nimport { useDispatch, useSelector } from 'react-redux';\n// reactstrap components\nimport {\n Container,\n Row,\n Col\n} from \"reactstrap\";\nimport '../assets/css/chs-custom.css';\nimport { routesAdmin } from \"routes.js\";\nimport { Redirect, Route, Switch, useLocation } from \"react-router-dom\";\nimport { CircularProgress } from '@material-ui/core';\nimport '../assets/css/react-confirm-alert-custom.css'; // Import css\nimport Lodash from \"lodash\";\nimport ReactGa from \"react-ga\";\nimport { APP_HITCOUNTER } from \"config/config.json\";\n\nconst Landing = () => {\n const mainContent = React.useRef(null);\n\n const [showLoading, setShowLoading] = useState(false);\n\n useEffect(() => {\n ReactGa.initialize(APP_HITCOUNTER);\n\n ReactGa.pageview(\"/public\");\n }, []);\n\n // manage loading indicator\n const loadingSpinner = useSelector((state) => state.dashboard.showLoading);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"loadingSpinner: \", loadingSpinner);\n setShowLoading(Lodash.isBoolean(loadingSpinner) ? loadingSpinner : false);\n }, [loadingSpinner]);\n\n const getRoutes = (routes) => {\n return routes.map((prop, key) => {\n if (prop.layout === \"/public\") {\n return (\n \n );\n } else {\n return null;\n }\n });\n };\n\n return (\n <>\n {showLoading ?\n
\n \n
: null\n }\n\n
\n \n
\n\n
\n \n {getRoutes(routesAdmin)}\n \n \n
\n\n
\n \n
\n\n \n );\n};\n\nexport default Landing;\n","import AdminFooter from \"components/Footers/AdminFooter.js\";\n// core components\nimport AdminNavbar from \"components/Navbars/AdminNavbar.js\";\nimport { LOGINSTATE } from \"config/config.json\";\nimport Sidebar from \"components/Sidebar/Sidebar.js\";\nimport * as actionType from 'constants/actionTypes';\nimport decode from 'jwt-decode';\nimport React, { useEffect, useRef, useState } from 'react';\nimport { useDispatch, useSelector } from 'react-redux';\nimport { Redirect, Route, Switch, useHistory, useLocation } from \"react-router-dom\";\n// reactstrap components\nimport { Container } from \"reactstrap\";\nimport { routes, routesAdmin, routesUser } from \"routes.js\";\nimport Lodash from \"lodash\";\nimport { CircularProgress } from '@material-ui/core';\nimport '../assets/css/react-confirm-alert-custom.css'; // Import css\n\nimport PrintAnswersAndGraph from \"views/pages/survey/GraphAnswerPrint\";\n\nconst Print = (props) => {\n const userDetails = useSelector((state) => state.auth.authData);\n const mainContent = React.useRef(null);\n const location = useLocation();\n const dispatch = useDispatch();\n const history = useHistory();\n\n const [uRole, setURole] = useState(\"GENERAL\");\n const [showLoading, setShowLoading] = useState(false);\n\n\n // handle click event of logout\n const logout = () => {\n dispatch({ type: actionType.LOGOUT });\n localStorage.clear();\n history.push('/public/login');\n };\n\n useEffect(() => {\n // Heartbeat to avoid keeping old UI when new user is logged from different browser tab\n // Check the validity of token\n setInterval(() => {\n const tokenMem = userDetails?.token;\n let currentUserLocal = localStorage.getItem('userDetails');\n let jUser = JSON.parse(currentUserLocal);\n const tokenLocal = jUser?.token;\n if (tokenLocal && tokenLocal.length > 3 && tokenLocal === tokenMem) {\n // tokens are same, hence same user session. ignore\n }\n else {\n window.location.reload();\n }\n }, 60000);\n }, [])\n\n\n // after render DOM. Manually check the validity of token. Can't relay\n useEffect(() => {\n if (userDetails && Object.keys(userDetails).length > 0) {\n if (userDetails?.token) {\n const token = userDetails?.token;\n const decodedToken = decode(token);\n\n if (decodedToken.exp * 1000 < new Date().getTime()) {\n logout();\n }\n else {\n setURole(userDetails?.user?.urole ? userDetails?.user?.urole : \"GENERAL\");\n }\n }\n }\n else {\n logout();\n }\n }, [userDetails]);\n\n const innerRouts = useRef([])\n\n useEffect(() => {\n document.documentElement.scrollTop = 0;\n document.scrollingElement.scrollTop = 0;\n mainContent.current.scrollTop = 0;\n\n }, [location]);\n\n // manage loading indicator\n const loadingSpinner = useSelector((state) => state.dashboard.showLoading);\n useEffect(() => {\n if (LOGINSTATE) console.log(\"loadingSpinner: \", loadingSpinner);\n setShowLoading(Lodash.isBoolean(loadingSpinner) ? loadingSpinner : false);\n }, [loadingSpinner]);\n\n const getInnerRoutes = (routes) => {\n routes.forEach((prop, key) => {\n prop.hasOwnProperty('innerlinks') && (prop.innerlinks).forEach((innerProp, innerKey) => {\n if (innerProp.layout === \"/print_content\") {\n innerRouts.current.push()\n }\n });\n });\n };\n getInnerRoutes(uRole === \"ADMIN\" ? routesAdmin : routesUser);\n\n return (\n <>\n {showLoading ?\n
\n \n
: null\n }\n\n {/* Page write/main content template */}\n
\n\n \n \n \n\n
\n\n \n );\n};\n\nexport default Print;\n","import React, { Suspense } from \"react\";\nimport ReactDOM from \"react-dom\";\n\nimport { BrowserRouter, Route, Switch, Redirect } from \"react-router-dom\";\n\nimport { Provider } from 'react-redux';\nimport thunk from 'redux-thunk';\nimport { createStore, applyMiddleware, compose } from 'redux';\nimport { composeWithDevTools } from 'redux-devtools-extension';\nimport { reducers } from './reducers';\n\n\nimport i18next from './i18n';\nimport { I18nextProvider } from \"react-i18next\";\n\nimport { CircularProgress } from '@material-ui/core';\nimport './assets/css/react-confirm-alert-custom.css'; // Import css\n\n// import { transitions, positions, Provider as AlertProvider } from 'react-alert'\n// import AlertTemplate from 'react-alert-template-mui'\n\nimport \"assets/plugins/nucleo/css/nucleo.css\";\nimport \"assets/scss/argon-dashboard-react.scss\";\nimport \"assets/css/argon-local-customizations.css\";\nimport \"@fortawesome/fontawesome-free/css/all.min.css\";\n\n\nimport AdminLayout from \"layouts/Admin.js\";\nimport AuthLayout from \"layouts/Auth.js\";\nimport LandingLayout from \"layouts/Landing.js\";\nimport PrintLayout from \"layouts/Print.js\";\n\n\n\n\n\n\n// const store = createStore(reducers, compose(applyMiddleware(thunk)));\n\nconst store = createStore(reducers, composeWithDevTools(\n applyMiddleware(thunk),\n // other store enhancers if any\n));\n\n// Alert options\n// const options = {\n// position: positions.BOTTOM_CENTER,\n// // timeout: 5000,\n// offset: '30px',\n// transition: transitions.SCALE\n// }\n\nReactDOM.render(\n \n \n \n \n \n }\n >\n {/* */}\n \n \n } />\n } />\n {/* } /> */}\n } />\n } />\n {/* */}\n \n \n \n {/* */}\n \n \n ,\n document.getElementById(\"root\")\n);\n"],"sourceRoot":""}