{"version":3,"sources":["webpack:///webpack/bootstrap","webpack:///./src/store/combine.ts","webpack:///./src/store/index.ts","webpack:///./src/store/modules/context.ts","webpack:///./src/assets/verji/verji.svg","webpack:///./src/components/global/NavDrawer.vue?f3e8","webpack:///./src/assets/verji/connections_dots_long_dark.svg","webpack:///./src/store/modules/acl.ts","webpack:///./src/assets/verji/picto_4.svg","webpack:///./src/components/global/NavDrawer.vue","webpack:///./src/components/global/NavDrawer.vue?dc90","webpack:///./src/components/global/NavDrawer.vue?ff60","webpack:///./src/components/global/NavDrawer.vue?6a29","webpack:///./src/components/global sync nonrecursive .*\\.vue$","webpack:///./src/store/modules/provisioning.ts","webpack:///./src/components/global/NavBar.vue?2ef4","webpack:///./src/constants/modules.ts","webpack:///./src/store/modules/nav.ts","webpack:///./src/store/modules/config.ts","webpack:///./src/components/global/PageHeader.vue","webpack:///./src/components/global/PageHeader.vue?a643","webpack:///./src/components/global/PageHeader.vue?a068","webpack:///./src/components/global/PageHeader.vue?6f29","webpack:///./src/components/global/Card.vue","webpack:///./src/components/global/Card.vue?a2cc","webpack:///./src/constants/apiEndpoints.ts","webpack:///./src/api/apiClient.ts","webpack:///./src/components/global/PageHeader.vue?865d","webpack:///./src/types/enums.ts","webpack:///./src/assets/verji/verji_connections_logo_long.svg","webpack:///./src/lang sync [A-Za-z0-9-_,\\s]+\\.json$/","webpack:///./src/components/global/SubHeader.vue","webpack:///./src/components/global/SubHeader.vue?aa01","webpack:///./src/components/global/SubHeader.vue?d49e","webpack:///./src/components/global/SubHeader.vue?7552","webpack:///./src/utilities/growthbook.ts","webpack:///./src/store/modules sync nonrecursive .*\\.ts$","webpack:///./src/App.vue","webpack:///./src/App.vue?dad8","webpack:///./src/App.vue?18c8","webpack:///./src/App.vue?3746","webpack:///./src/router/middleware/oidc.ts","webpack:///./src/router/middleware/context.ts","webpack:///./src/router/middleware/checkroute.ts","webpack:///./src/router/middleware/nav.ts","webpack:///./src/router/middleware/title.ts","webpack:///./src/router/middleware/index.ts","webpack:///./src/components/AsyncError.vue","webpack:///./src/components/AsyncError.vue?eeb7","webpack:///./src/components/AsyncError.vue?7f3d","webpack:///./src/components/AsyncError.vue?be5a","webpack:///./src/utilities/aclWrapper.ts","webpack:///./src/router/index.ts","webpack:///./src/plugins/fontawesome.ts","webpack:///./src/plugins/vuetify.ts","webpack:///./src/plugins/axios.ts","webpack:///./src/components/global/index.ts","webpack:///./src/plugins/i18n.ts","webpack:///./src/main.ts","webpack:///./src/components/AsyncLoading.vue","webpack:///./src/components/AsyncLoading.vue?430c","webpack:///./src/components/global/NavBar.vue","webpack:///./src/scripts/freshworks.ts","webpack:///./src/components/global/NavBar.vue?c250","webpack:///./src/components/global/NavBar.vue?d085","webpack:///./src/components/global/NavBar.vue?74d3","webpack:///./src/components/AsyncLoading.vue?3cf5","webpack:///./src/assets/verji/picto_5.svg"],"names":["webpackJsonpCallback","data","moduleId","chunkId","chunkIds","moreModules","executeModules","i","resolves","length","Object","prototype","hasOwnProperty","call","installedChunks","push","modules","parentJsonpFunction","shift","deferredModules","apply","checkDeferredModules","result","deferredModule","fulfilled","j","depId","splice","__webpack_require__","s","installedModules","installedCssChunks","jsonpScriptSrc","p","exports","module","l","e","promises","cssChunks","Promise","resolve","reject","href","fullhref","existingLinkTags","document","getElementsByTagName","tag","dataHref","getAttribute","rel","existingStyleTags","linkTag","createElement","type","onload","onerror","event","request","target","src","err","Error","code","parentNode","removeChild","head","appendChild","then","installedChunkData","promise","onScriptComplete","script","charset","timeout","nc","setAttribute","error","clearTimeout","chunk","errorType","realSrc","message","name","undefined","setTimeout","all","m","c","d","getter","o","defineProperty","enumerable","get","r","Symbol","toStringTag","value","t","mode","__esModule","ns","create","key","bind","n","object","property","oe","console","jsonpArray","window","oldJsonpFunction","slice","typedStorePlugin","install","VueInstance","this","$store","Vue","use","Vuex","requireContext","require","keys","map","file","replace","filter","mod","reduce","namespaced","Store","plugins","state","mutations","actions","fetched","domains","persons","assignableLinkOwners","customerClients","associatedClients","clientInvitations","clientPersons","selectedPerson","selectedCustomer","selectedCustomerInfo","selectedClient","selectedClientInfo","selectedClientInvitation","selectedClientInvitationInfo","selectedClientInvitationRegistrations","selectedRegistration","findPersonAccounts","accountSummary","selectedAccount","createTenantFormData","tenantOnboardingId","businessRegistryId","companyName","email","invitingPersonDisplayName","invitingPersonId","phoneNumber","tenantId","anyDomainAcl","anyDomainPermissions","isTenantOnboarder","MutationTypes","SET_FETCHED","SET_DOMAINS","SET_PERSONS","SET_PERSON","person","SET_ASSIGNABLELINKOWNERS","linkOwners","SET_CUSTOMERCLIENTS","SET_ASSOCIATEDCLIENTS","SET_CLIENTINVITATONS","SET_CLIENTPERSONS","SET_CUSTOMER","customer","SET_CUSTOMER_INFO","info","SET_CLIENT","client","SET_CLIENT_INFO","SET_CLIENT_INVITATION","invitation","SET_CLIENT_INVITATION_INFO","SET_CLIENT_INVITATION_REGISTRATIONS","registrations","SET_REGISTRATION","registration","SET_ANY_DOMAIN_ACL","aclDomainAcl","SET_ANY_DOMAIN_PERMISSIONS","RESET_CONTEXT","u","RESET_PERSONS","RESET_CUSTOMERCLIENTS","RESET_ASSOCIATEDCLIENTS","RESET_CLIENTPERSONS","RESET_CUSTOMER_INFO","RESET_CLIENT_INFO","RESET_CLIENT_INVITATIONS","RESET_CLIENT_INVITATION_INFO","RESET_CLIENT_INVITATION_REGISTRATIONS","RESET_REGISTRATION","SET_FIND_ACCOUNT_RESULTS","results","SET_SELECTED_ACCOUNT_DETAILS","RESET_FIND_ACCOUNT_RESULTS","RESET_SELECTED_ACCOUNT_DETAILS","SET_ACCOUNT_RESULTS","SET_SELECTED_ACCOUNT","account","SET_CREATE_TENANT_FORM_DATA","RESET_CREATE_TENANT_FORM_DATA","ActionTypes","setFetched","commit","updateDomains","ApiClient","response","getDomains","warn","JSON","stringify","loadDomains","updatePersons","_store$state$context$","customerId","store","context","id","getPersons","updateLinkOnboardingUsers","_store$state$context$2","getLinkOnboardingUsers","personIds","resolvedPersons","resolveCustomerPersons","setPerson","removeCustomerPerson","dispatch","personId","_store$state$context$3","removeClientPerson","_store$state$context$4","_store$state$context$5","clientId","updateCustomerClients","_store$state$context$6","getCustomerClients","updatePersonClients","_store$state$context$7","oidcStore","user","sub","getPersonClients","log","updateClientPersons","_store$state$context$8","_store$state$context$9","getClientPersons","currentClientPersons","exists","updateClientInvitations","_store$state$context$10","getClientInvitations","createClientInvitation","createClientInvitationRequest","_store$state$context$11","createNewClientInvitation","manualApproval","onboardingKind","changeActiveRequest","_store$state$context$12","_store$state$context$13","clientInvitationId","changeClientInvitationActiveStatus","active","changeManualApprovalRequest","_store$state$context$14","_store$state$context$15","changeClientInvitationManualApprovalStatus","approveClientRegistration","_store$state$context$16","_store$state$context$17","_store$state$context$18","linkOnboardingId","linkregistrationid","jobId","approveRegistration","rejectClientRegistration","_store$state$context$19","_store$state$context$20","_store$state$context$21","rejectRegistration","setCustomer","tenantType","setClient","getCustomerInfo","_store$state$context$22","getClientInfo","_store$state$context$23","_store$state$context$24","setClientInvitation","setRegistration","deleteRegistration","_store$state$context$25","_store$state$context$26","_store$state$context$27","clientRegistrationId","infoId","getClientInvitationInfo","_store$state$context$28","_store$state$context$29","getClientInvitationRegistrations","_store$state$context$30","_store$state$context$31","getAnyDomainAcl","moduleName","_acl","_tenantOnboardingAcl$","acl","getModuleAclAnyDomain","tenantOnboardingAcl","ui","find","OnboardingUiEnum","createTenant","isAllowed","roles","includes","OnboardingRoles","tenantOnboarder","errorMessage","setClientName","_store$state$context$32","_store$state$context$33","updateClientName","newCustomerClients","newClient","newClientInfo","setClientDescription","_store$state$context$34","_store$state$context$35","updateClientDescription","description","setCompanyName","_store$state$context$36","updateCompanyName","setCompanyDescription","_store$state$context$37","updateCompanyDescription","setCompanyBusinessRegistryId","_store$state$context$38","updateCompanyBusinessRegistryId","setPrimaryContact","primaryContactId","_store$state$context$39","updatePrimaryContact","setClientPrimaryContact","_store$state$context$40","_store$state$context$41","updateClientPrimaryContact","reassignPerson","reassignPersonRequest","_store$state$context$42","targetClientId","reassignPersonToClient","newClientName","reassignClientPerson","reassignClientPersonRequest","_store$state$context$43","targetOrganizationId","reassignClientPersonToExistingClient","_store$state$context$44","sourceGuestOrganizationId","targetGuestOrganizationId","findPersonAccount","getAccountSummary","removeAccount","createTenantPayload","_store$state$oidcStor","inviterUserId","inviterDisplayName","preferred_username","uuidv4","createTenantOnboarding","axios","isAxiosError","_e$response","responseStatus","status","setSelectedAccount","setCreateTenantFormData","setAnyDomainPermissions","updateAccountResults","newResults","resetCreateTenantFormData","resetContext","resetPersons","resetCustomerClients","resetAssociatedClients","resetCustomerInfo","resetClientInfo","resetClientPersons","resetClientInvitations","resetClientInvitationInfo","resetRegistration","resetFindPersonAccount","resetAccountSummary","getters","getContext","defaultState","SET_ACL","permission","aclDomain","payload","hasPermission","set","RESET_STATE","forEach","delete","RESET_MODULE","updateACL","aclResponse","getModuleAcl","resetState","getAcl","_c","staticClass","on","$event","$vStore","navigation","width","attrs","_vm","getGroupModel","route","preventDefault","item","scopedSlots","_u","slot","subItem","pushRoute","_e","staticRenderFns","render","extend","mounted","setBorderWidth","setEvents","watch","$route","to","path","indexOf","groupmenu","borderSize","methods","RouteTypes","None","$router","catch","expander","groupClick","group","isExtension","hasSubItems","subItems","getName","$refs","drawer","$el","querySelector","style","cursor","backgroundColor","minSize","el","drawerBorder","direction","classList","contains","resize","body","f","scrollWidth","clientX","addEventListener","offsetX","nav","isMini","transition","w","wn","split","removeEventListener","component","webpackContext","req","webpackContextResolve","invites","onboardingInvites","UPDATE_INVITES","UPDATE_ONBOARDINGINVITES","FLUSH_INVITES","assign","updateInvites","_payload$allowOnboard","allowOnboardingInvitesFlag","getInvites","getOnboardingInvites","allInvites","_onboardingInvites$re","correctInvitation","correctOnboardingInvitation","onboardingId","frontendModules","icon","flex","bgImage","mergeFrontAndBackModules","frontendArray","backendArray","allowedPaths","frontendItem","_index","backendItem","index","isModule","union","subitemUnion","isPermitted","standaloneModule","extensionsModule","FrontendItemSubItem","frontendItemSubItemIndex","BackendItemSubItem","BackendItemSubItemIndex","extensionModule","nestedSubItems","unionmodules","isOpen","linkCollection","TOGGLE_NAV","TOGGLE_NAV_MINI","SET_MODULES","navResponse","items","userId","LinkCollection","links","v","entries","arguments","SET_LINKCOLLECTION","toggleNav","toggleNavMini","updateModules","getNav","updateLinkCollection","registrationBaseUrl","verjiAccountUrl","verjiLinkOnboardingUrl","verjiSigningUrl","verjiAclUrl","verjiItopsUrl","authority","redirectUri","responseType","scope","silentRedirectUri","automaticSilentRenew","automaticSilentSignin","logoutlocation","loggerVuex","loggerMiddleware","loggerOidc","growthbookConfig","apiHost","clientKey","UPDATE_CONFIG","config","updateConfig","getConfig","$vuetify","props","msg","String","noSelector","Boolean","customerName","deep","handler","computed","loadContext","accessControl","getNavigation","itOpsAclApi","getCustomer","getClient","resolvePersons","deletePrimaryContact","deleteClientPrimaryContact","personClients","provisioning","findJobs","invite","getInvitations","getOnboardingInvitations","verjiAccountApi","getModule","verjiItOpsApi","linkOnboarding","getUsers","activeInvitations","pendingRegistrations","createInvitation","deleteInvitation","setManualApproval","verjiLinkOnboardingApi","HttpMethods","ErrorCodes","defaultRetry","constructor","_defineProperty","accessToken","access_token","verjiItOpsUrl","setupInterceptors","_axiosInstance","interceptors","async","res","_res$response","_res$config","TooManyRequests","url","_res$response$headers","_res$response2","headers","RetryAfter","_res$config2","method","GET","POST","post","PUT","put","DELETE","_error","endpoint","axiosInstance","defaults","raxConfig","retry","noResponseRetries","instance","httpMethodsToRetry","statusCodesToRetry","backoffType","onRetryAttempt","retryAttempt","rax","currentRetryAttempt","Authorization","defaultTimeout","AnyDomain","anyInstance","invitationName","invitationType","linkRegistrationEnum","NewClientInvite","displayName","invitingUser","linkOnboardingKind","toString","linkRegistrationId","manualConfirmation","sourceOrganizationId","createTenantData","InvitationTypeEnum","InvitationStatusEnum","LinkOnboardingKind","RoleEnum","roleMap","UserTypeEnum","CustomerEnum","ClientEnum","InvitationEnum","LinkOnboardingEnum","NavSubItems","RadioSearchValues","ModuleName","CreateTenantErrorTypes","_self","_setupProxy","_v","_s","title","GrowthbookAttributes","GrowthbookFeatureFlags","VerjiGrowthBook","GrowthBook","super","setAttributes","UserId","hasUser","_store$state$oidcStor2","_store$state$config$g","_store$state$config$g2","profile","setGrowthBookUser","directives","hasContext","hasCtx","shouldShow","newValue","onboarding","attachFreshworksWidget","scriptExt","defer","from","next","router","guardColor","hasAccess","globalPaths","paths","concat","appTitle","toRouteName","pageTitle","tryTitle","subHit","subItemIndex","parseInt","params","extensionItemId","some","nextTick","guard","open","oidc","auth","checkroute","header","nextFactory","middleware","subsequentMiddleware","Array","isArray","nextMiddleware","errorTitle","domProps","reload","Function","required","onReload","aclWrapper","componentPromise","preloadedModules","created","load","newPermissions","oldPermissions","getPermissions","_resolve","_reject","hasState","isStored","componentImport","reason","h","AsyncError","AsyncLoading","Home","Context","Customer","default","PersonClients","Organization","ClientInfo","OidcCallback","OidcCallbackError","OidcCallbackSilentRenew","Logout","AccountOverview","AccountRemove","GenericView","Registrations","Invitation","ManageTenants","VueRouter","routes","meta","middlewareName","featureFlag","isOidcCallback","isPublic","beforeEach","FontAwesomeIcon","FontAwesomeLayers","FontAwesomeLayersText","faDotCircle","prefix","faCheckCircle","faCircle","faCog","faEye","faEyeSlash","faSquare","faRetweet","faFile","faList","faFileSignature","faSignOut","faUser","faHome","faLockOpen","faExclamation","faExclamationTriangle","faUserClock","faUserTimes","faShieldAlt","faShield","faUserShield","faUserPlus","faUserCheck","faUserFriends","faUserEdit","faUsers","faUsersCog","faChevronDown","faChevronUp","faExchangeAlt","faPen","faCaretLeft","faCaretRight","faCaretDown","faCaretUp","faSortUp","faSortDown","faCopy","faChevronLeft","faChevronRight","faCheckSquare","faCircleNotch","faPaperclip","faSearch","faBars","faPlus","faCloudDownloadAlt","faCloudUploadAlt","faShare","faEnvelope","faCheck","faCamera","faTimes","faTimesCircle","faHandPointLeft","faQuestionCircle","faSync","faInfoCircle","library","add","FontAwesomeIcons","iconfont","Vuetify","vuetifyOptions","theme","themes","light","lighttouch","primary","secondary","accent","highlight","success","warning","dark","customProperties","icons","componentConfig","fName","pop","componentName","upperFirst","camelCase","loadLocaleMessages","locales","messages","matched","match","locale","VueCookies","VueTelInputVuetify","vuetify","devtools","productionTip","VueI18n","i18n","fallbackLocale","fetch","process","json","$config","oidcSettings","oidcListeners","userLoaded","_user$profile$sub","_user$profile","getInstance","userUnloaded","accessTokenExpiring","accessTokenExpired","silentRenewError","userSignedOut","oidcError","_user$profile$sub2","_user$profile2","registerModule","vuexOidcCreateStoreModule","dispatchEventsOnWindow","logger","createLogger","collapsed","logMutations","logActions","loadFeatures","autoRefresh","App","$mount","_m","fn","toggleWidget","iframe","getElementById","FreshworksWidget","init","fwSettings","anonFunc","q","UserMenu","components","logo","breakpoint","xsOnly","logoWidth","supportRedirect"],"mappings":"aACE,SAASA,EAAqBC,GAQ7B,IAPA,IAMIC,EAAUC,EANVC,EAAWH,EAAK,GAChBI,EAAcJ,EAAK,GACnBK,EAAiBL,EAAK,GAIHM,EAAI,EAAGC,EAAW,GACpCD,EAAIH,EAASK,OAAQF,IACzBJ,EAAUC,EAASG,GAChBG,OAAOC,UAAUC,eAAeC,KAAKC,EAAiBX,IAAYW,EAAgBX,IACpFK,EAASO,KAAKD,EAAgBX,GAAS,IAExCW,EAAgBX,GAAW,EAE5B,IAAID,KAAYG,EACZK,OAAOC,UAAUC,eAAeC,KAAKR,EAAaH,KACpDc,EAAQd,GAAYG,EAAYH,IAG/Be,GAAqBA,EAAoBhB,GAE5C,MAAMO,EAASC,OACdD,EAASU,OAATV,GAOD,OAHAW,EAAgBJ,KAAKK,MAAMD,EAAiBb,GAAkB,IAGvDe,IAER,SAASA,IAER,IADA,IAAIC,EACIf,EAAI,EAAGA,EAAIY,EAAgBV,OAAQF,IAAK,CAG/C,IAFA,IAAIgB,EAAiBJ,EAAgBZ,GACjCiB,GAAY,EACRC,EAAI,EAAGA,EAAIF,EAAed,OAAQgB,IAAK,CAC9C,IAAIC,EAAQH,EAAeE,GACG,IAA3BX,EAAgBY,KAAcF,GAAY,GAE3CA,IACFL,EAAgBQ,OAAOpB,IAAK,GAC5Be,EAASM,EAAoBA,EAAoBC,EAAIN,EAAe,KAItE,OAAOD,EAIR,IAAIQ,EAAmB,GAGnBC,EAAqB,CACxB,IAAO,GAMJjB,EAAkB,CACrB,IAAO,GAGJK,EAAkB,GAGtB,SAASa,EAAe7B,GACvB,OAAOyB,EAAoBK,EAAI,OAAS,GAAG9B,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,MAIxzD,SAASyB,EAAoB1B,GAG5B,GAAG4B,EAAiB5B,GACnB,OAAO4B,EAAiB5B,GAAUgC,QAGnC,IAAIC,EAASL,EAAiB5B,GAAY,CACzCK,EAAGL,EACHkC,GAAG,EACHF,QAAS,IAUV,OANAlB,EAAQd,GAAUW,KAAKsB,EAAOD,QAASC,EAAQA,EAAOD,QAASN,GAG/DO,EAAOC,GAAI,EAGJD,EAAOD,QAKfN,EAAoBS,EAAI,SAAuBlC,GAC9C,IAAImC,EAAW,GAIXC,EAAY,CAAC,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,iBAAiB,GACjvBR,EAAmB5B,GAAUmC,EAASvB,KAAKgB,EAAmB5B,IACzB,IAAhC4B,EAAmB5B,IAAkBoC,EAAUpC,IACtDmC,EAASvB,KAAKgB,EAAmB5B,GAAW,IAAIqC,SAAQ,SAASC,EAASC,GAIzE,IAHA,IAAIC,EAAO,QAAU,GAAGxC,IAAUA,GAAW,IAAM,CAAC,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,WAAW,iBAAiB,YAAYA,GAAW,OAChyDyC,EAAWhB,EAAoBK,EAAIU,EACnCE,EAAmBC,SAASC,qBAAqB,QAC7CxC,EAAI,EAAGA,EAAIsC,EAAiBpC,OAAQF,IAAK,CAChD,IAAIyC,EAAMH,EAAiBtC,GACvB0C,EAAWD,EAAIE,aAAa,cAAgBF,EAAIE,aAAa,QACjE,GAAe,eAAZF,EAAIG,MAAyBF,IAAaN,GAAQM,IAAaL,GAAW,OAAOH,IAErF,IAAIW,EAAoBN,SAASC,qBAAqB,SACtD,IAAQxC,EAAI,EAAGA,EAAI6C,EAAkB3C,OAAQF,IAAK,CAC7CyC,EAAMI,EAAkB7C,GACxB0C,EAAWD,EAAIE,aAAa,aAChC,GAAGD,IAAaN,GAAQM,IAAaL,EAAU,OAAOH,IAEvD,IAAIY,EAAUP,SAASQ,cAAc,QACrCD,EAAQF,IAAM,aACdE,EAAQE,KAAO,WACfF,EAAQG,OAASf,EACjBY,EAAQI,QAAU,SAASC,GAC1B,IAAIC,EAAUD,GAASA,EAAME,QAAUF,EAAME,OAAOC,KAAOjB,EACvDkB,EAAM,IAAIC,MAAM,qBAAuB5D,EAAU,cAAgBwD,EAAU,KAC/EG,EAAIE,KAAO,wBACXF,EAAIH,QAAUA,SACP5B,EAAmB5B,GAC1BkD,EAAQY,WAAWC,YAAYb,GAC/BX,EAAOoB,IAERT,EAAQV,KAAOC,EAEf,IAAIuB,EAAOrB,SAASC,qBAAqB,QAAQ,GACjDoB,EAAKC,YAAYf,MACfgB,MAAK,WACPtC,EAAmB5B,GAAW,MAMhC,IAAImE,EAAqBxD,EAAgBX,GACzC,GAA0B,IAAvBmE,EAGF,GAAGA,EACFhC,EAASvB,KAAKuD,EAAmB,QAC3B,CAEN,IAAIC,EAAU,IAAI/B,SAAQ,SAASC,EAASC,GAC3C4B,EAAqBxD,EAAgBX,GAAW,CAACsC,EAASC,MAE3DJ,EAASvB,KAAKuD,EAAmB,GAAKC,GAGtC,IACIC,EADAC,EAAS3B,SAASQ,cAAc,UAGpCmB,EAAOC,QAAU,QACjBD,EAAOE,QAAU,IACb/C,EAAoBgD,IACvBH,EAAOI,aAAa,QAASjD,EAAoBgD,IAElDH,EAAOZ,IAAM7B,EAAe7B,GAG5B,IAAI2E,EAAQ,IAAIf,MAChBS,EAAmB,SAAUd,GAE5Be,EAAOhB,QAAUgB,EAAOjB,OAAS,KACjCuB,aAAaJ,GACb,IAAIK,EAAQlE,EAAgBX,GAC5B,GAAa,IAAV6E,EAAa,CACf,GAAGA,EAAO,CACT,IAAIC,EAAYvB,IAAyB,SAAfA,EAAMH,KAAkB,UAAYG,EAAMH,MAChE2B,EAAUxB,GAASA,EAAME,QAAUF,EAAME,OAAOC,IACpDiB,EAAMK,QAAU,iBAAmBhF,EAAU,cAAgB8E,EAAY,KAAOC,EAAU,IAC1FJ,EAAMM,KAAO,iBACbN,EAAMvB,KAAO0B,EACbH,EAAMnB,QAAUuB,EAChBF,EAAM,GAAGF,GAEVhE,EAAgBX,QAAWkF,IAG7B,IAAIV,EAAUW,YAAW,WACxBd,EAAiB,CAAEjB,KAAM,UAAWK,OAAQa,MAC1C,MACHA,EAAOhB,QAAUgB,EAAOjB,OAASgB,EACjC1B,SAASqB,KAAKC,YAAYK,GAG5B,OAAOjC,QAAQ+C,IAAIjD,IAIpBV,EAAoB4D,EAAIxE,EAGxBY,EAAoB6D,EAAI3D,EAGxBF,EAAoB8D,EAAI,SAASxD,EAASkD,EAAMO,GAC3C/D,EAAoBgE,EAAE1D,EAASkD,IAClC1E,OAAOmF,eAAe3D,EAASkD,EAAM,CAAEU,YAAY,EAAMC,IAAKJ,KAKhE/D,EAAoBoE,EAAI,SAAS9D,GACX,qBAAX+D,QAA0BA,OAAOC,aAC1CxF,OAAOmF,eAAe3D,EAAS+D,OAAOC,YAAa,CAAEC,MAAO,WAE7DzF,OAAOmF,eAAe3D,EAAS,aAAc,CAAEiE,OAAO,KAQvDvE,EAAoBwE,EAAI,SAASD,EAAOE,GAEvC,GADU,EAAPA,IAAUF,EAAQvE,EAAoBuE,IAC/B,EAAPE,EAAU,OAAOF,EACpB,GAAW,EAAPE,GAA8B,kBAAVF,GAAsBA,GAASA,EAAMG,WAAY,OAAOH,EAChF,IAAII,EAAK7F,OAAO8F,OAAO,MAGvB,GAFA5E,EAAoBoE,EAAEO,GACtB7F,OAAOmF,eAAeU,EAAI,UAAW,CAAET,YAAY,EAAMK,MAAOA,IACtD,EAAPE,GAA4B,iBAATF,EAAmB,IAAI,IAAIM,KAAON,EAAOvE,EAAoB8D,EAAEa,EAAIE,EAAK,SAASA,GAAO,OAAON,EAAMM,IAAQC,KAAK,KAAMD,IAC9I,OAAOF,GAIR3E,EAAoB+E,EAAI,SAASxE,GAChC,IAAIwD,EAASxD,GAAUA,EAAOmE,WAC7B,WAAwB,OAAOnE,EAAO,YACtC,WAA8B,OAAOA,GAEtC,OADAP,EAAoB8D,EAAEC,EAAQ,IAAKA,GAC5BA,GAIR/D,EAAoBgE,EAAI,SAASgB,EAAQC,GAAY,OAAOnG,OAAOC,UAAUC,eAAeC,KAAK+F,EAAQC,IAGzGjF,EAAoBK,EAAI,IAGxBL,EAAoBkF,GAAK,SAAShD,GAA2B,MAApBiD,QAAQjC,MAAMhB,GAAYA,GAEnE,IAAIkD,EAAaC,OAAO,gBAAkBA,OAAO,iBAAmB,GAChEC,EAAmBF,EAAWjG,KAAK2F,KAAKM,GAC5CA,EAAWjG,KAAOf,EAClBgH,EAAaA,EAAWG,QACxB,IAAI,IAAI5G,EAAI,EAAGA,EAAIyG,EAAWvG,OAAQF,IAAKP,EAAqBgH,EAAWzG,IAC3E,IAAIU,EAAsBiG,EAI1B/F,EAAgBJ,KAAK,CAAC,EAAE,kBAEjBM,K,uMCxOF,MAAM+F,EAAuC,CACnDC,QAAQC,GACP5G,OAAOmF,eAAeyB,EAAY3G,UAAW,UAAW,CACvDoF,MACC,OAAOwB,KAAKC,YClChBC,OAAIC,IAAIC,QACRF,OAAIC,IAAIN,GAGR,MAAMQ,EAAiBC,UACjB7G,EAAU4G,EACdE,OACAC,IAAKC,GAAS,CAACA,EAAKC,QAAQ,kBAAmB,IAAKL,EAAeI,KACnEE,OAAOC,GACY,cAAXA,EAAI,IAEZC,OAAO,CAACpH,GAAUoE,EAAMjD,WAEEkD,IAAtBlD,EAAOkG,aACVlG,EAAOkG,YAAa,GAGd,IAAKrH,EAAS,CAACoE,GAAOjD,IAC3B,IAEW,WAAIwF,OAAKW,MAAM,CAC7BC,QAAS,GACTC,MAAO,GACPC,UAAW,GACXC,QAAS,GACT1H,QAAS,IACLA,M,qVCoBE,MAAMwH,EAAe,CAC3BG,QAAS,CACRC,SAAS,GAEVA,QAAS,GACTC,QAAS,GACTC,qBAAsB,GACtBC,gBAAiB,GACdC,kBAAmB,GACtBC,kBAAmB,GACnBC,cAAe,GACfC,eAAgB,KAChBC,iBAAkB,KAClBC,qBAAsB,KACtBC,eAAgB,KAChBC,mBAAoB,KACpBC,yBAA0B,KAC1BC,6BAA8B,KAC9BC,sCAAuC,GACvCC,qBAAsB,KACtBC,mBAAoB,GACpBC,eAAgB,KAChBC,gBAAiB,KACdC,qBAAsB,CAClBC,mBAAoB,GACpBC,mBAAoB,GACpBC,YAAa,GACbC,MAAO,GACPC,0BAA2B,GAC3BC,iBAAkB,GAClBC,YAAa,GACbC,SAAU,IAEdC,aAAc,KACdC,qBAAsB,CAClBC,mBAAmB,IAK3B,IAAKC,GAAL,SAAKA,GACJA,EAAA,6BACAA,EAAA,6BACAA,EAAA,6BACAA,EAAA,2BACAA,EAAA,uDACAA,EAAA,6CACAA,EAAA,+CACAA,EAAA,yCACGA,EAAA,iDACHA,EAAA,+BACAA,EAAA,yCACAA,EAAA,2BACAA,EAAA,qCACAA,EAAA,iDACAA,EAAA,2DACAA,EAAA,6EACAA,EAAA,gDACAA,EAAA,iCACAA,EAAA,iCACAA,EAAA,iDACGA,EAAA,qDACHA,EAAA,6CACAA,EAAA,6CACAA,EAAA,yCACAA,EAAA,kDACAA,EAAA,+DACAA,EAAA,iFACAA,EAAA,oDACAA,EAAA,uDACAA,EAAA,+DACAA,EAAA,2DACAA,EAAA,mEACAA,EAAA,6CACAA,EAAA,sDACGA,EAAA,6DACAA,EAAA,iEACAA,EAAA,2CACAA,EAAA,4DAtCJ,CAAKA,MAAa,KAgFX,MAAMlC,EAA6C,CACzD,CAACkC,EAAcC,aAAapC,EAAcG,GACzCH,EAAMG,QAAUA,GAEjB,CAACgC,EAAcE,aAAarC,EAAcI,GACzCJ,EAAMI,QAAUA,GAEjB,CAAC+B,EAAcG,aAAatC,EAAcK,GACzCL,EAAMK,QAAUA,GAEjB,CAAC8B,EAAcI,YAAYvC,EAAcwC,GACxCxC,EAAMW,eAAiB6B,GAExB,CAACL,EAAcM,0BAA0BzC,EAAc0C,GACtD1C,EAAMM,qBAAuBoC,GAE9B,CAACP,EAAcQ,qBAAqB3C,EAAcO,GACjDP,EAAMO,gBAAkBA,GAEzB,CAAC4B,EAAcS,uBAAuB5C,EAAcQ,GACnDR,EAAMQ,kBAAoBA,GAE3B,CAAC2B,EAAcU,sBAAsB7C,EAAcS,GAClDT,EAAMS,kBAAoBA,GAE3B,CAAC0B,EAAcW,mBAAmB9C,EAAcU,GAC/CV,EAAMU,cAAgBA,GAEvB,CAACyB,EAAcY,cAAc/C,EAAcgD,GAC1ChD,EAAMY,iBAAmBoC,GAE1B,CAACb,EAAcc,mBAAmBjD,EAAckD,GAC/ClD,EAAMa,qBAAuBqC,GAE9B,CAACf,EAAcgB,YAAYnD,EAAcoD,GACxCpD,EAAMc,eAAiBsC,GAExB,CAACjB,EAAckB,iBAAiBrD,EAAckD,GAC7ClD,EAAMe,mBAAqBmC,GAE5B,CAACf,EAAcmB,uBAAuBtD,EAAcuD,GACnDvD,EAAMgB,yBAA2BuC,GAElC,CAACpB,EAAcqB,4BAA4BxD,EAAckD,GACxDlD,EAAMiB,6BAA+BiC,GAEtC,CAACf,EAAcsB,qCAAqCzD,EAAc0D,GACjE1D,EAAMkB,sCAAwCwC,GAE/C,CAACvB,EAAcwB,kBAAkB3D,EAAc4D,GAC9C5D,EAAMmB,qBAAuByC,GAE3B,CAACzB,EAAc0B,oBAAoB7D,EAAc8D,GACnD9D,EAAMgC,aAAe8B,GAEnB,CAAC3B,EAAc4B,4BAA4B/D,EAAciC,GACrDjC,EAAMiC,qBAAuBA,GAEpC,CAACE,EAAc6B,eAAehE,EAAciE,GAC3CjE,EAAMG,QAAU,CACfC,SAAS,GAEVJ,EAAMI,QAAU,GAChBJ,EAAMK,QAAU,GAChBL,EAAMO,gBAAkB,GAClBP,EAAMQ,kBAAoB,GAChCR,EAAMU,cAAgB,GACtBV,EAAMS,kBAAoB,GAC1BT,EAAMW,eAAiB,KACvBX,EAAMY,iBAAmB,KACzBZ,EAAMa,qBAAuB,KAC7Bb,EAAMc,eAAiB,KACvBd,EAAMe,mBAAqB,KAC3Bf,EAAMgB,yBAA2B,KACjChB,EAAMiB,6BAA+B,KACrCjB,EAAMkB,sCAAwC,GAC9ClB,EAAMmB,qBAAuB,KAC7BnB,EAAMoB,mBAAqB,GAC3BpB,EAAMqB,eAAiB,KACjBrB,EAAMuB,qBAAuB,GAC7BvB,EAAMgC,aAAe,KACrBhC,EAAMiC,qBAAuB,CAAEC,mBAAmB,IAEzD,CAACC,EAAc+B,eAAelE,EAAciE,GAC3CjE,EAAMK,QAAU,IAEjB,CAAC8B,EAAcgC,uBAAuBnE,EAAciE,GACnDjE,EAAMO,gBAAkB,IAEzB,CAAC4B,EAAciC,yBAAyBpE,EAAciE,GACrDjE,EAAMQ,kBAAoB,IAE3B,CAAC2B,EAAckC,qBAAqBrE,EAAciE,GACjDjE,EAAMW,eAAiB,KACvBX,EAAMU,cAAgB,IAEvB,CAACyB,EAAcmC,qBAAqBtE,EAAciE,GACjDjE,EAAMa,qBAAuB,MAE9B,CAACsB,EAAcoC,mBAAmBvE,EAAciE,GAC/CjE,EAAMe,mBAAqB,MAE5B,CAACoB,EAAcqC,0BAA0BxE,EAAciE,GACtDjE,EAAMgB,yBAA2B,KACjChB,EAAMiB,6BAA+B,KACrCjB,EAAMkB,sCAAwC,GAC9ClB,EAAMS,kBAAoB,GAC1BT,EAAMmB,qBAAuB,MAE9B,CAACgB,EAAcsC,8BAA8BzE,EAAciE,GAC1DjE,EAAMgB,yBAA2B,KACjChB,EAAMiB,6BAA+B,KACrCjB,EAAMmB,qBAAuB,MAE9B,CAACgB,EAAcuC,uCAAuC1E,EAAciE,GACnEjE,EAAMkB,sCAAwC,IAE/C,CAACiB,EAAcwC,oBAAoB3E,EAAciE,GAChDjE,EAAMmB,qBAAuB,MAE9B,CAACgB,EAAcyC,0BAA0B5E,EAAc6E,GACtD7E,EAAMoB,mBAAqByD,GAE5B,CAAC1C,EAAc2C,8BAA8B9E,EAAc6E,GAC1D7E,EAAMqB,eAAiBwD,GAExB,CAAC1C,EAAc4C,4BAA4B/E,EAAciE,GACxDjE,EAAMoB,mBAAqB,IAE5B,CAACe,EAAc6C,gCAAgChF,EAAciE,GAC5DjE,EAAMqB,eAAiB,MAExB,CAACc,EAAc8C,qBAAqBjF,EAAc6E,GACjD7E,EAAMoB,mBAAqByD,GAE5B,CAAC1C,EAAc+C,sBAAsBlF,EAAcmF,GAClDnF,EAAMsB,gBAAkB6D,GAEtB,CAAChD,EAAciD,6BAA6BpF,EAAcuB,GAC5DvB,EAAMuB,qBAAuBA,GAE3B,CAACY,EAAckD,+BAA+BrF,EAAciE,GAC9DjE,EAAMuB,qBAAuB,CACnBC,mBAAoB,GACpBC,mBAAoB,GACpBC,YAAa,GACbC,MAAO,GACPC,0BAA2B,GAC3BC,iBAAkB,GAClBC,YAAa,GACbC,SAAU,MAStB,IAAKuD,GAAL,SAAKA,GACJA,EAAA,2BACAA,EAAA,iCACAA,EAAA,6BACAA,EAAA,iCACAA,EAAA,yBACAA,EAAA,+CACAA,EAAA,2CACAA,EAAA,iDACAA,EAAA,qDACAA,EAAA,6CACAA,EAAA,6CACAA,EAAA,qDACAA,EAAA,uEACAA,EAAA,mDACAA,EAAA,6CACAA,EAAA,6DACAA,EAAA,uDACAA,EAAA,yDACAA,EAAA,6BACAA,EAAA,qCACAA,EAAA,iCACAA,EAAA,yBACAA,EAAA,iCACAA,EAAA,+CACAA,EAAA,mCACAA,EAAA,iDACAA,EAAA,+DACAA,EAAA,6CACAA,EAAA,qCACAA,EAAA,2CACAA,EAAA,yCACAA,EAAA,qDACAA,EAAA,mCACAA,EAAA,+CACAA,EAAA,+EACAA,EAAA,+BACAA,EAAA,+BACAA,EAAA,+CACGA,EAAA,mDACHA,EAAA,2CACAA,EAAA,yCACAA,EAAA,qCACAA,EAAA,mDACAA,EAAA,yDACAA,EAAA,yCACAA,EAAA,yCACAA,EAAA,iCACAA,EAAA,mCACAA,EAAA,mDACAA,EAAA,6CACAA,EAAA,2CACAA,EAAA,+CACAA,EAAA,yDACGA,EAAA,+BACAA,EAAA,qDACAA,EAAA,yDACAA,EAAA,qCACAA,EAAA,sDA1DJ,CAAKA,MAAW,KA0HT,MAAMpF,EAA8C,CAC1D,MAAOoF,EAAYC,aAAY,OAAEC,GAAUrF,GAC1CqF,EAAOrD,EAAcC,YAAajC,IAEnC,MAAOmF,EAAYG,gBAAe,OAAED,IACnC,IACC,MAAMpC,EAAS,IAAIsC,OACbC,QAAkCvC,EAAOwC,aAC/CJ,EAAOrD,EAAcE,YAAasD,EAASd,SAC1C,MAAOhL,GACR0E,QAAQsH,KAAK,6CAA+CC,KAAKC,UAAUlM,IAC3E2L,EAAOrD,EAAcE,YAAa,MAGpC,MAAOiD,EAAYU,cAAa,OAAER,GAAUpF,GAC3CoF,EAAOrD,EAAcE,YAAajC,IAEnC,MAAOkF,EAAYW,gBAAe,OAAET,IACnC,IAAI,IAAAU,EACH,MAAM9C,EAAS,IAAIsC,OACbS,EAA4D,QAAlDD,EAAIE,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsF,OAAA,EAA9CA,EAAgDI,GAC9DX,QAAiBvC,EAAOmD,WAAWJ,GACzCX,EAAOrD,EAAcG,YAAaqD,EAASd,SAC1C,MAAOhL,GAGR,MAFA0E,QAAQsH,KAAK,iCAAmCC,KAAKC,UAAUlM,IAC/D2L,EAAOrD,EAAcG,YAAa,IAC5BzI,IAGR,MAAOyL,EAAYkB,4BAA2B,OAAEhB,IAC/C,IAAI,IAAAiB,EACH,MAAMrD,EAAS,IAAIsC,OACbS,EAA4D,QAAlDM,EAAIL,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA6F,OAAA,EAA9CA,EAAgDH,GAC9DX,QAAiBvC,EAAOsD,uBAAuBP,GAC/CQ,EAAYhB,EAASpG,IAAI/B,GAAKA,EAAE8I,IAChCM,QAAwBxD,EAAOyD,uBAAuBV,EAAYQ,GACxEnB,EAAOrD,EAAcM,yBAA0BmE,GAC9C,MAAO/M,GAGR,MAFA0E,QAAQsH,KAAK,qCAAuCC,KAAKC,UAAUlM,IACnE2L,EAAOrD,EAAcM,yBAA0B,IACzC5I,IAGR,CAACyL,EAAYwB,YAAW,OAAEtB,GAAUhD,GACvBgD,EAAOrD,EAAcI,WAA7BC,GACkC,OAEvC,MAAO8C,EAAYyB,uBAAsB,OAAEvB,EAAM,SAAEwB,GAAYC,GAC9D,IAAI,IAAAC,EACH,MAAM9D,EAAS,IAAIsC,OACbS,EAA4D,QAAlDe,EAAId,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsG,OAAA,EAA9CA,EAAgDZ,SAE7ClD,EAAO2D,qBAAqBZ,EAAYc,GAC9D,MAAOpN,GACR,KAAM,iDAAiDiM,KAAKC,UAAUlM,QAGxE,MAAOyL,EAAY6B,qBAAoB,OAAE3B,EAAM,SAAEwB,GAAYC,GAC5D,IAAI,IAAAG,EAAAC,EACH,MAAMjE,EAAS,IAAIsC,OACbS,EAA4D,QAAlDiB,EAAIhB,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAwG,OAAA,EAA9CA,EAAgDd,GAC9DgB,EAAwD,QAAhDD,EAAIjB,OAAgBpG,MAAMqG,QAAQvF,sBAAc,IAAAuG,OAAA,EAA5CA,EAA8Cf,SAGzClD,EAAO+D,mBAAmBhB,EAAYmB,EAAUL,GACtE,MAAOpN,GACR,KAAM,iDAAiDiM,KAAKC,UAAUlM,QAGxE,MAAOyL,EAAYiC,wBAAuB,OAAE/B,IAC3C,IAAI,IAAAgC,EACH,MAAMpE,EAAS,IAAIsC,OACbS,EAA4D,QAAlDqB,EAAIpB,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA4G,OAAA,EAA9CA,EAAgDlB,GAC9DX,QAAiBvC,EAAOqE,mBAAmBtB,GAEjDX,EAAOrD,EAAcQ,oBAAqBgD,EAASd,SAClD,MAAOhL,GAGR,MAFA0E,QAAQsH,KAAK,0CAA4CC,KAAKC,UAAUlM,IACxE2L,EAAOrD,EAAcQ,oBAAqB,IACpC9I,IAGL,MAAOyL,EAAYoC,sBAAqB,OAAElC,IAC5C,IAAI,IAAAmC,EACH,MAAMvE,EAAS,IAAIsC,OACbS,EAA4D,QAAlDwB,EAAIvB,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA+G,OAAA,EAA9CA,EAAgDrB,GAC9DW,EAAYb,OAAgBpG,MAAM4H,UAAUC,KAAQzB,OAAgBpG,MAAM4H,UAAUC,KAAKC,IAAM,GAC/FnC,QAAiBvC,EAAO2E,iBAAiB5B,EAAYc,GAClD1I,QAAQyJ,IAAI,qBAAsBrC,GAE3CH,EAAOrD,EAAcS,sBAAuB+C,EAASd,SACpD,MAAOhL,GAGR,MAFA0E,QAAQsH,KAAK,4CAA8CC,KAAKC,UAAUlM,IAC1E2L,EAAOrD,EAAcS,sBAAuB,IACtC/I,IAGR,MAAOyL,EAAY2C,sBAAqB,OAAEzC,IACzC,IAAI,IAAA0C,EAAAC,EACH,MAAM/E,EAAS,IAAIsC,OACbS,EAA4D,QAAlD+B,EAAI9B,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsH,OAAA,EAA9CA,EAAgD5B,GAC9DgB,EAAwD,QAAhDa,EAAI/B,OAAgBpG,MAAMqG,QAAQvF,sBAAc,IAAAqH,OAAA,EAA5CA,EAA8C7B,GAC1DX,QAAiBvC,EAAOgF,iBAAiBjC,EAAYmB,GAErDe,EAAwBjC,OAAgBpG,MAAMqG,QAAQ3F,cAE5D,IAAI4H,GAAS,EACb,IAAI,IAAIvQ,EAAI,EAAGA,EAAIsQ,EAAqBpQ,OAAQF,IAC/C,GAAGsQ,EAAqBtQ,GAAGuP,UAAYA,EAAS,CAC/Ce,EAAqBlP,OAAOpB,EAAG,EAAG,CACjCuP,SAAUA,EACVjH,QAASsF,EAASd,UAEnByD,GAAS,EACT,MAGEA,GACHD,EAAqB9P,KAAK,CACzB+O,SAAUA,EACVjH,QAASsF,EAASd,UAIpBtG,QAAQyJ,IAAIK,GACZ7C,EAAOrD,EAAcW,kBAAmBuF,GACvC,MAAOxO,GAGR,MAFA0E,QAAQsH,KAAK,wCAA0CC,KAAKC,UAAUlM,IACtE2L,EAAOrD,EAAcG,YAAa,IAC5BzI,IAGR,MAAOyL,EAAYiD,0BAAyB,OAAE/C,IAC7C,IAAI,IAAAgD,EACH,MAAMpF,EAAS,IAAIsC,OACbS,EAA4D,QAAlDqC,EAAIpC,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA4H,OAAA,EAA9CA,EAAgDlC,GAC9DX,QAAiBvC,EAAOqF,qBAAqBtC,GACnDX,EAAOrD,EAAcU,qBAAsB8C,EAASd,SACpDtG,QAAQyJ,IAAIrC,GACX,MAAO9L,GACR0E,QAAQsH,KAAK,4CAA8CC,KAAKC,UAAUlM,IAC1E2L,EAAOrD,EAAcU,qBAAsB,MAG7C,MAAOyC,EAAYoD,yBAAwB,OAAElD,GAAUmD,GACtD,IAAI,IAAAC,EACH,MAAMxF,EAAS,IAAIsC,OACbS,EAA4D,QAAlDyC,EAAIxC,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAgI,OAAA,EAA9CA,EAAgDtC,SAC9DlD,EAAOyF,0BACZ1C,EACAwC,EAA8B/L,KAC9B+L,EAA8B9G,iBAC9B8G,EAA8BG,eAClBH,EAA8BI,gBAG1C,MAAOlP,GAER,MADA0E,QAAQjC,MAAM,kDAAoDwJ,KAAKC,UAAUlM,IAC1EA,IAGT,MAAOyL,EAAY0D,sBAAqB,OAAExD,GAAUwD,GACnD,IAAI,IAAAC,EAAAC,EACH,MAAM9F,EAAS,IAAIsC,OACbS,EAA4D,QAAlD8C,EAAI7C,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAqI,OAAA,EAA9CA,EAAgD3C,GAC9D6C,EAA4E,QAA1DD,EAAI9C,OAAgBpG,MAAMqG,QAAQrF,gCAAwB,IAAAkI,OAAA,EAAtDA,EAAwD5C,GAChF6C,GAAoB5K,QAAQsH,KAAK,iDAE/BzC,EAAOgG,mCACZjD,EACAgD,EACAH,EAAoBK,QAGpB,MAAOxP,GAER,MADA0E,QAAQjC,MAAM,4DAA8DwJ,KAAKC,UAAUlM,IACpFA,IAGT,MAAOyL,EAAYgE,8BAA6B,OAAE9D,GAAU8D,GAC3D,IAAI,IAAAC,EAAAC,EACH,MAAMpG,EAAS,IAAIsC,OACbS,EAA4D,QAAlDoD,EAAInD,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA2I,OAAA,EAA9CA,EAAgDjD,GAC9D6C,EAA4E,QAA1DK,EAAIpD,OAAgBpG,MAAMqG,QAAQrF,gCAAwB,IAAAwI,OAAA,EAAtDA,EAAwDlD,GACpF,IAAI6C,EAEH,YADA5K,QAAQsH,KAAK,iDAIRzC,EAAOqG,2CACZtD,EACAgD,EACAG,EAA4BR,gBAE5B,MAAOjP,GAER,MADA0E,QAAQjC,MAAM,qEAAuEwJ,KAAKC,UAAUlM,IAC7FA,IAGT,MAAOyL,EAAYoE,4BAA2B,OAAElE,IAC/C,IAAI,IAAAmE,EAAAC,EAAAC,EACH,MAAMzG,EAAS,IAAIsC,OACbS,EAA4D,QAAlDwD,EAAIvD,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA+I,OAAA,EAA9CA,EAAgDrD,GAC9D6C,EAAwE,QAAtDS,EAAIxD,OAAgBpG,MAAMqG,QAAQlF,4BAAoB,IAAAyI,OAAA,EAAlDA,EAAoDE,iBAC1EC,EAAwE,QAAtDF,EAAIzD,OAAgBpG,MAAMqG,QAAQlF,4BAAoB,IAAA0I,OAAA,EAAlDA,EAAoDG,MAEhF,IAAIb,EAEH,YADA5K,QAAQsH,KAAK,iDAIRzC,EAAO6G,oBACZ9D,EACAgD,EACAY,GAEA,MAAOlQ,GAER,MADA0E,QAAQjC,MAAM,iDAAmDwJ,KAAKC,UAAUlM,IACzEA,IAGT,MAAOyL,EAAY4E,2BAA0B,OAAE1E,IAC9C,IAAI,IAAA2E,EAAAC,EAAAC,EACH,MAAMjH,EAAS,IAAIsC,OACbS,EAA4D,QAAlDgE,EAAI/D,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAuJ,OAAA,EAA9CA,EAAgD7D,GAC9D6C,EAAwE,QAAtDiB,EAAIhE,OAAgBpG,MAAMqG,QAAQlF,4BAAoB,IAAAiJ,OAAA,EAAlDA,EAAoDN,iBAC1EC,EAAwE,QAAtDM,EAAIjE,OAAgBpG,MAAMqG,QAAQlF,4BAAoB,IAAAkJ,OAAA,EAAlDA,EAAoDL,MAEhF,IAAIb,EAEH,YADA5K,QAAQsH,KAAK,iDAIRzC,EAAOkH,mBACZnE,EACAgD,EACAY,GAEA,MAAOlQ,GAER,MADA0E,QAAQjC,MAAM,gDAAkDwJ,KAAKC,UAAUlM,IACxEA,IAGT,CAACyL,EAAYiF,cAAa,OAAE/E,GAAUxC,GACjCA,GAAoC,aAAxBA,EAASwH,WAA2BhF,EAAOrD,EAAcY,aAAcC,GAClFwC,EAAOrD,EAAcY,aAAc,OAEzC,CAACuC,EAAYmF,YAAW,OAAEjF,GAAUpC,GACvBoC,EAAOrD,EAAcgB,WAA7BC,GACkC,OAEvC,MAAOkC,EAAYoF,kBAAiB,OAAElF,IACrC,IAAI,IAAAmF,EACH,MAAMvH,EAAS,IAAIsC,OACbS,EAA4D,QAAlDwE,EAAIvE,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA+J,OAAA,EAA9CA,EAAgDrE,GAC9DX,QAAiBvC,EAAOsH,gBAAgBvE,GAC9CX,EAAOrD,EAAcc,kBAAmB0C,GACvC,MAAO9L,GACR0E,QAAQjC,MAAM,sCAAwCwJ,KAAKC,UAAUlM,IACrE2L,EAAOrD,EAAcc,kBAAmB,QAG1C,MAAOqC,EAAYsF,gBAAe,OAAEpF,IACnC,IAAI,IAAAqF,EAAAC,EACH,MAAM1H,EAAS,IAAIsC,OACbS,EAA4D,QAAlD0E,EAAIzE,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAiK,OAAA,EAA9CA,EAAgDvE,GAC9DgB,EAAwD,QAAhDwD,EAAI1E,OAAgBpG,MAAMqG,QAAQvF,sBAAc,IAAAgK,OAAA,EAA5CA,EAA8CxE,GAC1DX,QAAiBvC,EAAOwH,cAAczE,EAAYmB,GACxD/I,QAAQyJ,IAAIrC,GACZH,EAAOrD,EAAckB,gBAAiBsC,GACrC,MAAO9L,GAGR,MAFA0E,QAAQjC,MAAM,qCAAuCwJ,KAAKC,UAAUlM,IACpE2L,EAAOrD,EAAckB,gBAAiB,MAC/BxJ,IAGT,CAACyL,EAAYyF,sBAAqB,OAAEvF,GAAUjC,GAC7BiC,EAAOrD,EAAcmB,sBAAjCC,GAC6C,OAElD,CAAC+B,EAAY0F,kBAAiB,OAAExF,GAAU5B,GACvB4B,EAAOrD,EAAcwB,iBAAnCC,GACwC,OAE7C,MAAO0B,EAAY2F,qBAAoB,OAAEzF,EAAM,SAAEwB,GAAYpD,GAC5D,IAAI,IAAAsH,EAAAC,EAAAC,EACH,MAAMhI,EAAS,IAAIsC,OACbS,EAA4D,QAAlD+E,EAAI9E,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsK,OAAA,EAA9CA,EAAgD5E,GAE9D+E,EAA8E,QAA1DF,EAAI/E,OAAgBpG,MAAMqG,QAAQrF,gCAAwB,IAAAmK,OAAA,EAAtDA,EAAwD7E,GAEhFgF,EAAoE,QAA9DF,EAAIhF,OAAgBpG,MAAMqG,QAAQpF,oCAA4B,IAAAmK,OAAA,EAA1DA,EAA4DpB,MAC5E,IAAIsB,EACH,KAAM,mDACA,GACND,IAAyBC,IACrB1H,EAEJ,KAAM,kDAIgBR,EAAO6H,mBAAmB9E,EAAYkF,EAAsBzH,GAClF,MAAO/J,GACR,KAAM,iDAAiDiM,KAAKC,UAAUlM,QAGxE,MAAOyL,EAAYiG,0BAAyB,OAAE/F,IAC7C,IAAI,IAAAgG,EAAAC,EACH,MAAMrI,EAAS,IAAIsC,OACbS,EAA4D,QAAlDqF,EAAIpF,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA4K,OAAA,EAA9CA,EAAgDlF,GAC9D6C,EAA4E,QAA1DsC,EAAIrF,OAAgBpG,MAAMqG,QAAQrF,gCAAwB,IAAAyK,OAAA,EAAtDA,EAAwDnF,GAChF6C,GAAoB5K,QAAQsH,KAAK,2CAErC,MAAMF,QAAiBvC,EAAOmI,wBAAwBpF,EAAYgD,GAClE3D,EAAOrD,EAAcqB,2BAA4BmC,GAChD,MAAO9L,GACR0E,QAAQjC,MAAM,gDAAkDwJ,KAAKC,UAAUlM,IAC/E2L,EAAOrD,EAAcqB,2BAA4B,QAGnD,MAAO8B,EAAYoG,mCAAkC,OAAElG,IACtD,IAAI,IAAAmG,EAAAC,EACH,MAAMxI,EAAS,IAAIsC,OACbS,EAA4D,QAAlDwF,EAAIvF,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA+K,OAAA,EAA9CA,EAAgDrF,GAC9D6C,EAA4E,QAA1DyC,EAAIxF,OAAgBpG,MAAMqG,QAAQrF,gCAAwB,IAAA4K,OAAA,EAAtDA,EAAwDtF,GAChF6C,GAAoB5K,QAAQsH,KAAK,2CACrC,MAAMF,QAAiBvC,EAAOsI,iCAAiCvF,EAAYgD,GAC3E3D,EAAOrD,EAAcsB,oCAAqCkC,EAASd,SAClE,MAAOhL,GACR0E,QAAQjC,MAAM,yDAA2DwJ,KAAKC,UAAUlM,IACxF2L,EAAOrD,EAAcsB,oCAAqC,MAGzD,MAAO6B,EAAYuG,kBAAiB,OAAErG,GAAUsG,GAClD,IAAI,IAAAC,EAAAC,EACM,IAAIC,EAA0BjM,EAAMgC,aAEpC,IAAIiK,EAAI,CACJ,MAAM7I,EAAS,IAAIsC,OACbC,QAA+BvC,EAAO8I,sBAAsBJ,GAClEtG,EAAOrD,EAAc0B,mBAAoB8B,GAG7CsG,EAAMjM,EAAMgC,aAEZ,MAAMmK,EAAyB,QAANJ,EAAGE,SAAG,IAAAF,OAAA,EAAHA,EAAKK,GAAGC,KAAM,EAAGzP,UAAWA,IAAS0P,OAAiBC,cAC5EC,EAAgF,QAAvER,EAAsB,OAAnBG,QAAmB,IAAnBA,OAAmB,EAAnBA,EAAqBM,MAAMC,SAASC,OAAgBC,wBAAgB,IAAAZ,KACtFzN,QAAQyJ,IAAI,0BAA2BwE,GAEvC,MAAMvK,EAA6C,CAC/CC,kBAAmBsK,GAGvBhH,EAAOrD,EAAc4B,2BAA4B9B,GAEzD,MAAOpI,GACC,MAAMgT,EAAe/G,KAAKC,UAAUlM,GACjCgT,EAAaH,SAAS,OACrBnO,QAAQsH,KAAK,uFAAyFC,KAAKC,UAAUlM,IAErH0E,QAAQjC,MAAM,4CAA8CwJ,KAAKC,UAAUlM,IAExF2L,EAAOrD,EAAc0B,mBAAoB,QAG3C,MAAOyB,EAAYwH,gBAAe,OAAEtH,GAAUtC,GAC7C,IAAI,IAAA6J,EAAAC,EACH,MAAM5J,EAAS,IAAIsC,OACbS,EAA4D,QAAlD4G,EAAI3G,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAmM,OAAA,EAA9CA,EAAgDzG,GAC9DgB,EAAwD,QAAhD0F,EAAI5G,OAAgBpG,MAAMqG,QAAQvF,sBAAc,IAAAkM,OAAA,EAA5CA,EAA8C1G,SAE1DlD,EAAO6J,iBAAiB9G,EAAYmB,EAAUpE,GAEpD,MAAMgK,EAAsB9G,OAAgBpG,MAAMqG,QAAQ9F,gBAC1D,IAAI,IAAIxI,EAAI,EAAGA,EAAImV,EAAmBjV,OAAQF,IAC1CmV,EAAmBnV,GAAGuO,IAAMgB,GAAgB,OAAJpE,QAAI,IAAJA,KAAMtG,OAAMsQ,EAAmBnV,GAAG6E,KAAW,OAAJsG,QAAI,IAAJA,OAAI,EAAJA,EAAMtG,MAE3F4I,EAAOrD,EAAcQ,oBAAqBuK,GAE1C,MAAMC,EAAa/G,OAAgBpG,MAAMqG,QAAQvF,eAC9CqM,GAAiB,OAAJjK,QAAI,IAAJA,KAAMtG,OAAMuQ,EAAUvQ,KAAW,OAAJsG,QAAI,IAAJA,OAAI,EAAJA,EAAMtG,MACnD4I,EAAOrD,EAAcgB,WAAYgK,GAEjC,MAAMC,EAAiBhH,OAAgBpG,MAAMqG,QAAQtF,mBAClDqM,GAAqB,OAAJlK,QAAI,IAAJA,KAAMtG,OAAMwQ,EAAcxQ,KAAW,OAAJsG,QAAI,IAAJA,OAAI,EAAJA,EAAMtG,MAC3D4I,EAAOrD,EAAckB,gBAAiB+J,GACrC,MAAOvT,GAER,MADA0E,QAAQjC,MAAM,wCAA0CwJ,KAAKC,UAAUlM,IAChEA,IAGT,MAAOyL,EAAY+H,uBAAsB,OAAE7H,GAAUtC,GACpD,IAAI,IAAAoK,EAAAC,EACH,MAAMnK,EAAS,IAAIsC,OACbS,EAA4D,QAAlDmH,EAAIlH,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA0M,OAAA,EAA9CA,EAAgDhH,GAC9DgB,EAAwD,QAAhDiG,EAAInH,OAAgBpG,MAAMqG,QAAQvF,sBAAc,IAAAyM,OAAA,EAA5CA,EAA8CjH,SAE1DlD,EAAOoK,wBAAwBrH,EAAYmB,EAAUpE,GAE3D,MAAMkK,EAAiBhH,OAAgBpG,MAAMqG,QAAQtF,mBAClDqM,GAAqB,OAAJlK,QAAI,IAAJA,KAAMuK,cAAaL,EAAcK,YAAkB,OAAJvK,QAAI,IAAJA,OAAI,EAAJA,EAAMuK,aACzEjI,EAAOrD,EAAckB,gBAAiB+J,GACrC,MAAOvT,GAER,MADA0E,QAAQjC,MAAM,wCAA0CwJ,KAAKC,UAAUlM,IAChEA,IAGT,MAAOyL,EAAYoI,iBAAgB,OAAElI,GAAUtC,GAC9C,IAAI,IAAAyK,EACH,MAAMvK,EAAS,IAAIsC,OACbS,EAA4D,QAAlDwH,EAAIvH,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA+M,OAAA,EAA9CA,EAAgDrH,SAE9DlD,EAAOwK,kBAAkBzH,EAAYjD,GAC1C,MAAOrJ,GAER,MADA0E,QAAQjC,MAAM,yCAA2CwJ,KAAKC,UAAUlM,IACjEA,IAGT,MAAOyL,EAAYuI,wBAAuB,OAAErI,GAAUtC,GACrD,IAAI,IAAA4K,EACH,MAAM1K,EAAS,IAAIsC,OACbS,EAA4D,QAAlD2H,EAAI1H,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAkN,OAAA,EAA9CA,EAAgDxH,SAE9DlD,EAAO2K,yBAAyB5H,EAAYjD,GACjD,MAAOrJ,GAER,MADA0E,QAAQjC,MAAM,yCAA2CwJ,KAAKC,UAAUlM,IACjEA,IAGT,MAAOyL,EAAY0I,+BAA8B,OAAExI,GAAUtC,GAC5D,IAAI,IAAA+K,EACH,MAAM7K,EAAS,IAAIsC,OACbS,EAA4D,QAAlD8H,EAAI7H,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAqN,OAAA,EAA9CA,EAAgD3H,SAE9DlD,EAAO8K,gCAAgC/H,EAAYjD,GACxD,MAAOrJ,GAER,MADA0E,QAAQjC,MAAM,yCAA2CwJ,KAAKC,UAAUlM,IACjEA,IAGT,MAAOyL,EAAY6I,oBAAmB,OAAE3I,GAAU4I,GACjD,IAAI,IAAAC,EACH,MAAMjL,EAAS,IAAIsC,OACbS,EAA4D,QAAlDkI,EAAIjI,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAyN,OAAA,EAA9CA,EAAgD/H,SAC9DlD,EAAOkL,qBAAqBnI,EAAYiI,GAC7C,MAAOvU,GACR,KAAM,yCAAyCiM,KAAKC,UAAUlM,QAGhE,MAAOyL,EAAYiJ,0BAAyB,OAAE/I,GAAU4I,GACvD,IAAI,IAAAI,EAAAC,EACH,MAAMrL,EAAS,IAAIsC,OACbS,EAA4D,QAAlDqI,EAAIpI,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA4N,OAAA,EAA9CA,EAAgDlI,GAC9DgB,EAAwD,QAAhDmH,EAAIrI,OAAgBpG,MAAMqG,QAAQvF,sBAAc,IAAA2N,OAAA,EAA5CA,EAA8CnI,SAE1DlD,EAAOsL,2BAA2BvI,EAAYmB,EAAU8G,GAC7D,MAAOvU,GACR,KAAM,yCAAyCiM,KAAKC,UAAUlM,QAGhE,MAAOyL,EAAYqJ,iBAAgB,OAAEnJ,GAAUoJ,GAC9C,IAAI,IAAAC,EACH,MAAMzL,EAAS,IAAIsC,OACbS,EAA4D,QAAlD0I,EAAIzI,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAiO,OAAA,EAA9CA,EAAgDvI,GAC9DgB,EAAWsH,EAAsBE,eAAiB,GAClD7H,EAAW2H,EAAsBpM,OAAO8D,GAAK,SAE7ClD,EAAO2L,uBAAuB5I,EAAYmB,EAAUL,EAAU2H,EAAsBE,eAAgBF,EAAsBI,eAC/H,MAAOnV,GAER,MADA0E,QAAQjC,MAAM,wDAA0DwJ,KAAKC,UAAUlM,IAChFA,IAGT,MAAOyL,EAAY2J,uBAAsB,OAAEzJ,GAAU0J,GACpD,IAAI,IAAAC,EACH,MAAM/L,EAAS,IAAIsC,OACbS,EAA4D,QAAlDgJ,EAAI/I,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAuO,OAAA,EAA9CA,EAAgD7I,GAC9DgB,EAAW4H,EAA4B9L,OAAOkD,GAC9CW,EAAWiI,EAA4B1M,OAAO8D,SAE9ClD,EAAO6L,qBACZ9I,EACAmB,EACAL,EACAiI,EAA4BE,sBAE5B,MAAOvV,GAER,MADA0E,QAAQjC,MAAM,wDAA0DwJ,KAAKC,UAAUlM,IAChFA,IAGT,MAAOyL,EAAY+J,uCAAsC,OAAE7J,GAAUrK,GACpE,IAAI,IAAAmU,EACH,MAAMlM,EAAS,IAAIsC,OACbS,EAA4D,QAAlDmJ,EAAIlJ,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA0O,OAAA,EAA9CA,EAAgDhJ,GAC9DgB,EAAWnM,EAAQiI,OAAOkD,GAC1BW,EAAW9L,EAAQqH,OAAO8D,SAE1BlD,EAAOiM,qCACZlJ,EACAmB,EACAL,EACA9L,EAAQoU,0BACRpU,EAAQqU,2BAER,MAAO3V,GAER,MADA0E,QAAQjC,MAAM,gEAAkEwJ,KAAKC,UAAUlM,IACxFA,IAGT,MAAOyL,EAAYmK,oBAAmB,OAAEjK,EAAM,SAAEwB,GAAW7L,GAC1D,IACC,MAAMiI,EAAS,IAAIsC,OACbC,QAA4CvC,EAAOqM,kBAAkBtU,GAC3EqK,EAAOrD,EAAcyC,yBAA0Be,EAASd,SACvD,MAAOhL,GACR0E,QAAQsH,KAAK,6CAA+CC,KAAKC,UAAUlM,MAG7E,MAAOyL,EAAYjE,iBAAgB,OAAEmE,EAAM,SAAEwB,GAAYC,GACxD,IACC,MAAM7D,EAAS,IAAIsC,OACbC,QAAoCvC,EAAOsM,kBAAkBzI,GACnEzB,EAAOrD,EAAc2C,6BAA8Ba,GAClD,MAAO9L,GAER,MADA0E,QAAQsH,KAAK,2CAA4CoB,EAAW,YAAcnB,KAAKC,UAAUlM,IAC1FA,IAGT,MAAOyL,EAAYqK,gBAAe,OAAEnK,EAAM,SAAEwB,GAAYC,GACvD,IACC,MAAM7D,EAAS,IAAIsC,aACGtC,EAAOuM,cAAc1I,GAC1C,MAAOpN,GAER,MADA0E,QAAQsH,KAAK,6CAA+CC,KAAKC,UAAUlM,IACpEA,IAGN,MAAOyL,EAAYiH,eAAc,OAAE/G,GAAUoK,GAAwC,IAAAC,EAEjF,MAAMC,EAAiB1J,OAAgBpG,MAAM4H,UAAUC,KAAQzB,OAAgBpG,MAAM4H,UAAUC,KAAKC,IAAM,GACpGiI,EAA6E,QAA3DF,EAAIzJ,OAAgBpG,MAAM4H,UAAUC,KAAKmI,0BAAkB,IAAAH,IAAI,GAEvFD,EAAoBhO,0BAA4BmO,EAChDH,EAAoB/N,iBAAmBiO,EACvCF,EAAoB7N,SAAWkO,iBAC/BL,EAAoBpO,mBAAqByO,iBACzCzK,EAAOrD,EAAciD,4BAA6BwK,GAExD,IACC,MAAMxM,EAAS,IAAIsC,OAEJC,QAAiBvC,EAAO8M,uBAAuBN,GAGrD,OADArR,QAAQyJ,IAAI,2BAA4BrC,GACjCG,KAAKC,UAAUJ,GAC9B,MAAO9L,GAEC,GADA0E,QAAQjC,MAAM,kDAAoDwJ,KAAKC,UAAUlM,IAC9EsW,IAAMC,aAAavW,GAAG,KAAAwW,EACrB9R,QAAQyJ,IAAI,aAAcnO,EAAE8L,UAC5B,MAAM2K,EAA2B,QAAbD,EAAGxW,EAAE8L,gBAAQ,IAAA0K,OAAA,EAAVA,EAAYE,OAEnC,GAAsB,MAAnBD,EACC,OAAOzW,EAGhB,MAAOA,IAGjB,CAACyL,EAAYkL,qBAAoB,OAAEhL,GAAUL,GAC/BK,EAAOrD,EAAc+C,qBAA9BC,GAC4C,OAE9C,CAACG,EAAYmL,0BAAyB,OAAEjL,GAAUjE,GAC9ChD,QAAQyJ,IAAI,8BAA+BzG,GACjBiE,EAAOrD,EAAciD,4BAA3C7D,GACmD,KAE3D,CAAC+D,EAAYoL,0BAAyB,OAAElL,GAAUvD,GAC1BuD,EAAOrD,EAAc4B,2BAA3C9B,GACkD,CAAEC,mBAAmB,KAE5E,MAAOoD,EAAYqL,uBAAsB,OAAEnL,GAAUoL,GACpDpL,EAAOrD,EAAc8C,oBAAqB2L,IAExC,CAACtL,EAAYuL,4BAA2B,OAAErL,GAAUvB,GAChDuB,EAAOrD,EAAckD,8BAA+BpB,IAE3D,CAACqB,EAAYwL,eAAc,OAAEtL,GAAUvB,GACtCuB,EAAOrD,EAAc6B,cAAeC,IAErC,CAACqB,EAAYyL,eAAc,OAAEvL,GAAUvB,GACtCuB,EAAOrD,EAAc+B,cAAeD,IAErC,CAACqB,EAAY0L,uBAAsB,OAAExL,GAAUvB,GAC9CuB,EAAOrD,EAAcgC,sBAAuBF,IAE7C,CAACqB,EAAY2L,yBAAwB,OAAEzL,GAAUvB,GAChDuB,EAAOrD,EAAciC,wBAAyBH,IAE/C,CAACqB,EAAY4L,oBAAmB,OAAE1L,GAAUvB,GAC3CuB,EAAOrD,EAAcmC,oBAAqBL,IAE3C,CAACqB,EAAY6L,kBAAiB,OAAE3L,GAAUvB,GACzCuB,EAAOrD,EAAcoC,kBAAmBN,IAEzC,CAACqB,EAAY8L,qBAAoB,OAAE5L,GAAUvB,GAC5CuB,EAAOrD,EAAckC,oBAAqBJ,IAE3C,CAACqB,EAAY+L,yBAAwB,OAAE7L,GAAUvB,GAChDuB,EAAOrD,EAAcqC,yBAA0BP,IAEhD,CAACqB,EAAYgM,4BAA2B,OAAE9L,GAAUvB,GACnDuB,EAAOrD,EAAcsC,6BAA8BR,IAEpD,CAACqB,EAAYiM,oBAAmB,OAAE/L,GAAUvB,GAC3CuB,EAAOrD,EAAcwC,mBAAoBV,IAE1C,CAACqB,EAAYkM,yBAAwB,OAAEhM,GAAUvB,GAChDuB,EAAOrD,EAAc4C,2BAA4Bd,IAElD,CAACqB,EAAYmM,sBAAqB,OAAEjM,GAAUvB,GAC7CuB,EAAOrD,EAAc6C,+BAAgCf,KAQ1CyN,EAA8C,CAC1DC,WAAa3R,GACLA,I,uBC5jCTrG,EAAOD,QAAU,IAA0B,0B,6DCA3C,W,qBCAAC,EAAOD,QAAU,IAA0B,+C,iRCU3C,MAAMkY,EAAe,GACR5R,EAAe,IAAK4R,GAGjC,IAAKzP,GAAL,SAAKA,GACJA,EAAA,qBACAA,EAAA,iBACAA,EAAA,6BACAA,EAAA,gCAJD,CAAKA,MAAa,KAWX,MAAMlC,EAA6C,CACzD,CAACkC,EAAc0P,SAAS7R,EAAciM,GACrC,MAAMG,EAAKH,EAAIG,GAAG7M,IAAKuS,GACfA,EAAWlV,MAEbpE,EAAUyT,EAAIzT,QAAQ+G,IAAK5F,GACzBA,EAAOiD,MAEf,IAAKoD,EAAMiM,EAAIH,aAAe9L,EAAMiM,EAAIH,YAAYiG,YAAc9F,EAAI8F,UAAW,CAChF,MAAMC,EAAU,CACf5F,GAAIA,EACJ5T,QAASA,EACTuZ,UAAW9F,EAAI8F,UACfE,cAAehG,EAAIgG,eAEpBhT,OAAIiT,IAAIlS,EAAOiM,EAAIH,WAAYkG,KAGjC,CAAC7P,EAAcgQ,aAAanS,EAAcvG,GACzCvB,OAAOoH,KAAKU,GAAOoS,QAASnU,IAC3BgB,OAAIoT,OAAOrS,EAAO/B,MAGpB,CAACkE,EAAcmQ,cAActS,EAAc8L,GAC1C7M,OAAIoT,OAAOrS,EAAO8L,KAQpB,IAAKxG,GAAL,SAAKA,GACJA,EAAA,yBACAA,EAAA,4BAFD,CAAKA,MAAW,KAST,MAAMpF,EAA8C,CAC1D,MAAOoF,EAAYiN,YAAW,OAAE/M,GAAUsG,GAEzC,IAAI,IAAA5F,EACH,MAAM9C,EAAS,IAAIsC,OACbS,EAA4D,QAAlDD,EAAIE,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsF,OAAA,EAA9CA,EAAgDI,GAC9DkM,QAAiCpP,EAAOqP,aAAatM,EAAY2F,GACvEvN,QAAQyJ,IAAI,UACZzJ,QAAQyJ,IAAIwK,GACRA,EAAYP,eAAezM,EAAOrD,EAAc0P,QAASW,GAC5D,MAAO3Y,GACR0E,QAAQsH,KAAK,gCAAgCiG,aAAsBhG,KAAKC,UAAUlM,MAiBlF2L,EAAOrD,EAAcmQ,aAAcxG,KAIrC,CAACxG,EAAYoN,aAAY,OAAElN,GAAU/L,GACpC+L,EAAOrD,EAAcgQ,YAAa1Y,KAQvBiY,EAA8C,CAC1DiB,OAAS3S,GACDA,I,qBC7GTrG,EAAOD,QAAU,IAA0B,4B,4OCA+P,aAAC,IAAGkZ,EAAG,KAAeC,UAAY,GAAY,oB,OAAsBA,SAAuB,CAACC,IAAG,S,MAAC,C,IAAyBC,G,QAA6BC,G,MAA0EC,UAAWC,MAAM,IAAG,OAAC,0CAAC,yBAAIN,oBAAW,O,CAAchW,SAAW,C,YAAS,Q,CAASe,SAAmBqC,C,YAA4B,YAA2B,GAAE,CAACmT,MAAM,YAAC,EAAO,kBAAE,oEAAM,EAAC,WAAQ,a,CAA0B,U,WAAuB9T,EAAqC,YAAI,QAAO,SAAwD8T,MAAM,2BAAC,WAAO,6BAAIL,MAAG,CAAC,KAAO,K,GAA2C,OAAOM,C,MAAwE,CAAC,kBAAIR,YAAW,KAACO,IAAM,cAAmB,SAAY,OAAI,4B,MAAM,CAAsC,SAA8EA,IAAO,MAAQ,SAAE,GAAY,OAAX,EAAQ,kBAAG,uE,CAA8FlV,EAAG,OAAC,CAAiB,MAAO,CAAiE4U,aAAY,KAAaM,YAAM,K,IAAC,EAAY,Y,IAA6F,KAAUC,QAAIC,UAAmBC,QAAK,yB,MAAE,CAACR,MAAG,G,OAAQ,K,EAAoD,GAAC,UAASC,QAAO,oC,OAACA,SAAOQ,C,IAAiB,QAAOH,G,GAAcpT,YAAW,sBAA4qCA,EAAO,YAAI,sBAAvrC,W,YAAMwT,a,MAAY,cAAC,0DAAE,4BAACC,UAAYL,EAAIM,cAAI,U,GAAmB,C,MAAmB,CAACd,SAAG,G,OAAkC,EAAC,oB,SAAO,G,SAAW,iBAAW,YAAG,OAAKA,EAAqD,gBAAwCO,YAAM,OAAC,gBAAoB,cAAW,yBAAI,OAAC,KAAQ,EAASJ,KAAQA,KAAOQ,SAAsCvT,GAAO,SAAO,CAAF,uB,OAAkB,cAAE,WAAC2T,MAAK,CAAeP,KAAO,aAA6E,MAAU,I,GAAsCD,C,MAAa,SAAG,GAAoB,OAAnB,EAAKS,iBAAc,EAAS,SAAK,CAAC,SAA2B,e,KAA8D,c,GAAoB,gCAAO,+B,OAAI,UAAG,IAAI,UAAI,EAAwF,MAAMR,CAAqEP,KAAW,GAAcM,GAAM,QAAC,QAAW,EAAkE,eAAe,eAAqD,mBAAG,YAAC,OAAC,MAAO,CAAmB,KAAOC,EAAIS,KAAsB,KAAC,SAAyC,KAAOT,OAAa,4C,IAAklCU,GAAI,OAAI,CACj8H,OACGC,QAEJ,GAASC,EAAQD,M,2OCOF9U,SAAIgV,OAAO,CACzBrX,KAAM,YACNsX,UACCnV,KAAKoV,iBACLpV,KAAKqV,aAENC,MAAO,CACNC,OAAOC,IACoD,IAAtDA,EAAGC,KAAKC,QAAQ,eACnB1V,KAAK2V,UAAUtC,QAAQvY,IACtBA,EAAEmG,OAAQ,MAKdvI,OAOC,MAAO,CACNwb,WAAY,CACXC,MAAO,IACPyB,WAAY,GAEbD,UAAW,KAGbE,QAAS,CACRf,UAAUP,GACNA,GAASuB,OAAWC,MACvB/V,KAAKgW,QAAQxc,KAAK,CAACic,KAAMlB,IAAQ0B,MAAM,KAAQzW,QAAQyJ,IAAI,uBAE5DiN,SAASC,GACRnW,KAAK2V,UAAUtC,QAAQvY,IACnBA,EAAEyM,KAAgB,OAAV4O,QAAU,IAAVA,OAAU,EAAVA,EAAY5O,MACR,OAAV4O,QAAU,IAAVA,KAAYlV,MACfnG,EAAEmG,OAAQ,EAEVnG,EAAEmG,OAASnG,EAAEmG,UAKjBqT,cAAc/M,GACb,MAAM6O,EAAQpW,KAAK2V,UAAUrI,KAAMxS,GAAgBA,EAAEyM,IAAMA,GAC3D,QAAG6O,GAAcA,EAAMnV,OAGxBoV,YAAY5B,GACX,QAAIA,EAAK4B,aAGVC,YAAY7B,GACX,OAAOA,EAAK8B,SAASrd,OAAS,GAE/Bsd,QAAQ/B,GACP,MAAwB,SAApBA,EAAK1H,WAA8B,OAC3B0H,EAAK5W,MAElBuX,iBAEC,MAAMpc,EAAKgH,KAAKyW,MAAMC,OAAeC,IAAIC,cAAc,gCACvD5d,EAAE6d,MAAM1C,MAAQnU,KAAKkU,WAAW0B,WAAa,KAC7C5c,EAAE6d,MAAMC,OAAS,YACjB9d,EAAE6d,MAAME,gBAAkB,QAE3B1B,YACC,MAAM2B,EAAUhX,KAAKkU,WAAW0B,WAE1BqB,EAAMjX,KAAKyW,MAAMC,OAAeC,IAChCO,EAAeD,EAAGL,cAAc,gCAChCO,EAAYF,EAAGG,UAAUC,SAAS,8BAAgC,QAAU,OAElF,SAASC,EAAOxc,GACfS,SAASgc,KAAKV,MAAMC,OAAS,YAC7B,MAAMU,EAAkB,UAAdL,EAAwB5b,SAASgc,KAAKE,YAAc3c,EAAE4c,QAAU5c,EAAE4c,QAC5ET,EAAGJ,MAAM1C,MAAQqD,EAAI,KAGtBN,EAAaS,iBACZ,YACC7c,IACIA,EAAE8c,QAAUZ,IAAYhX,KAAKiU,QAAQhT,MAAM4W,IAAIC,SAClDb,EAAGJ,MAAMkB,WAAa,UACtBxc,SAASoc,iBAAiB,YAAaL,GAAQ,MAGjD,GAED/b,SAASoc,iBACR,UACA,KACCV,EAAGJ,MAAMkB,WAAa,GACtB/X,KAAKkU,WAAWC,MAAQ8C,EAAGJ,MAAM1C,MACjC5Y,SAASgc,KAAKV,MAAMC,OAAS,GAE7B,MAAMkB,EAAIf,EAAGJ,MAAM1C,MACb8D,EAAKD,EAAEE,MAAM,MAAM,GACzB3c,SAAS4c,oBAAoB,YAAab,GAAQ,GAE9CW,EAAK,MACRjY,KAAKiU,QAAQhM,SAAS,qBAAqB,GAC3CjI,KAAKkU,WAAWC,MAAQ,MAI1B,OCxHiZ,I,wBCQjZiE,EAAY,eACd,EACA,EACApD,GACA,EACA,KACA,WACA,MAIa,aAAAoD,E,gCCnBf,IAAI5X,EAAM,CACT,aAAc,OACd,eAAgB,OAChB,kBAAmB,OACnB,mBAAoB,OACpB,kBAAmB,QAIpB,SAAS6X,EAAeC,GACvB,IAAI/Q,EAAKgR,EAAsBD,GAC/B,OAAOje,EAAoBkN,GAE5B,SAASgR,EAAsBD,GAC9B,IAAIje,EAAoBgE,EAAEmC,EAAK8X,GAAM,CACpC,IAAIxd,EAAI,IAAI0B,MAAM,uBAAyB8b,EAAM,KAEjD,MADAxd,EAAE2B,KAAO,mBACH3B,EAEP,OAAO0F,EAAI8X,GAEZD,EAAe9X,KAAO,WACrB,OAAOpH,OAAOoH,KAAKC,IAEpB6X,EAAend,QAAUqd,EACzB3d,EAAOD,QAAU0d,EACjBA,EAAe9Q,GAAK,Q,oCCzBpB,mMAMA,MAAMsL,EAAe,CACpB2F,QAAS,GACTC,kBAAmB,IASPxX,EAAe,IAAI4R,GAGhC,IAAKzP,GAAL,SAAKA,GACJA,EAAA,iCACAA,EAAA,mCACAA,EAAA,uDACAA,EAAA,8BAJD,CAAKA,MAAa,KAeX,MAAMlC,EAA6C,CACzD,CAACkC,EAAcsV,gBAAgBzX,EAAc6E,GAC5C7E,EAAMuX,QAAU1S,GAEjB,CAAC1C,EAAcuV,0BAA0B1X,EAAc6E,GACtD7E,EAAMwX,kBAAoB3S,GAE3B,CAAC1C,EAAcwV,eAAe3X,GAC7BA,EAAMuX,QAAU,GAChBvX,EAAMwX,kBAAoB,IAE3B,CAACrV,EAAcgQ,aAAanS,GAC3B9H,OAAO0f,OAAO5X,EAAO4R,KAQvB,IAAKtM,GAAL,SAAKA,GACJA,EAAA,iCACAA,EAAA,yCACAA,EAAA,6DACAA,EAAA,4BAJD,CAAKA,MAAW,KAaT,MAAMpF,EAA8C,CAC1D,MAAOoF,EAAYuS,gBAAe,OAAErS,GAAUwM,GAC7CxM,EAAOrD,EAAcwV,mBAAe9a,GACpC,IAAI,IAAAqJ,EAAA4R,EACH,MAAM1U,EAAS,IAAIsC,OACbS,EAA4D,QAAlDD,EAAIE,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsF,OAAA,EAA9CA,EAAgDI,GAE9DyR,EAA+D,QAArCD,EAAG9F,EAAQ+F,kCAA0B,IAAAD,WAE/D9d,QAAQ+C,IAAI,CACjBqG,EAAO4U,WAAW7R,GAClB4R,EAA6B3U,EAAO6U,qBAAqB9R,GAAc,OACrEtK,KAAMqc,IAAc,IAAAC,EACtB,MAAMZ,EAAUW,EAAW,GACrBV,EAAoBU,EAAW,GAErC1S,EAAOrD,EAAcsV,eAAgBF,EAAQ1S,SACzCkT,GAA+C,OAAjBP,QAAiB,IAAjBA,KAAmB3S,UAA4B,OAAjB2S,QAAiB,IAAjBA,GAA0B,QAATW,EAAjBX,EAAmB3S,eAAO,IAAAsT,OAAA,EAA1BA,EAA4BlgB,QAAS,GACpGuN,EAAOrD,EAAcuV,yBAA2BF,EAAmD3S,WAKpG,MAAOhL,GACR2L,EAAOrD,EAAcsV,eAAgB,IACrCjS,EAAOrD,EAAcuV,yBAA0B,MAGjD,MAAOpS,EAAY8S,oBAAmB,OAAE5S,GAAUwM,GACjD,IAAI,IAAAvL,EACH,MAAMrD,EAAS,IAAIsC,OACbS,EAA4D,QAAlDM,EAAIL,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAA6F,OAAA,EAA9CA,EAAgDH,SAC9DlD,EAAOgV,kBAAkBjS,EAAY6L,EAAQhI,MAAOgI,EAAQ7W,SACjE,MAAOtB,GAER,MADA0E,QAAQjC,MAAMzC,GACR,4CAA4CiM,KAAKC,UAAUlM,QAGnE,MAAOyL,EAAY+S,8BAA6B,OAAE7S,GAAUwM,GAC3D,IAAI,IAAA9K,EACH,MAAM9D,EAAS,IAAIsC,OACb3D,EAA0D,QAAlDmF,EAAId,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsG,OAAA,EAA9CA,EAAgDZ,SAC5DlD,EAAOiV,4BAA4BtW,EAAUiQ,EAAQsG,aAActG,EAAQ7W,SAChF,MAAOtB,GAER,MADA0E,QAAQjC,MAAMzC,GACR,uDAAuDiM,KAAKC,UAAUlM,QAG9E,CAACyL,EAAYoN,aAAY,OAAElN,IAC1BA,EAAOrD,EAAcgQ,iBAAatV,KAMvB6U,EAA8C,I,oCC5H3D,W,iPCGO,MAoTM6G,EAAkB,CAC9B,CACCzM,WAAY,OACZwH,MAAO,IACPkF,KAAM,OACNC,KAAM,EACNC,QAAS,GACTpD,SAAU,IAEX,CACCxJ,WAAY,iBACZwH,MAAO,iBACPkF,KAAM,cACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,CACT,CACCxJ,WAAY,gBACZwH,MAAO,wBACPkF,KAAM,cACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,IAEX,CACCxJ,WAAY,kBACZwH,MAAO,0BACPkF,KAAM,cACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,MAIV,CACFxJ,WAAY,cACZwH,MAAO,eACPkF,KAAM,YACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,CACT,CACCxJ,WAAY,iBACZwH,MAAO,8BACPkF,KAAM,YACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,IAEX,CACCxJ,WAAY,aACZwH,MAAO,yBACPkF,KAAM,YACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,MAIb,CACCxJ,WAAY,WACZwH,MAAO,YACPkF,KAAM,YACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,CACT,CACCxJ,WAAY,kBACZwH,MAAO,oBACPkF,KAAM,OACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,IAEX,CACCxJ,WAAY,sBACZwH,MAAO,wBACPkF,KAAM,OACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,IAEX,CACCxJ,WAAY,kBACZwH,MAAO,oBACPkF,KAAM,OACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,MAIb,CACCxJ,WAAY,qBACZwH,MAAO,sBACPkF,KAAM,YACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,IAUX,CACCxJ,WAAY,eACZwH,MAAO,gBACPkF,KAAM,QACNC,KAAM,EACNC,QAAS,YACTpD,SAAU,IAEX,CACCxJ,WAAY,aACZwH,MAAO,cACPkF,KAAM,QACNC,KAAM,GACNC,QAAS,YACTpD,SAAU,IA2CX,CACCxJ,WAAY,iBACZwH,MAAO,kBACPkF,KAAM,aACNC,KAAM,GACNC,QAAS,YACTpD,SAAU,K,4BCndZ,MAAMqD,EAA2BA,CAACC,EAAyCC,KAC1E,MAAMrgB,EAAiC,GACjCsgB,EAAyB,GAkH/B,OAjHAva,QAAQyJ,IAAI,YACZzJ,QAAQyJ,IAAI4Q,GACZra,QAAQyJ,IAAI,WAKZ4Q,EAAcxG,QAAS2G,IAIU,SAA5BA,EAAajN,aAChBtT,EAAQD,KAAKwgB,GACbD,EAAavgB,KAAKwgB,EAAazF,QAIhC,IAAI0F,GAAU,EACKH,EAAaxM,KAAK,CAAC4M,EAAaC,KAClD,GAAGD,EAAYE,UAAYF,EAAY7D,aAAe6D,EAAY3D,SAASrd,OAAS,GAAK8gB,EAAazD,SAASrd,OAAS,EAAG,OAC3H,IAAI,IAAIF,EAAI,EAAGkhB,EAAY3D,SAASrd,OAASF,EAAGA,IAC/C,GAAGkhB,EAAY3D,SAASvd,GAAG+T,YAAciN,EAAazD,SAASvd,GAAG+T,WAAY,OAE/E,MAAMsN,EAAQ,IAAKH,KAAgBF,GACnCK,EAAM9D,SAAW,GACjB,IAAI,IAAIvd,EAAI,EAAGkhB,EAAY3D,SAASrd,OAASF,EAAGA,IAAI,CACnD,MAAMshB,EAAe,IAAKJ,EAAY3D,SAASvd,MAAOghB,EAAazD,SAASvd,IACzEshB,EAAaC,cACfF,EAAM9D,SAAS/c,KAAK8gB,GACpBP,EAAavgB,KAAK8gB,EAAa/F,QASjC,OANG8F,EAAM9D,SAASrd,OAAS,IAC1BO,EAAQD,KAAK6gB,GACbN,EAAavgB,KAAK6gB,EAAM9F,QAGzB0F,EAASE,EACFD,IAER,GAAGD,GAAU,EAEZ,YADAH,EAAa1f,OAAO6f,EAAQ,GAK7B,MAAMO,EAAmBV,EAAaxM,KAAM4M,GACnCA,EAAYnN,aAAeiN,EAAajN,YAAcmN,EAAYE,WAAaF,EAAY7D,aAAiB6D,EAAYnN,aAAeiN,EAAajN,YAAcmN,EAAYE,WAAaF,EAAY7D,aAA0C,eAA3B6D,EAAYnN,YAErO0N,EAAmBX,EAAaxM,KAAM4M,GACnCA,EAAYnN,aAAeiN,EAAajN,YAAcmN,EAAYE,UAAYF,EAAY7D,aAAe2D,EAAazD,SAASrd,SAAWghB,EAAY3D,SAASrd,QAAU8gB,EAAazD,SAASrd,OAAS,GAGjN,GAAIshB,GAIH,GAAIA,EAAiBD,YAAa,CACjC,MAAMF,EAAQ,IAAKG,KAAqBR,GAKxCK,EAAM9D,SAAW,GAGjByD,EAAazD,SAASlD,QAAQ,CAACqH,EAAqBC,KACnDb,EAAazG,QAAS6G,IACrBA,EAAY3D,SAASlD,QAAQ,CAACuH,EAAoBC,KACjD,GAAIF,IAA6BE,GAA2BH,EAAoB3N,aAAe6N,EAAmB7N,YAAc6N,EAAmBR,UAAYQ,EAAmBvE,YAAa,CAC9L,MAAMiE,EAAe,IAAKM,KAAuBF,GAC9CJ,EAAaC,cACfF,EAAM9D,SAAS/c,KAAK8gB,GACpBP,EAAavgB,KAAK8gB,EAAa/F,eAMpC9a,EAAQD,KAAK6gB,GACbN,EAAavgB,KAAK6gB,EAAM9F,aAEnB,GAAIkG,EAAkB,CAI5B,IAAIK,EAA8C,KAClD,MAAMC,EAAwC,GAC9Cf,EAAazD,SAASlD,QAAQ,CAACqH,EAAqBC,KACnDb,EAAazG,QAAS6G,IACrBA,EAAY3D,SAASlD,QAAQ,CAACuH,EAAoBC,KACjD,GAAIF,IAA6BE,GAA2BH,EAAoB3N,aAAe6N,EAAmB7N,YAAc6N,EAAmBR,UAAYQ,EAAmBvE,YAAa,CACzLyE,IAAiBA,EAAkB,IAAKZ,KAAgBF,IAC7D,MAAMK,EAAQ,IAAKO,KAAuBF,GAC1CK,EAAevhB,KAAK6gB,GACpBN,EAAavgB,KAAK6gB,EAAM9F,cAQxBuG,GAAmBL,EAAiBF,cACtCO,EAAwCvE,SAAWwE,EACpDhB,EAAavgB,KAAMshB,EAAwCvG,OAC3D9a,EAAQD,KAAKshB,OAKhBtb,QAAQyJ,IAAI,YAAaxP,GACzB+F,QAAQyJ,IAAI,kBAAmB8Q,GACxB,CACNiB,aAAcvhB,EACdsgB,aAAcA,IAIVlH,EAAe,CACpBoI,OAAQ,KACRnD,OAAQ,KACRre,QAAS,KACTsgB,aAAc,GACdmB,eAAgB,IAWJja,EAAe,IAAK4R,GAGjC,IAAKzP,GAAL,SAAKA,GACJA,EAAA,2BACAA,EAAA,qCACAA,EAAA,6BACAA,EAAA,6BACAA,EAAA,4CALD,CAAKA,MAAa,KAcX,MAAMlC,EAA6C,CACzD,CAACkC,EAAc+X,YAAYla,EAAcga,GACxCha,EAAMga,OAASA,GAEhB,CAAC7X,EAAcgY,iBAAiBna,EAAc6W,GAC7C7W,EAAM6W,OAASA,GAEhB,CAAC1U,EAAciY,aAAapa,EAAcqa,GACzC,IAAKA,EAGJ,OAFAra,EAAM8Y,aAAe,QACrB9Y,EAAMxH,QAAU,MAGjB,MAAM,aAAEuhB,EAAY,aAAEjB,GAAiBH,EAAyBJ,EAAiB8B,EAAYC,OAC7Fta,EAAMxH,QAAU,CACfuJ,SAAUsY,EAAYtY,SACtBwY,OAAQF,EAAYE,OACpBD,MAAOP,GAER/Z,EAAM8Y,aAAeA,EACrB,MAAM0B,EAAiBT,EAAa1N,KAAMxS,GAAgC,kBAAhBA,EAAEiS,YACtD2O,EAAkB,GACxB,GAAGD,EACF,IAAK,MAAOvc,EAAKyc,KAAMxiB,OAAOyiB,QAAsB,OAAdH,QAAc,IAAdA,OAAc,EAAdA,EAAgBI,WACrDH,EAAMliB,KAAKmiB,GAIb1a,EAAMia,eAAiBQ,GAExB,CAACtY,EAAcgQ,aAAanS,EAAciE,GACzC/L,OAAO0f,OAAO5X,EAAO4R,IAEtB,CAACzP,EAAc0Y,oBAAoB7a,EAAcia,GAChDja,EAAMia,eAAiBA,IAQzB,IAAK3U,GAAL,SAAKA,GACJA,EAAA,yBACAA,EAAA,iCACAA,EAAA,iCACAA,EAAA,2BACAA,EAAA,gDALD,CAAKA,MAAW,KAeT,MAAMpF,EAA8C,CAC1D,CAACoF,EAAYwV,YAAW,OAAEtV,GAAUwU,GACnCxU,EAAOrD,EAAc+X,WAAYF,IAElC,CAAC1U,EAAYyV,gBAAe,OAAEvV,GAAUqR,GACvCrR,EAAOrD,EAAcgY,gBAAiBtD,IAEvC,MAAOvR,EAAY0V,gBAAe,OAAExV,IACnC,IAAI,IAAAU,EACH,MAAM9C,EAAS,IAAIsC,OACbS,EAA4D,QAAlDD,EAAIE,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsF,OAAA,EAA9CA,EAAgDI,GACpE,GAAIH,EAAY,CAChB,MAAMR,QAAiBvC,EAAO6X,OAAO9U,GACrCX,EAAOrD,EAAciY,YAAazU,QAGjCH,EAAOrD,EAAciY,YAAa,MAElC,MAAMvgB,GACP0E,QAAQyJ,IAAI,iDAAmDlC,KAAKC,UAAUlM,IAE9E2L,EAAOrD,EAAciY,YAAa,QAGpC,CAAC9U,EAAYoN,aAAY,OAAElN,IAC1BA,EAAOrD,EAAcgQ,iBAAatV,IAEnC,CAACyI,EAAY4V,uBAAsB,OAAE1V,GAAUyU,GAC9CzU,EAAOrD,EAAc0Y,mBAAoBZ,KAW9BvI,EAA8C,CAC1DsI,OAASha,GACDA,EAAMga,OAEdnD,OAAS7W,GACDA,EAAM6W,OAEdre,QAAUwH,GACFA,EAAMxH,QAEdyhB,eAAiBja,GACTA,EAAMia,iB,kCC9Qf,uKAAO,MAAMja,EAAe,CAExBmb,oBAAqB,GACrBC,gBAAiB,GACjBC,uBAAwB,GACxBC,gBAAiB,GACjBC,YAAa,GACbC,cAAe,GAClBC,UAAW,GACXnU,SAAU,GACVoU,YAAa,GACbC,aAAc,GACdC,MAAO,GACPC,kBAAmB,GACnBC,sBAAsB,EACtBC,uBAAuB,EACvBC,eAAgB,GAChBC,YAAY,EACZC,kBAAkB,EAClBC,YAAY,EACTC,iBAAkB,CAACC,QAAS,GAAIC,UAAW,KAI/C,IAAKna,GAAL,SAAKA,GACJA,EAAA,kCADD,CAAKA,MAAa,KAMX,MAAMlC,EAA6C,CACzD,CAACkC,EAAcoa,eAAevc,EAAcwc,GAC3CtkB,OAAO0f,OAAO5X,EAAOwc,KAQvB,IAAKlX,GAAL,SAAKA,GACJA,EAAA,gCADD,CAAKA,MAAW,KAOT,MAAMpF,EAA8C,CAC1D,CAACoF,EAAYmX,eAAc,OAAEjX,GAAUgX,GACtChX,EAAOrD,EAAcoa,cAAeC,KASzB9K,EAA8C,CAC1DgL,UAAY1c,GACJA,I,6FCnEiH6S,a,IAAyBM,EAAM,K,EAAC,QAAY,GAAG,oBAAC,OAAM,QAAM,WAACN,YAAY,aAAkE,MAAQ8J,CAAsC9J,UAAY,M,CAAmB,QAAS,C,YAAWxT,mEAAwD,8BAAiIpB,EAAI,KAArI,SAAG,YAAUmV,YAA2ED,MAAM,CAAC,OAAS,KAAG,iBAA0B,KAAW,sCAI9gB,OAJ8gB,U,MAAI,C,OAAa,I,YAAU,O,IAAC,Y,GAAgCN,a,EAAkEC,M,IAA4B,MAAE,CAAK,EAACK,MAAM,EAAK,GAAEL,EAAG,GAAIM,CAA0CP,YAAY,sDAAYM,IAAO,MAAQ,EAAC,cAAgD,6CAA6L,OAA7L,SAAG,YAAUC,YAAuC,OAAQ,OAAO,KAAiB,IAAQA,EAAO,WAA0F,qCAE/hCW,QAAe,aAEnB,GAASC,OAAQD,6BAAe,uB,uDCDjB9U,SAAIgV,OAAO,CACzB2I,MAAO,CACNC,IAAKC,OACLC,WAAYC,SAEb3I,MAAO,CACN4I,aAAc,CACJC,MAAM,EACNC,UACI5e,QAAQyJ,IAAI,gCAI3BoV,SAAU,CACTH,eACC,OAAIle,KAAKiU,QAAQhT,MAAMqG,QAAQzF,iBACvB7B,KAAKiU,QAAQhT,MAAMqG,QAAQzF,iBAAiBhE,KAE5C,KAIVgY,QAAS,CACRyI,cACCte,KAAKgW,QAAQxc,KAAK,gBC3BiY,I,wBCQlZ4e,EAAY,eACd,EACA,EACApD,GACA,EACA,KACA,WACA,MAIa,aAAAoD,E,iICnBoFhE,EAAM,W,IAAC,O,EAAc,QAAY,G,OAAG,UAAE,YAAK,OAAeA,MAAM,CAAC,SAAQ,GAAE,gBAA4BA,GAAK,OAAC,C,MAAC,CAAW,WAC3N,qBACGY,OAEJ,KAASC,O,mDCHL/X,EAAS,GAKTkb,EAAY,eACdlb,EACA,EACA8X,GACA,EACA,KACA,KACA,MAIa,aAAAoD,E,+FCZf,MAAMmG,EAAgB,CAClB1X,WAAY,yBAEVqN,EAAa,CACfsK,cAAe,mCAENC,EAAc,CACvBF,cAAeA,EACfrK,WAAYA,GAMV9N,EAAS,CACXsK,kBAAmB,yBACtBpO,eAAgB,uCAChBsO,cAAe,gCAEV3M,EAAW,CACbya,YAAa,kCACbC,UAAW,oDACXnX,WAAY,0CACZoX,eAAgB,+CAChB5W,qBAAsB,oDACtBI,mBAAoB,sEACpB8F,iBAAkB,yDAClBO,wBAAyB,gEACzBI,kBAAmB,uCACnBG,yBAA0B,8CAC1BG,gCAAiC,uDACjCI,qBAAsB,6DACtBsP,qBAAsB,kDACtBlP,2BAA4B,+EAC5BmP,2BAA4B,oEAC5Btd,gBAAiB,0CACjBud,cAAe,qDACfzd,QAAS,4DACTsO,eAAgB,6DAChBM,qBAAsB,+EACtBI,qCAAsC,4EAGpC0O,EAAe,CACjBC,SAAU,mCAGRC,EAAS,CACX7F,kBAAmB,gEACnBC,4BAA6B,+DAC7B6F,eAAgB,8CACnBC,yBAA0B,0CAGdC,EAAkB,CAC3BjZ,QAASA,EACTnC,SAAUA,EACV+a,aAAcA,EACdE,OAAQA,GAOChS,EAAM,CACfoS,UAAW,4DAGFC,EAAgB,CACzBhB,cAAerR,GAGbsS,EAAiB,CACnBC,SAAU,qDACVC,kBAAmB,iDACnBlb,WAAY,sEACZmb,qBAAsB,mFACtBC,iBAAkB,iDAClBC,iBAAkB,sEAClBC,kBAAmB,sGACnB5U,oBAAqB,iHACrBK,mBAAoB,iHACpBiC,aAAc,oBAGLuS,EAAyB,CAClCP,eAAgBA,G,IC/EfQ,EAOAC,E,0DAPL,SAAKD,GACDA,EAAA,aACAA,EAAA,eACAA,EAAA,aACHA,EAAA,oBAJD,CAAKA,MAAW,KAOhB,SAAKC,GACJA,EAAA,iCADD,CAAKA,MAAU,KAIR,MAAMC,EAAe,IACtB,MAAOvZ,EAWZwZ,cAVAC,eAAA,+BAAAA,eAAA,2BAAAA,eAAA,sCAAAA,eAAA,6BAMGA,eAAA,2BAKFpgB,KAAKqgB,YAAehZ,OAAgBpG,MAAM4H,UAAUyX,aAI9CtgB,KAAKqc,gBAAmBhV,OAAgBpG,MAAMwc,OAAOpB,gBACrDrc,KAAKwc,YAAenV,OAAgBpG,MAAMwc,OAAOjB,YAEjDxc,KAAKsc,uBAA0BjV,OAAgBpG,MAAMwc,OAAOnB,uBAC5Dtc,KAAKugB,cAAiBlZ,OAAgBpG,MAAMwc,OAAOhB,cAIlD+D,kBAAkBC,GACzBA,EAAeC,aAAa9Z,SAASzG,KAAIwgB,eAAgBC,GACxD,OAAOA,IAEND,UAAc,IAAAE,EAAAC,EACf,IAAM,OAAHF,QAAG,IAAHA,OAAG,EAAHA,EAAKnkB,OAAQwjB,EAAWc,iBAAgC,MAAV,OAAHH,QAAG,IAAHA,OAAG,EAAHA,EAAKnkB,OAAwC,MAAtB,OAAHmkB,QAAG,IAAHA,GAAa,QAAVC,EAAHD,EAAKha,gBAAQ,IAAAia,OAAA,EAAbA,EAAerP,QAChF,OAAOvW,QAAQE,OAAOylB,GAGvBphB,QAAQ2E,KAAK,YAAgB,OAAHyc,QAAG,IAAHA,GAAW,QAARE,EAAHF,EAAKnD,cAAM,IAAAqD,OAAA,EAAXA,EAAaE,YACjC,IAAI/lB,QAAQwD,IAAC,IAAAwiB,EAAAC,EAAA,OAAInjB,WAAWU,EAAqC,QAApCwiB,EAAK,OAAHL,QAAG,IAAHA,GAAa,QAAVM,EAAHN,EAAKha,gBAAQ,IAAAsa,GAAS,QAATA,EAAbA,EAAeC,eAAO,IAAAD,OAAA,EAAtBA,EAAwBE,kBAAU,IAAAH,IAAIf,KACzEpjB,KAAK,KAAK,IAAAukB,EAEV,OADA7hB,QAAQ2E,KAAK,qBAAuByc,EAAInD,OAAOuD,KACrC,OAAHJ,QAAG,IAAHA,GAAW,QAARS,EAAHT,EAAKnD,cAAM,IAAA4D,OAAA,EAAXA,EAAaC,QACnB,KAAKtB,EAAYuB,IAChB,OAAOvhB,KAAKxB,IAAIoiB,EAAInD,OAAOuD,IAAKJ,EAAInD,OAAO/kB,MAC5C,KAAKsnB,EAAYwB,KAChB,OAAOxhB,KAAKyhB,KAAKb,EAAInD,OAAOuD,IAAKJ,EAAInD,OAAO/kB,MAC7C,KAAKsnB,EAAY0B,IAChB,OAAO1hB,KAAK2hB,IAAIf,EAAInD,OAAOuD,IAAKJ,EAAInD,OAAO/kB,MAC5C,KAAKsnB,EAAY4B,OAChB,OAAO5hB,KAAKsT,OAAOsN,EAAInD,OAAOuD,IAAKJ,EAAInD,OAAO/kB,SAGhDud,MAAO4L,IACPriB,QAAQsH,KAAK+a,GACN5mB,QAAQE,OAAO0mB,OAMlB,WAAsBC,EAAkBppB,GAE/C,MAAMqpB,EAAgB3Q,IAAMnS,OAAO,CAClC7B,QAAS,MAGV2kB,EAAcC,SAASC,UAAY,CAClCC,MAAO,EACPC,kBAAmB,EACnBC,SAAUL,EACVM,mBAAoB,CAAC,QACrBC,mBAAoB,CACnB,CAAC,IAAK,KACN,CAAC,IAAK,IAAK,KACX,CAAC,IAAK,MAEPC,YAAa,SACbC,eAAiBjmB,GACT,IAAItB,QAAQ,CAACC,EAASC,KAE5B,MAAMsnB,EAAeC,OAAcnmB,GAAMomB,oBACzCnjB,QAAQyJ,IAAI,iBAAiBwZ,kBAA6BX,cAAqBvlB,EAAIE,SAASF,EAAIqB,WAChG,IACC1C,EAAQ,WAQP,MAAOJ,GACRK,QAKJ4mB,EAAcC,SAASb,QAAU,CAChCyB,cAAe,UAAY5iB,KAAKqgB,aAEXqC,OAAWX,GACjC/hB,KAAKwgB,kBAAkBuB,GACvB,MAAMnB,QAAYmB,EAAcN,KAAgBK,EAAUppB,GAC1D,OAAOkoB,EAAIloB,KAGJ,UAAqBopB,EAAkBppB,GAC9C,MAAMqpB,EAAgB3Q,IAAMnS,OAAO,CAClC7B,QAAS,MAGV2kB,EAAcC,SAASC,UAAY,CAClCC,MAAO,EACPC,kBAAmB,EACnBC,SAAUL,EACVM,mBAAoB,CAAC,OACrBC,mBAAoB,CACnB,CAAC,IAAK,KACN,CAAC,IAAK,IAAK,KACX,CAAC,IAAK,MAEPC,YAAa,SACbC,eAAiBjmB,GACT,IAAItB,QAAQ,CAACC,EAASC,KAE5B,MAAMsnB,EAAeC,OAAcnmB,GAAMomB,oBACzCnjB,QAAQyJ,IAAI,gBAAgBwZ,kBAA6BX,cAAqBvlB,EAAIE,SAASF,EAAIqB,WAC/F,IACC1C,EAAQ,WAQP,MAAOJ,GACRK,QAKJ4mB,EAAcC,SAASb,QAAU,CAChCyB,cAAe,UAAY5iB,KAAKqgB,aAEXqC,OAAWX,GACjC/hB,KAAKwgB,kBAAkBuB,GACvB,MAAMnB,QAAYmB,EAAcJ,IAAeG,EAAUppB,GACzD,OAAOkoB,EAAIloB,KAGJ,aAAwBopB,EAAkBppB,GACjD,MAAMqpB,EAAgB3Q,IAAMnS,OAAO,CAClC7B,QAAS,MAGV2kB,EAAcC,SAASC,UAAY,CAClCC,MAAO,EACPC,kBAAmB,EACnBC,SAAUL,EACVM,mBAAoB,CAAC,UACrBC,mBAAoB,CACnB,CAAC,IAAK,KACN,CAAC,IAAK,IAAK,KACX,CAAC,IAAK,MAEPC,YAAa,SACbC,eAAiBjmB,GACT,IAAItB,QAAQ,CAACC,EAASC,KAE5B,MAAMsnB,EAAeC,OAAcnmB,GAAMomB,oBACzCnjB,QAAQyJ,IAAI,mBAAmBwZ,kBAA6BX,cAAqBvlB,EAAIE,SAASF,EAAIqB,WAClG,IACC1C,EAAQ,WAQP,MAAOJ,GACRK,QAKJ4mB,EAAcC,SAASb,QAAU,CAChCyB,cAAe,UAAY5iB,KAAKqgB,aAEXqC,OAAWX,GACjC/hB,KAAKwgB,kBAAkBuB,GACvB,MAAMnB,QAAYmB,EAAczO,OAAkBwO,GAClD,OAAOlB,EAAIloB,KAGJ,UAAqBopB,EAAkB1kB,GAE9C,IAAIylB,EAAiB,IAEE,qBAAZzlB,IACVylB,EAAiBzlB,GAElB,MAAM2kB,EAAgB3Q,IAAMnS,OAAO,CAClC7B,QAASylB,IAGVd,EAAcC,SAASC,UAAY,CAClCC,MAAO,EACPC,kBAAmB,EACnBC,SAAUL,EACVM,mBAAoB,CAAC,OACrBC,mBAAoB,CACnB,CAAC,IAAK,KACN,CAAC,IAAK,KAAM,CAAC,IAAK,KAClB,CAAC,IAAK,MAEPC,YAAa,SACbC,eAAiBjmB,GACT,IAAItB,QAAQ,CAACC,EAASC,KAE5B,MAAMsnB,EAAeC,OAAcnmB,GAAMomB,oBACzCnjB,QAAQyJ,IAAI,gBAAgBwZ,kBAA6BX,cAAqBvlB,EAAIE,SAASF,EAAIqB,WAC/F,IACC1C,EAAQ,WAQP,MAAOJ,GACRK,QAKJ4mB,EAAcC,SAASb,QAAU,CAChCyB,cAAe,UAAY5iB,KAAKqgB,aAEXqC,OAAWX,GACjC/hB,KAAKwgB,kBAAkBuB,GACvB,MAAMnB,QAAYmB,EAAcvjB,IAAesjB,GAC/C,OAAOlB,EAAIloB,KAGL,aAAa0O,GACb,OAAO,IAAInM,QAAqB,CAACC,EAASC,KAC/C,IACC,IAAKiM,EACJ,OAAOjM,IACR,IAAI6lB,EAAMhhB,KAAKwc,YAAciC,EAAYvK,WAAWsK,cACpDwC,EAAMA,EAAItgB,QAAQ,aAAc0G,GAChC,MAAMR,EAAW5G,KAAKxB,IAAiBwiB,GACvC9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,mBAAmBiM,EAAmC2F,GAC5D,OAAO,IAAI9R,QAAqB,CAACC,EAASC,KACzC,IACC,IAAKiM,EACJ,OAAOjM,IACR,IAAI6lB,EAAMhhB,KAAKugB,cAAgBhB,EAAchB,cAAce,UAC3D0B,EAAMA,EAAItgB,QAAQ,aAAc0G,GAChC4Z,EAAMA,EAAItgB,QAAQ,eAAgBqM,GAClC,MAAMnG,EAAW5G,KAAKxB,IAAiBwiB,GACvC9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKO,4BAA4B4R,GAC/B,OAAO,IAAI9R,QAAqB,CAACC,EAASC,KAC/C,IACC,IAAI6lB,EAAMhhB,KAAKugB,cAAgBhB,EAAchB,cAAce,UAC3D0B,EAAMA,EAAItgB,QAAQ,aAAcoiB,OAAUC,aAC1C/B,EAAMA,EAAItgB,QAAQ,eAAgBqM,GAClC,MAAMnG,EAAW5G,KAAKxB,IAAiBwiB,GACvC9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,mBACN,OAAO,IAAIF,QAAyB,CAACC,EAASC,KAC7C,IACC,MAAM6lB,EAAMhhB,KAAKwc,YAAciC,EAAYF,cAAc1X,WACnDD,EAAW5G,KAAKxB,IAAqBwiB,GAC3C9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,sBAAsBiM,GAC5B,OAAO,IAAInM,QAA8B,CAACC,EAASC,KAClD,IACC,IAAKiM,EACJ,OAAOjM,IACR,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASya,YAC1DsC,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAKxB,IAA0BwiB,GAChD9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,oBAAoBiM,EAAmCmB,GAC7D,OAAO,IAAItN,QAA4B,CAACC,EAASC,KAChD,IACC,IAAKiM,IAAemB,EAAU,OAAOpN,IACrC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS0a,UAC1DqC,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAEhC,MAAM3B,EAAW5G,KAAKxB,IAAwBwiB,GAC9C9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,2BAA2BiB,GACjC,OAAO,IAAInB,QAAkC,CAACC,EAASC,KACtD,IACC,MAAMyL,EAAW5G,KAAKyhB,KAA+BzhB,KAAKqc,gBAAkBgD,EAAgBL,aAAaC,SAAU7iB,GACnHlB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,wBAAwBiM,EAAmC6D,EAAe7O,GAChF,OAAO,IAAInB,QAAmC,CAACC,EAASC,KACvD,IACC,IAAKiM,EACJ,OAAOjM,IACR,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBH,OAAO7F,kBACxD2H,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,UAAWuK,GAC7B,MAAMrE,EAAW5G,KAAKyhB,KAAgCT,EAAK5kB,GAC3DlB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,kCAAkC6H,EAAiCuW,EAAsBnd,GAC/F,OAAO,IAAInB,QAA6C,CAACC,EAASC,KACjE,IACC,IAAK6H,EACJ,OAAO7H,IACR,IAAI6lB,EAAMhhB,KAAKsc,uBAAyB+C,EAAgBH,OAAO5F,4BAC/D0H,EAAMA,EAAItgB,QAAQ,aAAcsC,GAChCge,EAAMA,EAAItgB,QAAQ,iBAAkB6Y,GACpC,MAAM3S,EAAW5G,KAAKyhB,KAA0CT,EAAK5kB,GACrElB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,iBAAiBiM,GACvB,OAAO,IAAInM,QAA4B,CAACC,EAASC,KAChD,IACC,IAAKiM,EACJ,OAAOjM,IACR,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBH,OAAOC,eACxD6B,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAKxB,IAAwBwiB,GAC9C9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,2BAA2B6H,GACjC,OAAO,IAAI/H,QAAsC,CAACC,EAASC,KAC1D,IACC,IAAK6H,EACJ,OAAO7H,IACR,IAAI6lB,EAAMhhB,KAAKsc,uBAAyB+C,EAAgBH,OAAOE,yBAC/D4B,EAAMA,EAAItgB,QAAQ,aAAcsC,GAChC,MAAM4D,EAAW5G,KAAKxB,IAAkCwiB,GACxD9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,iBAAiBiM,GACvB,OAAO,IAAInM,QAAyB,CAACC,EAASC,KAC7C,IACC,IAAKiM,EACH,OAAOjM,IACT,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASuD,WAE1DwZ,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAKxB,IAAqBwiB,GAC3C9lB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,6BAA6BkI,GACnC,OAAO,IAAI/H,QAAkC,CAACC,EAASC,KACtD,IACC,IAAK6H,EACH,OAAO7H,IACT,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAeC,SAC9EuB,EAAMA,EAAItgB,QAAQ,eAAgBsC,GAClC,MAAM4D,EAAW5G,KAAKxB,IAA8BwiB,GACpD9lB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,6BAA6BsM,EAAmCQ,GACtE,OAAO,IAAI3M,QAA2B,CAACC,EAASC,KAC/C,IACC,IAAKiM,EAAY,OAAOjM,IACxB,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS2a,eAC1DoC,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAKyhB,KAAwBT,EAAKpZ,GACnD1M,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,2BAA2BiM,EAAmCc,GACpE,OAAO,IAAIjN,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAec,EAAU,OAAO/M,IACrC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS+D,qBAC1DgZ,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC,MAAMtB,EAAW5G,KAAKsT,OAAO0N,GAC7B9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,yBAAyBiM,EAAmCmB,EAA4BL,GAC9F,OAAO,IAAIjN,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAemB,IAAYL,EAAU,OAAO/M,IACjD,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASmE,mBAC1D4Y,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChCyY,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC,MAAMtB,EAAW5G,KAAKsT,OAAO0N,GAC7B9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,uBAAuBiM,EAAmCmB,EAA4BpE,GAC5F,OAAO,IAAIlJ,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAemB,IAAapE,EAAM,OAAOhJ,IAC9C,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASiK,iBAC1D8S,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChC/I,QAAQyJ,IAAI+X,GACZ,MAAMpa,EAAW5G,KAAK2hB,IAAIX,EAAK,CAACnjB,KAAMsG,EAAKtG,OAC3C3C,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,8BAA8BsM,EAAmCmB,EAA4BpE,GACnG,OAAO,IAAIlJ,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAemB,IAAapE,EAAM,OAAOhJ,IAC9C,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASwK,wBAC1DuS,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAEhC,MAAM3B,EAAW5G,KAAK2hB,IAAIX,EAAK,CAACtS,YAAavK,EAAKuK,cAClDxT,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,wBAAwBsM,EAAmCjD,GACjE,OAAO,IAAIlJ,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAejD,EAAM,OAAOhJ,IACjC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS4K,kBAC1DmS,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAK2hB,IAAIX,EAAK,CAACnjB,KAAMsG,EAAKtG,OAC3C3C,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,+BAA+BsM,EAAmCjD,GACxE,OAAO,IAAIlJ,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAejD,EAAM,OAAOhJ,IACjC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS+K,yBAC1DgS,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAK2hB,IAAIX,EAAK,CAACtS,YAAavK,EAAKuK,cAClDxT,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,sCAAsCsM,EAAmCjD,GAC/E,OAAO,IAAIlJ,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAejD,EAAM,OAAOhJ,IACjC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASkL,gCAC1D6R,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAK2hB,IAAIX,EAAK,CAACte,mBAAoByB,EAAKzB,qBACzDxH,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,2BAA2BsM,EAAmCc,GACpE,OAAO,IAAIjN,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,EACJ,OAAOjM,IAGR,GAAG+M,EAAS,CACX,IAAI8Y,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASsL,qBAC1DyR,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC,MAAMtB,EAAW5G,KAAK2hB,IAAIX,GAC1B9lB,EAAQ0L,OACF,CACN,IAAIoa,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS4a,qBAC1DmC,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAW5G,KAAKsT,OAAO0N,GAC7B9lB,EAAQ0L,IAER,MAAO9L,GACRK,EAAOL,MAKH,iCAAiCsM,EAAmCmB,EAAiCL,GAC3G,OAAO,IAAIjN,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAemB,EAAU,OAAOpN,IAGrC,GAAG+M,EAAS,CACX,IAAI8Y,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS0L,2BAC1DqR,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChCyY,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC,MAAMtB,EAAW5G,KAAK2hB,IAAIX,GAC1B9lB,EAAQ0L,OACF,CACN,IAAIoa,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS6a,2BAC1DkC,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChC,MAAM3B,EAAW5G,KAAKsT,OAAO0N,GAC7B9lB,EAAQ0L,IAER,MAAO9L,GACRK,EAAOL,MAQH,yBAAyBsM,GAC/B,OAAO,IAAInM,QAAiC,CAACC,EAASC,KACrD,IACC,IAAKiM,EAAY,OAAOjM,IACxB,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASzC,gBAC1Dwf,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAA6C5G,KAAKxB,IAAIwiB,GAC5D9lB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,uBAAuBsM,EAAmCc,GAChE,OAAO,IAAIjN,QAAiC,CAACC,EAASC,KACrD,IACC,IAAKiM,IAAec,EAAU,OAAO/M,IACrC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS8a,cAC1DiC,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC1I,QAAQyJ,IAAI,kBAAoB+X,GAChC,MAAMpa,EAA6C5G,KAAKxB,IAAIwiB,GAC5D9lB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,uBAAuBsM,EAAmCmB,GAChE,OAAO,IAAItN,QAAyB,CAACC,EAASC,KAC7C,IACC,IAAKiM,IAAemB,EAAU,OAAOpN,IACrC,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS3C,QAC1D0f,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChCyY,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC,MAAMR,EAAqC5G,KAAKxB,IAAIwiB,GACpD9lB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,2BAA2BsM,GACjC,OAAO,IAAInM,QAAkC,CAACC,EAASC,KACtD,IACC,IAAKiM,EAAY,OAAOjM,IACxB,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAeE,kBAC9EsB,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC5H,QAAQyJ,IAAI+X,GACZ,MAAMpa,EAA8C5G,KAAKxB,IAAIwiB,GAC7DxhB,QAAQyJ,IAAIrC,GACZ1L,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,8BAA8BsM,EAAmCgD,GACvE,OAAO,IAAInP,QAAsC,CAACC,EAASC,KAC1D,IACC,IAAKiM,IAAegD,EAAoB,OAAOjP,IAC/C,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAehb,WAC9Ewc,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB0J,GAC1C,MAAMxD,EAAkD5G,KAAKxB,IAAIwiB,GACjExhB,QAAQyJ,IAAIrC,GACZ1L,EAAQ0L,GAEP,MAAO9L,GACRK,EAAOL,MAKH,uCAAuCsM,EAAmCgD,GAChF,OAAO,IAAInP,QAA+C,CAACC,EAASC,KACnE,IACC,IAAKiM,IAAegD,EAAoB,OAAOjP,IAC/C,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAeG,qBAC9EqB,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB0J,GAE1C,MAAMxD,EAA2D5G,KAAKxB,IAAIwiB,GAC1ExhB,QAAQyJ,IAAIrC,GACZ1L,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,yBAAyBsM,EAAmCkF,EAAwCzH,GAC1G,OAAO,IAAI5J,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAekF,IAAyBzH,EAAaoG,MAAO,OAAO9P,IACxE,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASmE,mBAC1D4Y,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB4L,GAC1C0U,EAAMA,EAAItgB,QAAQ,uBAAwBmE,EAAaoG,OACvD,MAAMrE,EAAW5G,KAAKsT,OAAO0N,GAC7B9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,gCAAgCiM,EAAmC4b,EAAuClgB,EAAyCiH,EAAyBC,GAC5K,OAAO,IAAI/O,QAAiB,CAACC,EAASC,KAC3C,IACC,IAAKiM,IAAe4b,IAAmBlgB,IAAqBkH,EAC3D,OAAO7O,IAGR,MAAM8nB,EAAiBC,OAAqBC,gBAC5C,IAAInC,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAeI,iBAC9EoB,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAElC,MAAMR,EAAW5G,KAAKyhB,KAAKT,EAAK,CAC/B5Z,WAAYA,EACZgc,YAAaJ,EACbK,aAAcvgB,EACdmgB,eAAgBA,EAChBK,mBAAoBtZ,EACpBD,eAAgBA,IAEjB7O,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,yCAAyCsM,EAAmCgD,EAAsCE,GACxH,OAAO,IAAIrP,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAegD,EACnB,OAAOjP,IAGR,GAAGmP,EAEF,OAAOnP,IAIR,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAeK,iBAC9EmB,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB0J,GAE1C,MAAMxD,EAAW5G,KAAKsT,OAAO0N,GAC7B9lB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,iDAAiDsM,EAAmCgD,EAAsCL,GAEhI,OAAO,IAAI9O,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAegD,EACnB,OAAOjP,IAER,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAeM,kBAC9EkB,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB0J,GAC1C4W,EAAMA,EAAItgB,QAAQ,mBAAoBqJ,EAAewZ,YAErD,MAAM3c,EAAW5G,KAAK2hB,IAAIX,EAAK,CAC9BjX,eAAgBA,IAEjB7O,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,0BAA0BsM,EAAmCgD,EAAsCoZ,GACzG,OAAO,IAAIvoB,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAegD,IAAuBoZ,EAC1C,OAAOroB,IAER,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAetU,oBAC9E8V,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB0J,GAC1C4W,EAAMA,EAAItgB,QAAQ,uBAAwB8iB,GAE1C,MAAM5c,EAAW5G,KAAK2hB,IAAIX,EAAK,CAC9ByC,oBAAoB,EACpB1Z,gBAAgB,IAGjB7O,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,yBAAyBsM,EAAmCgD,EAAsCoZ,GACxG,OAAO,IAAIvoB,QAAiB,CAACC,EAASC,KACrC,IACC,IAAKiM,IAAegD,IAAuBoZ,EAC1C,OAAOroB,IAER,IAAI6lB,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAejU,mBAC9EyV,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,uBAAwB0J,GAC1C4W,EAAMA,EAAItgB,QAAQ,uBAAwB8iB,GAE1C,MAAM5c,EAAW5G,KAAK2hB,IAAIX,EAAK,CAC9ByC,oBAAoB,EACpB1Z,gBAAgB,IAGjB7O,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,6BAA6BsM,EAAmCmB,EAAiCL,EAAiC6H,EAAuCE,GACzK,OAAO,IAAIhV,QAAiB,CAACC,EAASC,KAC3C,IACC,IAAKiM,IAAemB,IAAaL,EAAU,OAAO/M,IAClD,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAAS2L,eAC1DoR,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAcwH,GAEhC1I,QAAQyJ,IAAI+X,GACZ,MAAMpa,EAAW5G,KAAKyhB,KAAKT,EAAK,CAACjR,eAAgBA,EAAgBE,cAAeA,IAChF/U,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,2BAA2BsM,EAAmCmB,EAAiCL,EAAiCmI,GAEhI,OAAO,IAAIpV,QAAiB,CAACC,EAASC,KAC3C,IACC,IAAKiM,IAAemB,IAAaL,EAAU,OAAO/M,IAClD,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASiM,qBAC1D8Q,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChCyY,EAAMA,EAAItgB,QAAQ,aAAcwH,GAEhC1I,QAAQyJ,IAAI+X,GACZ,MAAMpa,EAAW5G,KAAKyhB,KAAKT,EAAK,CAC/B3Q,qBAAsBA,IAEvBnV,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAKH,2CAA2CsM,EAAmCmB,EAAiCL,EAAiCwb,EAA8BrT,GAE9K,OAAO,IAAIpV,QAAiB,CAACC,EAASC,KAC3C,IACC,IAAKiM,IAAemB,IAAaL,EAAU,OAAO/M,IAClD,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBpb,SAASqM,qCAC1D0Q,EAAMA,EAAItgB,QAAQ,eAAgB0G,GAClC4Z,EAAMA,EAAItgB,QAAQ,aAAc6H,GAChCyY,EAAMA,EAAItgB,QAAQ,aAAcwH,GAEhC1I,QAAQyJ,IAAI+X,GACZ,MAAMpa,EAAW5G,KAAKyhB,KAAKT,EAAK,CAC/BxQ,0BAA2BkT,EAC3BjT,0BAA2BJ,IAE5BnV,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,MAQH,wBAAwBsB,GAC9B,OAAO,IAAInB,QAAmC,CAACC,EAASC,KACvD,IACa,MAAM6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBjZ,QAAQsK,kBACjE9J,EAAW5G,KAAKyhB,KAAgCT,EAAK5kB,GAC3DlB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,wBAAwB+M,GAC9B,OAAO,IAAIjN,QAA2B,CAACC,EAASC,KAC/C,IACC,IAAK+M,EAAU,OAAO/M,IACtB,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBjZ,QAAQ9D,eACzD0e,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC,MAAMtB,EAAW5G,KAAKxB,IAAuBwiB,EAAK,MAClD9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAKI,oBAAoB+M,GAC1B,OAAO,IAAIjN,QAAc,CAACC,EAASC,KAClC,IACC,IAAK+M,EAAU,OAAO/M,IACtB,IAAI6lB,EAAMhhB,KAAKqc,gBAAkBgD,EAAgBjZ,QAAQwK,cACzDoQ,EAAMA,EAAItgB,QAAQ,aAAcwH,GAChC,MAAMtB,EAAW5G,KAAKsT,OAAa0N,GACnC9lB,EAAQ0L,GACP,MAAO9L,GACR0E,QAAQsH,KAAKhM,GACbK,OAOO,6BAA6BwoB,GAChC,OAAO,IAAI1oB,QAAiB,CAACC,EAASC,KAC3C,IACC,IAAMwoB,IAEcA,EAAiBhhB,cACjBghB,EAAiB/gB,QACjB+gB,EAAiB9gB,4BACjB8gB,EAAiB7gB,mBACjB6gB,EAAiB5gB,cACjB4gB,EAAiB3gB,WACjB2gB,EAAiBlhB,mBACpC,OAAOtH,IAGe+nB,OAAqBC,gBAA5C,MACMnC,EAAMhhB,KAAKsc,uBAAyByD,EAAuBP,eAAehS,aAE1E5G,EAAW5G,KAAKyhB,KAAKT,EAAK2C,GAChCzoB,EAAQ0L,GACP,MAAO9L,GACRK,EAAOL,S,oCC/+BX,W,kCCAO,IAAK8oB,EAKAC,EA6BAX,EAIAY,EAKAC,EA3CZ,2kBAAYH,GACXA,EAAA,mCACAA,EAAA,yBAFD,CAAYA,MAAkB,KAK9B,SAAYC,GACXA,EAAA,mCACAA,EAAA,2CACAA,EAAA,qBACAA,EAAA,yBACAA,EAAA,iDACAA,EAAA,+CACAA,EAAA,mCACAA,EAAA,yBACAA,EAAA,yBACAA,EAAA,iEACAA,EAAA,6CACAA,EAAA,+CAEAA,EAAA,qBACAA,EAAA,yCACAA,EAAA,yCACAA,EAAA,uDACAA,EAAA,6BACAA,EAAA,2BACAA,EAAA,mCACAA,EAAA,iCACAA,EAAA,6CACAA,EAAA,+CACAA,EAAA,iDACAA,EAAA,yCACAA,EAAA,mBA1BD,CAAYA,MAAoB,KA6BhC,SAAYX,GACXA,EAAA,qCADD,CAAYA,MAAoB,KAIhC,SAAYY,GACXA,EAAA,mBACAA,EAAA,qBAFD,CAAYA,MAAkB,KAK9B,SAAYC,GACXA,EAAA,mBACAA,EAAA,iBAFD,CAAYA,MAAQ,KAMb,MAAMC,EAAiC,CAC7C,SAAa,gBACb,MAAU,gBACV,OAAU,YAGJ,IAAKlO,EAIAmO,EAWAC,EAoCAC,EAgBAC,EAYAC,EAOAC,EAeAC,EAUAzB,EAIA0B,EAIAjX,EAKAK,EASA6W,GArIZ,SAAY3O,GACXA,EAAA,iBADD,CAAYA,MAAU,KAItB,SAAYmO,GACXA,EAAA,uBACAA,EAAA,iBAFD,CAAYA,MAAY,KAWxB,SAAYC,GAEXA,EAAA,uBAGAA,EAAA,4DACAA,EAAA,sDACAA,EAAA,0DAEAA,EAAA,sCACAA,EAAA,0CACAA,EAAA,kEACAA,EAAA,oEACAA,EAAA,0DAGAA,EAAA,gEACAA,EAAA,0DACAA,EAAA,8DAEAA,EAAA,0CACAA,EAAA,8CACAA,EAAA,sEACAA,EAAA,wEACAA,EAAA,8DACAA,EAAA,4FAGAA,EAAA,uCAGAA,EAAA,qCACAA,EAAA,6CACAA,EAAA,qCAjCD,CAAYA,MAAY,KAoCxB,SAAYC,GACXA,EAAA,2CAGAA,EAAA,gEACAA,EAAA,0DACAA,EAAA,8DAEAA,EAAA,0CACAA,EAAA,8CACAA,EAAA,sEACAA,EAAA,wEACAA,EAAA,8DACAA,EAAA,2FAbD,CAAYA,MAAU,KAgBtB,SAAYC,GAEXA,EAAA,2BAGAA,EAAA,0CACAA,EAAA,oCAND,CAAYA,MAAc,KAY1B,SAAYC,GACXA,EAAA,mCAEAA,EAAA,mDACAA,EAAA,6CAJD,CAAYA,MAAkB,KAO9B,SAAYC,GACRA,EAAA,iCACAA,EAAA,qCAFJ,CAAYA,MAAW,KAevB,SAAYC,GACXA,EAAA,qBACAA,EAAA,iBACAA,EAAA,mBAHD,CAAYA,MAAiB,KAU7B,SAAYzB,GACRA,EAAA,kCADJ,CAAYA,MAAS,KAIrB,SAAY0B,GACRA,EAAA,2BADJ,CAAYA,MAAU,KAItB,SAAYjX,GACRA,EAAA,uDACAA,EAAA,gCAFJ,CAAYA,MAAgB,KAK5B,SAAYK,GACRA,EAAA,0CACAA,EAAA,gDAFJ,CAAYA,MAAe,KAS3B,SAAY6W,GACRA,EAAA,iDACAA,EAAA,+DACAA,EAAA,qCACAA,EAAA,iDAJJ,CAAYA,MAAsB,M,qBC5LlC7pB,EAAOD,QAAU,IAA0B,gD,4CCA3C,IAAI6F,EAAM,CACT,YAAa,OACb,YAAa,QAId,SAAS6X,EAAeC,GACvB,IAAI/Q,EAAKgR,EAAsBD,GAC/B,OAAOje,EAAoBkN,GAE5B,SAASgR,EAAsBD,GAC9B,IAAIje,EAAoBgE,EAAEmC,EAAK8X,GAAM,CACpC,IAAIxd,EAAI,IAAI0B,MAAM,uBAAyB8b,EAAM,KAEjD,MADAxd,EAAE2B,KAAO,mBACH3B,EAEP,OAAO0F,EAAI8X,GAEZD,EAAe9X,KAAO,WACrB,OAAOpH,OAAOoH,KAAKC,IAEpB6X,EAAend,QAAUqd,EACzB3d,EAAOD,QAAU0d,EACjBA,EAAe9Q,GAAK,Q,yCCvBpB,IAAI0N,EAAS,WAAkB,IAAIZ,EAAIrU,KAAK6T,EAAGQ,EAAIqQ,MAAM7Q,GAAUQ,EAAIqQ,MAAMC,YAAY,OAAO9Q,EAAG,MAAM,CAACA,EAAG,KAAK,CAACC,YAAY,kCAAkC,CAACO,EAAIuQ,GAAGvQ,EAAIwQ,GAAGxQ,EAAIyQ,aAEhL9P,EAAkB,G,YCAP9U,SAAIgV,OAAO,CACzB2I,MAAO,CACNiH,MAAO/G,UCJ4Y,I,YCOjZ3F,EAAY,eACd,EACAnD,EACAD,GACA,EACA,KACA,KACA,MAIa,aAAAoD,E,0ICdV2M,EAGOC,E,qCAHZ,SAAKD,GACDA,EAAA,oBADJ,CAAKA,MAAoB,KAGzB,SAAYC,GACRA,EAAA,kCACAA,EAAA,0CAFJ,CAAYA,MAAsB,KAQ1B,MAAOC,UAAwBC,OASnC/E,YAAY7C,EAAiBC,EAAmB/B,GAC5C,MAAMlU,EAAmB,CAACgW,UAASC,aAcnC,OAbA/d,QAAQyJ,IAAI,mCACZkc,MAAM7d,GAAQ8Y,eAAA,uBAEX5E,GACCxb,KAAKolB,cAAc,CACf,CAACL,EAAqBM,QAAS7J,IAEnCxb,KAAKslB,SAAU,GAEftlB,KAAKslB,SAAU,EAEnB9lB,QAAQyJ,IAAI,gCAAiCjJ,MAEtCA,KAGJ,qBACH,GAAMilB,EAAgB7C,SAkBlB5iB,QAAQyJ,IAAK,uFAlBe,CAC5B,IAAIuS,EACA8B,EAAU,GACVC,EAAY,GAChB,IAAI,IAAAzM,EAAAyU,EAAAC,EAAAC,EACAjK,EAA4D,QAAtD1K,EAAwC,QAAxCyU,EAAIle,OAAgBpG,MAAM4H,UAAUC,YAAI,IAAAyc,GAAS,QAATA,EAApCA,EAAsCG,eAAO,IAAAH,OAAA,EAA7CA,EAA+Cxc,WAAG,IAAA+H,IAAI,GAChEwM,EAAgE,QAAzDkI,EAAIne,OAAgBpG,MAAMwc,OAAOJ,iBAAiBC,eAAO,IAAAkI,IAAI,GACpEjI,EAAoE,QAA3DkI,EAAIpe,OAAgBpG,MAAMwc,OAAOJ,iBAAiBE,iBAAS,IAAAkI,IAAI,GAC1E,MAAO3qB,GACL0E,QAAQjC,MAAM,qFAEfie,GACChc,QAAQyJ,IAAI,4CAA4CuS,MACxDyJ,EAAgB7C,SAAW,IAAI6C,EAAgB3H,EAASC,EAAW/B,IAEnEyJ,EAAgB7C,SAAW,IAAI6C,EAAgB3H,EAASC,GAMhE,OAAO0H,EAAgB7C,SAGpBuD,kBAAkBnK,GACrBhc,QAAQyJ,IAAI,uCACZjJ,KAAKolB,cAAc,CACf,CAACL,EAAqBM,QAAS7J,IAEnChc,QAAQyJ,IAAI,uCAAuCuS,MACnDxb,KAAKslB,SAAU,GAGpBlF,eA7DY6E,EAAgB,oB,qBCf/B,IAAIzkB,EAAM,CACT,WAAY,OACZ,cAAe,OACf,eAAgB,OAChB,WAAY,OACZ,iBAAkB,OAClB,oBAAqB,QAItB,SAAS6X,EAAeC,GACvB,IAAI/Q,EAAKgR,EAAsBD,GAC/B,OAAOje,EAAoBkN,GAE5B,SAASgR,EAAsBD,GAC9B,IAAIje,EAAoBgE,EAAEmC,EAAK8X,GAAM,CACpC,IAAIxd,EAAI,IAAI0B,MAAM,uBAAyB8b,EAAM,KAEjD,MADAxd,EAAE2B,KAAO,mBACH3B,EAEP,OAAO0F,EAAI8X,GAEZD,EAAe9X,KAAO,WACrB,OAAOpH,OAAOoH,KAAKC,IAEpB6X,EAAend,QAAUqd,EACzB3d,EAAOD,QAAU0d,EACjBA,EAAe9Q,GAAK,Q,wJC3BqE,EAAU,W,IAASqe,O,EAAa/nB,EAAK,MAAM,GAAQ,EAAC,MAAQ,Y,OAACe,EAAK,OAAMkK,C,WAAgB,EAAQ,YAAI+K,QAAG,SAA4BO,MAAM,OAAC,WAAO,UAAS,CAACP,EAAG,WAAYgS,eAAe,CAAc3mB,MAAI,CAAa,KAAQ,S,CAAwC,QAAQ,8BAAE,kBAAI2U,EAAG,cAAiB,CAAC,EAAE,OAAU,CAC/Y,OACGmB,W,sDCCW9U,SAAIgV,OAAO,CACzBrX,KAAM,MACNwgB,SAAU,CACTvV,OACC,OAAO9I,KAAKiU,QAAQtB,QAAQ,uBAA8C,mBAArB3S,KAAKuV,OAAOE,MAElEoQ,aACC,MAAMC,EAAyD,OAAhD9lB,KAAKiU,QAAQhT,MAAMqG,QAAQzF,iBAEpCkkB,EAAkC,aAArB/lB,KAAKuV,OAAOE,MAA4C,aAArBzV,KAAKuV,OAAOE,MAA4C,YAArBzV,KAAKuV,OAAOE,KACrG,OAAOqQ,GAAUC,IAGhBzQ,MAAO,CACHxM,KAAKkd,GACEA,GAEChmB,KAAKC,OAAOgI,SAAS,0BAA2Buc,OAAWyB,cAI1E,gBACCjmB,KAAKkmB,0BAENrQ,QAAS,CACRqQ,yBACC,MAAMtpB,EAAOrB,SAASqb,cAAc,QAC9BuP,EAAY5qB,SAASQ,cAAc,UACzCoqB,EAAU7oB,aAAa,MAAO,4DAC9B6oB,EAAUxF,OAAQ,EAClBwF,EAAUC,OAAQ,EACN,OAATxpB,GACFA,EAAKC,YAAYspB,OCnCsV,I,YCOvW/N,EAAY,eACd,EACA,EACApD,GACA,EACA,KACA,KACA,MAIa,EAAAoD,E,gCCfA,SAAS5C,KAAI6Q,OAAMC,OAAMjf,QAAOkf,aAC1Clf,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,WAAYud,EAAWriB,MAE5E,MAAMsiB,QAAkBpf,EAAMY,SAAS,4BAA6BuN,GAC/DiR,EAGJH,IAFIjf,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,+BAAgCud,EAAWjpB,QCJnF,G,UAAA,OAASiY,KAAI6Q,OAAMC,OAAMjf,QAAOkf,aAA8C,IAAApf,EACxFE,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,cAAeud,EAAWriB,MAE/E,IAAI0hB,GAAc,EAKlB,GAJmD,QAAnD1e,EAAKE,EAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsF,GAA9CA,EAAgDI,KACpDse,GAAa,IAGTA,EAIJ,OAHIxe,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,2BAA4Bud,EAAWjpB,YAE5FgpB,EAAO/sB,KAAK,CAAEic,KAAM,aAAcQ,MAAM,QAGxCqQ,MCfa,IAAG9Q,KAAI6Q,OAAMC,OAAMjf,QAAOkf,aAExC,GADIlf,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,iBAAkBud,EAAWriB,OAC7EqR,EAAG3X,KAKP,OAJIwJ,EAAMpG,MAAMwc,OAAON,kBACtB3d,QAAQyJ,IAAI,kDAAmDud,EAAWjpB,YAE3EgpB,EAAO/sB,KAAK,CAAEic,KAAM,MAAOQ,MAAM,QAGlCqQ,KCVD,MAAMI,EAAwB,CAC7B,WACA,WACA,iBACA,uBACA,qBACA,WAGc,aAASlR,KAAI6Q,OAAMC,OAAMjf,QAAOkf,aAC1Clf,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,UAAWud,EAAWriB,MAE3E,MAAMwiB,EAAgD,IAAxCtf,EAAMpG,MAAM4W,IAAIkC,aAAa7gB,OAAewtB,EAAYE,OAAOvf,EAAMpG,MAAM4W,IAAIkC,cAAgB2M,EAE7G,IAAKC,EAAMhZ,SAAS6H,EAAGC,MAKtB,OAJIpO,EAAMpG,MAAMwc,OAAON,kBACtB3d,QAAQyJ,IAAI,8BAA+Bud,EAAWjpB,YAEvDgpB,EAAO/sB,KAAK,CAAEic,KAAM4Q,EAAK5Q,OAAQQ,MAAM,QAGvCqQ,KClBa,G,8BAAA,OAAS9Q,KAAI6Q,OAAMC,OAAMjf,QAAOkf,aAC1Clf,EAAMpG,MAAMwc,OAAON,kBAAkB3d,QAAQyJ,IAAI,YAAaud,EAAWriB,MAE7E,MAAM0iB,EAAW,SACXC,EAAsBtR,EAAG3X,KAAO2X,EAAG3X,KAAO,GAChD,IAAIkpB,EAAY,GACI,YAAhBD,IACHC,EAAY,WACO,SAAhBD,IACHC,EAAY,QAEb,MAAMC,EAAYvS,IACjB,GAAIA,EAAK8B,SAASrd,OAAS,EAAG,CAE7B,GAAwB,eAApBub,EAAK1H,WAA6B,CAErC,GAAoB,eAAhB+Z,EAEH,OADAC,EAAYtS,EAAK5W,MACV,EAGR,MAAMopB,EAASxS,EAAK8B,SAASjJ,KAAK,CAACuH,EAASqS,IACnCrS,EAAQuF,UAAmC,kBAAvBvF,EAAQ9H,YAAmCoa,SAAS3R,EAAG4R,OAAOC,mBAAqBH,GAIhH,OAFID,IACHF,EAAYE,EAAOppB,QACbopB,EACD,CACN,MAAMA,EAASxS,EAAK8B,SAASjJ,KAAKuH,GACzBA,EAAQuF,UAAYvF,EAAQ9H,aAAe+Z,GAIpD,OAFIG,IACHF,EAAYE,EAAOppB,QACbopB,GAGR,SAAIxS,EAAK2F,UAAY3F,EAAK1H,aAAe+Z,KACxCC,EAAYtS,EAAK5W,MACV,IAONwJ,EAAMpG,MAAM4W,IAAIpe,SAAyB,KAAdstB,GAC9B1f,EAAMpG,MAAM4W,IAAIpe,QAAQ8hB,MAAM+L,KAAK7S,GAC3BuS,EAASvS,IAGfvU,OAAIqnB,SAAS,KACThsB,SAASupB,MAAQ,GAAG+B,OAAcE,MAEzCT,MCnDM,MAAMkB,EAAQ,CACpBC,KAAQ,CAACC,EAAM5C,GACf6C,KAAQ,CAACD,EAAMpgB,EAASuQ,EAAKiN,GAC7B8C,WAAY,CAACF,EAAMpgB,EAASuQ,EAAK+P,EAAY9C,IAGjC0B,EAAa,CACzBqB,OAAQ,sCACR1jB,KAAM,sCACN5G,MAAO,uCAGF,SAAUuqB,EACfxgB,EACAygB,EACA5N,GAEA,MAAM6N,EAAuBC,MAAMC,QAAQH,GACxCA,EAAW5N,GACX,KACH,OAAK6N,EAEE,KAIN,MAAMG,EAAiBL,EACtBxgB,EACAygB,EACA5N,EAAQ,GAET6N,EAAqB,IAAK1gB,EAASgf,KAAM6B,KAXR7gB,EAAQgf,K,cC3BvCrR,EAAS,WAAkB,IAAIZ,EAAIrU,KAAK6T,EAAGQ,EAAIqQ,MAAM7Q,GAAUQ,EAAIqQ,MAAMC,YAAY,OAAO9Q,EAAG,OAAO,CAACA,EAAG,YAAY,CAACO,MAAM,CAAC,MAAQC,EAAI+T,cAAcvU,EAAG,IAAI,CAACwU,SAAS,CAAC,UAAYhU,EAAIwQ,GAAGxQ,EAAIvG,kBAAkB,IAEnNkH,EAAkB,GCAP9U,SAAIgV,OAAO,CACzB2I,MAAO,CACNyK,OAAQ,CACPtsB,KAAMusB,SACNC,UAAU,GAEX1a,aAAc,CACb9R,KAAM+hB,OACNyK,UAAU,GAEXJ,WAAY,CACXpsB,KAAM+hB,OACNyK,UAAU,IAGZ3S,QAAS,CACR4S,WACCzoB,KAAKsoB,QAAUtoB,KAAKsoB,WAGtBjK,SAAU,CACTH,eACC,OAAIle,KAAKiU,QAAQhT,MAAMqG,QAAQzF,iBACvB7B,KAAKiU,QAAQhT,MAAMqG,QAAQzF,iBAAiBhE,KAE5C,WC3ByX,ICOhY,EAAY,eACd,EACA,EACA,GACA,EACA,KACA,KACA,MAIa,I,oBCXR,MAAM6qB,EAAaA,CAACC,EAAyC5b,EAAoB6b,IACvF1oB,OAAIgV,OAAO,CACVrX,KAAMkP,EAAa,aACnB8b,UACC7oB,KAAK8oB,QAENzK,SAAU,CACTnR,MACC,QAAOlN,KAAKiU,QAAQhT,MAAMiM,IAAIH,KAGhCuI,MAAO,CACNpI,IAAI6b,EAAgBC,IAEI,IAAnBD,IACH/oB,KAAKoY,UAAY,KACjBpY,KAAK8oB,UAIRpwB,OAMC,MAAO,CACN0f,UAAW,KACX7a,OAAO,EACPuQ,aAAc,GACdsa,WAAY,KAGdvS,QAAS,CACR,sBAAsB8S,EAAyC5b,GAC9D,OAAO,IAAI9R,QAAQ,CAACC,EAASC,KAC5B,WACC,IACC,MAAM+X,QAAsBlT,KAAKipB,eAAelc,GAC3CmG,GACJ/X,EAAO,qBAAqB4R,qBAEzB6b,IACHppB,QAAQyJ,IAAI,iCACNhO,QAAQ+C,IAAI4qB,EAAiBpoB,IAAImgB,gBAChC3gB,KAAKiU,QAAQhM,SAAS,gBAAiBrN,OAG9C+tB,EAECO,MAEAC,OACuBrsB,KAAMmB,GAAM/C,EAAQ+C,IAC5C,MAAOnD,GACRK,EAAO,sCAAwC4L,KAAKC,UAAUlM,MAnBhE,MAwBF,qBAAqBiS,GAAkB,IAAA5F,EAEtC,MAAMiiB,EACJ/hB,OAAgBsL,QAAQ,cAAc5F,IACtC1F,OAAgBsL,QAAQ,cAAc5F,GAAYiG,WAClD3L,OAAgBpG,MAAMqG,QAAQzF,kBAC9BwF,OAAgBsL,QAAQ,cAAc5F,GAAYiG,aAA6D,QAApD7L,EAAME,OAAgBpG,MAAMqG,QAAQzF,wBAAgB,IAAAsF,OAAA,EAA9CA,EAAgDI,IACnH,GAAI6hB,EACH,OAAO,QAGFppB,KAAKiU,QAAQhM,SAAS,gBAAiB8E,GAG7C,MAAMsc,EAAYhiB,OAAgBsL,QAAQ,cAAc5F,GACxD,QAAIsc,GAMLP,OACC9oB,KAAKzC,OAAQ,EACbyC,KAAKspB,gBAAgBX,EAAkB5b,GACrCjQ,KAAMsb,IACNpY,KAAKoY,UAAYA,IAEjBnC,MAAOsT,IACPvpB,KAAKooB,WAAarb,EAAa,cAC/B/M,KAAK8N,aAAeyb,EACpBvpB,KAAKzC,OAAQ,MAIjB0X,OAAOuU,GACN,OAAIxpB,KAAKoY,WACRpY,KAAK8N,aAAe,GACb0b,EAAExpB,KAAKoY,YACJpY,KAAKzC,MACRisB,EAAEC,EAAY,CACpB5L,MAAO,CACNyK,OAAQtoB,KAAK8oB,KACbhb,aAAc9N,KAAK8N,aACnBsa,WAAYpoB,KAAKooB,eAInBpoB,KAAK8N,aAAe,GACpB9N,KAAKooB,WAAa,GACXoB,EAAEE,kBC7GPC,EAAOA,IAAM,gDACbC,EAAWA,IAAM,gDAajBC,EAAWA,IAAM,qFAA+B/sB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GACvE8rB,EAAgBA,IAAM,gDAAoCjtB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAEjF+rB,EAAeA,IAAM,qFAAmCltB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAC/EgsB,EAAaA,IAAM,gDAAiCntB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAI3Ewd,EAAiBA,IAAM,gDAAqC3e,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAEnFisB,EAAeA,IAAM,gDACrBC,EAAoBA,IAAM,gDAC1BC,EAA0BA,IAAM,gDAChCC,EAASA,IAAM,gDAGfC,EAAkBA,IAAM,gDAAkCxtB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GACjFssB,EAAgBA,IAAM,gDAAoCztB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAEjFusB,EAAcA,IAAM,gDAAkC1tB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAC7EwsB,EAAgBA,IAAM,gDAAoC3tB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GACjFysB,EAAaA,IAAM,2GAAiC5tB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GAE3E0sB,EAAgBA,IAAM,qFAAoC7tB,KAAKmB,GAAKA,EAAE6rB,SAAW7rB,GACvFiC,OAAIC,IAAIyqB,QAER,MAAMC,EAA6B,CAClC,CACCpV,KAAM,IACN5X,KAAM,OACNua,UAAWuR,EACXmB,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGlB,CACCtV,KAAM,WACN5X,KAAM,UACNua,UAAWwR,EACXkB,KAAM,CACL/C,WAAYP,EAAMC,KAClBsD,eAAgB,YAGf,CACItV,KAAM,UACN5X,KAAM,uBACNua,UAAWuS,EACXG,KAAM,CACF/C,WAAYP,EAAMC,KAClBsD,eAAgB,UAChBC,YAAa,mBAGxB,CACCvV,KAAM,iBACN5X,KAAM,iBACNua,UAAWoS,EACXM,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGf,CAEFtV,KAAM,wBACN5X,KAAM,iBACNua,UAAWmS,EACXO,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGlB,CAECtV,KAAM,0BACN5X,KAAM,mBACNua,UAAWkS,EACXQ,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGf,CACFtV,KAAM,eACN5X,KAAM,cACNua,UAAWoS,EACXM,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGf,CACFtV,KAAM,yBACN5X,KAAM,aACNua,UAAWsQ,EAAWgC,EAAY,cAClCI,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGf,CACFtV,KAAM,8BACN5X,KAAM,gBACNua,UAAWsQ,EAAW+B,EAAe,YACrCK,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAalB,CACCtV,KAAM,YACN5X,KAAM,WACNua,UAAWsQ,EAAWmB,EAAU,YAChCiB,KAAM,CACL/C,WAAYP,EAAMG,OAGpB,CACClS,KAAM,sBACN5X,KAAM,qBACNua,UAAWsQ,EAAWqB,EAAe,sBACrCe,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGlB,CACCtV,KAAM,gBACN5X,KAAM,eACNua,UAAWsQ,EAAWsB,EAAc,gBACpCc,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAGlB,CACCtV,KAAM,cACN5X,KAAM,aACNua,UAAWsQ,EAAWuB,EAAY,cAClCa,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SA8DlB,CACCtV,KAAM,kBACN5X,KAAM,kBACNua,UAAWqD,EACXqP,KAAM,CACL/C,WAAYP,EAAMG,KAClBoD,eAAgB,SAclB,CACCtV,KAAM,iBACN5X,KAAM,eACNua,UAAW8R,EACXY,KAAM,CACLG,gBAAgB,EAChBC,UAAU,IAGZ,CACCzV,KAAM,uBACN5X,KAAM,oBACNua,UAAW+R,EACXW,KAAM,CACLI,UAAU,IAGZ,CACCzV,KAAM,qBACN5X,KAAM,0BACNua,UAAWgS,EACXU,KAAM,CACLI,UAAU,IAGZ,CACCzV,KAAM,UACN5X,KAAM,SACNua,UAAWiS,GAEZ,CACC5U,KAAM,IACNqV,KAAM,CACL/C,WAAYP,EAAMI,WAClBmD,eAAgB,SAKbxE,GAAS,IAAIqE,OAAU,CAC5BC,SACA/rB,KAAM,YAIPynB,GAAO4E,WAAWxK,MAAOnL,EAAI6Q,EAAMC,KAClC,GAAI9Q,EAAGsV,MAAQtV,EAAGsV,KAAK/C,WAAY,CAC7B1gB,OAAgBpG,MAAMwc,OAAON,kBAAoB3H,EAAGsV,KAAKC,gBAAoD,kBAA3BvV,EAAGsV,KAAKC,gBAA6BvrB,QAAQyJ,IAAI,uBAAuBuM,EAAGsV,KAAKC,wBAAyBvE,EAAWqB,QAC3M,MAAME,EAAaE,MAAMC,QAAQ1S,EAAGsV,KAAK/C,YAAcvS,EAAGsV,KAAK/C,WAAa,CAACvS,EAAGsV,KAAK/C,YAC/EzgB,EAA6B,CAClCkO,KACA6Q,OACAC,OACAjf,MAAOA,OACPkf,OAAMA,IAED4B,EAAiBL,EAAYxgB,EAAWygB,EAC3C,GACH,OAAOA,EAAW,GAAG,IAAKzgB,EAASgf,KAAM6B,IAG1C,OAAO7B,MAGOC,U,6ECrTfrmB,OAAIkY,UAAU,KAAMgT,SACpBlrB,OAAIkY,UAAU,oBAAqBgT,SACnClrB,OAAIkY,UAAU,YAAaiT,SAC3BnrB,OAAIkY,UAAU,iBAAkBkT,SAUhCC,QAAYC,OAAS,MACrBC,QAAcD,OAAS,MACvBE,QAASF,OAAS,MAClBG,QAAMH,OAAS,MACfI,QAAMJ,OAAS,MACfK,QAAWL,OAAS,MAOpBM,QAASN,OAAS,MA2DlBO,QAAUP,OAAS,MACnBQ,QAAOR,OAAS,MAChBS,QAAOT,OAAS,MAChBU,QAAgBV,OAAS,MACzBW,QAAUX,OAAS,MACnBY,QAAOZ,OAAS,MAChBa,QAAOb,OAAS,MAChBc,QAAWd,OAAS,MACpBe,QAAcf,OAAS,MACvBgB,QAAsBhB,OAAS,MAC/BiB,QAAYjB,OAAS,MACrBkB,QAAYlB,OAAQ,MACpBmB,QAAYnB,OAAS,MACrBoB,QAASpB,OAAS,MAClBqB,QAAarB,OAAS,MACtBsB,QAAWtB,OAAS,MACpBuB,QAAYvB,OAAS,MACrBwB,QAAcxB,OAAS,MACvByB,QAAWzB,OAAS,MACpB0B,QAAQ1B,OAAU,MAClB2B,SAAW3B,OAAS,MACpB4B,QAAc5B,OAAQ,MACtB6B,QAAY7B,OAAS,MACrB8B,QAAc9B,OAAS,MACvB+B,QAAM/B,OAAS,MACfgC,QAAYhC,OAAS,MACrBiC,QAAajC,OAAS,MACtBkC,QAAYlC,OAAS,MACrBmC,QAAUnC,OAAS,MACnBoC,QAASpC,OAAS,MAClBqC,QAAWrC,OAAS,MACpBsC,QAAOtC,OAAS,MAChBuC,QAAcvC,OAAS,MACvBwC,QAAexC,OAAS,MACxByC,QAAczC,OAAS,MACvB0C,QAAc1C,OAAS,MACvBC,QAAcD,OAAS,MACvB2C,QAAY3C,OAAS,MACrB4C,QAAS5C,OAAS,MAClB6C,QAAO7C,OAAS,MAChB8C,QAAO9C,OAAS,MAChB+C,QAAmB/C,OAAS,MAC5BgD,QAAiBhD,OAAS,MAC1BiD,QAAQjD,OAAS,MACjBkD,QAAWlD,OAAS,MACpBmD,QAAQnD,OAAS,MACjBoD,QAASpD,OAAS,MAClBqD,QAAQrD,OAAS,MACjBsD,QAActD,OAAS,MACvBuD,QAAgBvD,OAAS,MACzBwD,QAAiBxD,OAAS,MAC1ByD,QAAOzD,OAAS,MAChBqB,QAAarB,OAAS,MACtB0D,QAAa1D,OAAS,MAKtB2D,QAAQC,IAEP7D,QACAE,QACAC,QACAC,QAGAG,QACAa,QAGAZ,QACAC,QACAC,QACAC,QACAC,QACAC,QACAK,QACAC,QACAE,QACAC,QACGC,QACHC,QACAC,QACAC,QACAC,QACAC,SACAC,QACAC,QACAC,QACAC,QACAlB,QACAC,QACAC,QACAC,QACAgB,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAlC,QACAC,QACAkC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,QACAC,SAeD,MAAMG,GAAiC,CACtCC,SAAU,SCpOXpvB,OAAIC,IAAIovB,SAER,MAAMC,GAAoC,CAOtCC,MAAO,CACHC,OAAQ,CACJC,MAAO,CACfC,WAAY,UACAC,QAAS,UACTC,UAAW,UACXC,OAAQ,UACRxyB,MAAO,UACP4G,KAAM,UACN6rB,UAAW,UACXC,QAAS,UACTC,QAAS,UACrBC,KAAM,aAINC,kBAAkB,EAClBC,MAAOhB,IAGI,WAAIE,QAAQC,I,wBCf3Bpe,KAAMsP,aAAa9Z,SAASzG,IAC1ByG,GAAaA,EACbrJ,IACA,IAAKA,EAAMqJ,SAEV,YADApH,QAAQjC,MAAM,6BAIf,MAAM,OAAEiU,GAAWjU,EAAMqJ,UACnB,KAAElO,GAAS6E,EAAMqJ,UACjB,KAAEnK,GAASc,EAuBjB,OArBe,MAAXiU,GACHhS,QAAQjC,MAAM,oBAAsBd,EAAM/D,GAG5B,MAAX8Y,GACHhS,QAAQjC,MAAM,4BAA8Bd,EAAM/D,GAG/C8Y,GAAU,KACbhS,QAAQjC,MAAM,uBAAyBd,EAAM/D,GAG/B,MAAX8Y,GACHhS,QAAQjC,MAAM,4BAA8Bd,EAAM/D,GAIpC,MAAX8Y,GACHhS,QAAQjC,MAAM,sBAAwBd,EAAM/D,GAGtCuC,QAAQE,OAAOoC,K,2BChDxB,MAAM8C,GAAiBC,UACvBD,GAAeE,OAAO8S,QAAS5S,IAC9B,MAAM6vB,EAAkBjwB,GAAeI,GAEjC+W,EAAc/W,EAAKyX,MAAM,KACzBqY,EAAgB/Y,EAAEgZ,MAClBC,EAAgBC,yBACrBC,wBAECJ,EAAM7vB,QAAQ,SAAU,MAItB+vB,GAEHvwB,OAAIkY,UACHqY,EAIAH,EAAgBxG,SAAWwG,K,wDCtBxB,SAAUM,KACf,MAAMC,EAAUvwB,UACVwwB,EAA2B,GAQjC,OAPAD,EAAQtwB,OAAO8S,QAASnU,IACvB,MAAM6xB,EAAU7xB,EAAI8xB,MAAM,uBAC1B,GAAID,GAAWA,EAAQ73B,OAAS,EAAG,CAClC,MAAM+3B,EAASF,EAAQ,GACvBD,EAASG,GAAUJ,EAAQ3xB,MAGtB4xB,E,iBCVR5wB,OAAIC,IAAI+wB,KAgBRhxB,OAAIC,IAAIgxB,QAAoB,CAAEC,aAC9BlxB,OAAIud,OAAO4T,UAA2D,EACtEnxB,OAAIud,OAAO6T,eAAgB,EAE3BpxB,OAAIC,IAAIoxB,SAGD,MAAMC,GAAO,IAAID,QAAQ,CAC/BN,OAAQ,KACRQ,eAAgB,KAChBX,SAAUF,OAGXc,MAAMC,gBAAsC70B,KAAM8J,IACjDA,EAASgrB,OAAO90B,KAAK6jB,UACpBzgB,OAAI9G,UAAUy4B,QAAUpU,EACvBpW,OAAgBY,SAAS,sBAAuBwV,GAEjD,MAAMqU,EAAe,CACpBpV,UAAWe,EAAOf,UAClBnU,SAAUkV,EAAOlV,SACjBoU,YAAac,EAAOd,YACpBC,aAAca,EAAOb,aACrBC,MAAOY,EAAOZ,MACdC,kBAAmBW,EAAOX,kBAC1BC,qBAAsBU,EAAOV,qBAC7BC,sBAAuBS,EAAOT,uBAEzB+U,EAAoDtU,EAAOL,WAC9D,CACA4U,WAAalpB,IAAQ,IAAAmpB,EAAAC,EACpB1yB,QAAQyJ,IAAI,sBAAuBH,GACjBmc,QAAgBkN,cAAcxM,kBAAoC,QAAnBsM,EAAK,OAAJnpB,QAAI,IAAJA,GAAa,QAATopB,EAAJppB,EAAM4c,eAAO,IAAAwM,OAAA,EAAbA,EAAenpB,WAAG,IAAAkpB,IAAI,KAEzFG,aAAcA,IAAM5yB,QAAQyJ,IAAI,yBAChCopB,oBAAqBA,IAAM7yB,QAAQyJ,IAAI,4BACvCqpB,mBAAoBA,IAAM9yB,QAAQyJ,IAAI,2BACtCspB,iBAAkBA,IAAM/yB,QAAQyJ,IAAI,2CACpCupB,cAAeA,IAAMhzB,QAAQyJ,IAAI,2BACjCwpB,UAAYxf,GAAYzT,QAAQyJ,IAAI,uBAAwBgK,EAAiC3L,WAAa2L,EAAiC1V,QAE3I,CACDy0B,WAAalpB,IAAQ,IAAA4pB,EAAAC,EACpBnzB,QAAQyJ,IAAI,sBAAuBH,GACpBmc,QAAgBkN,cAAcxM,kBAAoC,QAAnB+M,EAAK,OAAJ5pB,QAAI,IAAJA,GAAa,QAAT6pB,EAAJ7pB,EAAM4c,eAAO,IAAAiN,OAAA,EAAbA,EAAe5pB,WAAG,IAAA2pB,IAAI,MAexF,GAZArrB,OAAMurB,eACL,YACAC,gBACCf,EACA,CACChxB,YAAY,EACZgyB,wBAAwB,GAEzBf,IAIE7xB,OAAI9G,UAAUy4B,QAAQ3U,WAAY,CACrC,MAAM6V,EAASC,gBAAa,CAC3BC,WAAW,EACXC,cAAc,EACdC,YAAY,IAEbJ,EAAO1rB,cAII4d,QAAgBkN,cAAciB,aAAa,CAAEC,aAAa,IAAQpd,MAAOnb,IAAgB0E,QAAQjC,MAAM,0DAA2DzC,IAAW,IAEzL,IAAIoF,OAAI,CACPqmB,UACAlf,aACAmqB,QACAJ,WACAnc,OAASuU,GAAMA,EAAE8J,KACfC,OAAO,a,yCC/FZ,IAAIte,EAAS,WAAkB,IAAIZ,EAAIrU,KAAQqU,EAAIqQ,MAAM7Q,GAAG,OAAOQ,EAAImf,GAAG,IAEtExe,EAAkB,CAAC,WAAY,IAAIX,EAAIrU,KAAK6T,EAAGQ,EAAIqQ,MAAM7Q,GAAG,OAAOA,EAAG,MAAM,CAACC,YAAY,QAAQ,CAACD,EAAG,MAAM,CAACC,YAAY,2BAA2B,CAACD,EAAG,MAAM,CAACC,YAAY,6B,wBCD1K5W,EAAS,GAMTkb,EAAY,eACdlb,EACA+X,EACAD,GACA,EACA,KACA,WACA,MAIa,aAAAoD,E,+HClB8G,W,IAAG,O,EAAoB,EAAO,MAAG,GAAC,EAAW,MAAI,Y,OAAC,SAAc,CAAG,OAAIvE,IAAG,GAASC,MAAW,YAAsBD,MAAQ,GAAEC,UAAY,IAAsBD,eAAe,K,CAAQ,SAAQ,CAAE,YAAC,oBAACa,SAAW,C,YAAc,qB,CAAY+e,EAAE,OAACA,C,MAAa,C,MAAErf,I,YAAiBP,EAAG,IAAM,C,IAAEC,Y,GAAwBC,UAAG,G,kBAAgE,WAAE,YAAY,YAAgBD,IAA0BM,MAAM,YAAC,EAAK,QAAC,UAAc,iB,CAA+B,WAAY,GAAC,M,YAA2BC,cAAe,OAAG,IAAO,eAAuB,WAAG,aAAO,WAAe,mBAA0BP,MAAY,gBAAsBA,QAAY,oB,CAA8C,SAAU,+B,YAAU,YAAC,QAAQ,CAAM,YAAC,0BAACC,CAAE,EAAC,Q,MAAC,CAA2B,SAAIF,KAAO,GAAEO,MAAM,Q,GAA0B,CAAW,0BAAsBN,QAAW,CAA0B,MAAK,CAAaA,uBAAsBO,KAAIwR,SAAiE,OAAQ,EAAE,O,YAAU,0B,CAAC,cAAQ,CAAM,YAAC,SAAG,EAAC,mD,MAAC,C,MAA6B5R,G,KACxqCA,GAA4C,cAAG,GAAI,CAAOG,MAAM,YAAC,EAAM,QAAO,sDAAC,EAAM,QAAC,oCAC9F,SACGY,OAEJ,KAASC,O,qDCLF,MAAMye,EAAeA,KACxB,MAAMC,EAASp4B,SAASq4B,eAAe,gBACnCD,EACAj0B,OAAOm0B,iBAAiB,SAExBn0B,OAAOm0B,iBAAiB,SAI1BC,EAAOA,KACTp0B,OAAOq0B,WAAW,CACd,UAAa,YACb,OAAU,MAGjB,MAAMC,EAAWA,KAChB,GAAsC,oBAA5Bt0B,OAAOm0B,iBAAkC,CAEzC,MAAMz0B,EAAI,WAAcA,EAAU60B,EAAEz6B,KAAKqiB,YAEjDzc,EAAU60B,EAAE,GAAGv0B,OAAOm0B,iBAAiBz0B,IAInC40B,GACNA,IAEEt0B,OAAOm0B,iBAAiB,OAAQ,aAGpCC,IC3BA,MAAMI,EAAWA,IAAM,gDACRh0B,aAAIgV,OAAO,CACzBrX,KAAM,SACNs2B,WAAY,CACXD,YAED7V,SAAU,CACTwH,aACC,OAAuD,OAAhD7lB,KAAKiU,QAAQhT,MAAMqG,QAAQzF,mBAGpCgU,QAAS,CACRue,OACC,OAAKp0B,KAAK4d,SAASyW,WAAWC,OAGtBh0B,EAAQ,QAFRA,EAAQ,SAKjBi0B,YACC,OAAQv0B,KAAK4d,SAASyW,WAAWC,OAAe,GAAN,KAE3CE,kBACCd,QC1B+Y,I,wBCQ9Ytb,EAAY,eACd,EACA,EACApD,GACA,EACA,KACA,WACA,MAIa,aAAAoD,E,2CCnBf,W,qBCAAxd,EAAOD,QAAU,IAA0B,4B","file":"js/app.0f7d4487.js","sourcesContent":[" \t// install a JSONP callback for chunk loading\n \tfunction webpackJsonpCallback(data) {\n \t\tvar chunkIds = data[0];\n \t\tvar moreModules = data[1];\n \t\tvar executeModules = data[2];\n\n \t\t// add \"moreModules\" to the modules object,\n \t\t// then flag all \"chunkIds\" as loaded and fire callback\n \t\tvar moduleId, chunkId, i = 0, resolves = [];\n \t\tfor(;i < chunkIds.length; i++) {\n \t\t\tchunkId = chunkIds[i];\n \t\t\tif(Object.prototype.hasOwnProperty.call(installedChunks, chunkId) && installedChunks[chunkId]) {\n \t\t\t\tresolves.push(installedChunks[chunkId][0]);\n \t\t\t}\n \t\t\tinstalledChunks[chunkId] = 0;\n \t\t}\n \t\tfor(moduleId in moreModules) {\n \t\t\tif(Object.prototype.hasOwnProperty.call(moreModules, moduleId)) {\n \t\t\t\tmodules[moduleId] = moreModules[moduleId];\n \t\t\t}\n \t\t}\n \t\tif(parentJsonpFunction) parentJsonpFunction(data);\n\n \t\twhile(resolves.length) {\n \t\t\tresolves.shift()();\n \t\t}\n\n \t\t// add entry modules from loaded chunk to deferred list\n \t\tdeferredModules.push.apply(deferredModules, executeModules || []);\n\n \t\t// run deferred modules when all chunks ready\n \t\treturn checkDeferredModules();\n \t};\n \tfunction checkDeferredModules() {\n \t\tvar result;\n \t\tfor(var i = 0; i < deferredModules.length; i++) {\n \t\t\tvar deferredModule = deferredModules[i];\n \t\t\tvar fulfilled = true;\n \t\t\tfor(var j = 1; j < deferredModule.length; j++) {\n \t\t\t\tvar depId = deferredModule[j];\n \t\t\t\tif(installedChunks[depId] !== 0) fulfilled = false;\n \t\t\t}\n \t\t\tif(fulfilled) {\n \t\t\t\tdeferredModules.splice(i--, 1);\n \t\t\t\tresult = __webpack_require__(__webpack_require__.s = deferredModule[0]);\n \t\t\t}\n \t\t}\n\n \t\treturn result;\n \t}\n\n \t// The module cache\n \tvar installedModules = {};\n\n \t// object to store loaded CSS chunks\n \tvar installedCssChunks = {\n \t\t\"app\": 0\n \t}\n\n \t// object to store loaded and loading chunks\n \t// undefined = chunk not loaded, null = chunk preloaded/prefetched\n \t// Promise = chunk loading, 0 = chunk loaded\n \tvar installedChunks = {\n \t\t\"app\": 0\n \t};\n\n \tvar deferredModules = [];\n\n \t// script path function\n \tfunction jsonpScriptSrc(chunkId) {\n \t\treturn __webpack_require__.p + \"js/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-190f76bb\":\"4d5af94c\",\"chunk-1c29134c\":\"155d0627\",\"chunk-24e7ee4e\":\"9a1be244\",\"chunk-2d0c20a0\":\"818382fe\",\"chunk-2d0c53e7\":\"23b391a4\",\"chunk-2d0c7e56\":\"1a39296e\",\"chunk-2d0c8083\":\"2fa1eab8\",\"chunk-2d0cfcb3\":\"e1ae95b1\",\"chunk-2d0da6e1\":\"c16e0f8f\",\"chunk-2d0dd0e6\":\"d771d61e\",\"chunk-2d217387\":\"5f9c8520\",\"chunk-2d217e66\":\"e576c243\",\"chunk-2d21f47c\":\"be3edb33\",\"chunk-5a96977c\":\"aaddcd84\",\"chunk-ce064624\":\"3677c82e\",\"chunk-f167a36c\":\"094684ae\",\"chunk-6166710a\":\"ad975df8\",\"chunk-70caee82\":\"359a1981\",\"chunk-22dc793a\":\"05bae1c4\",\"chunk-40559d46\":\"24e435d5\",\"chunk-e97c9024\":\"06288765\",\"chunk-80f52c98\":\"b7b1de4c\",\"chunk-81177922\":\"675152f2\",\"chunk-a4665a58\":\"5f987dec\",\"chunk-db2da74e\":\"7b408eb4\",\"chunk-f44b8b92\":\"05dd43d0\",\"chunk-06f12f80\":\"afec244e\",\"chunk-7e7c4094\":\"a8d40861\",\"chunk-2c01d6aa\":\"7080d4b3\",\"chunk-6986efe0\":\"d7d29025\",\"chunk-19687314\":\"35cd5593\",\"chunk-2d230e93\":\"d4be2bd7\",\"chunk-f0b47502\":\"d709a2e7\",\"chunk-cb783622\":\"b8b6cb0e\",\"chunk-66c3af22\":\"a87890fd\",\"chunk-7e4554ac\":\"1c331453\",\"chunk-2d0e1d50\":\"f041009b\",\"chunk-3e67cdd8\":\"af3e160f\",\"chunk-ffe94894\":\"a3f2e367\",\"chunk-20dfa1b8\":\"4ccf165a\",\"chunk-73d7ce48\":\"8858634c\",\"chunk-41f7d29a\":\"793acc5b\",\"chunk-9ce754de\":\"f95d3568\",\"chunk-05aec3e3\":\"4899edbc\",\"chunk-433cd20a\":\"6d7c1c3e\",\"chunk-f44874a0\":\"b2e977a5\",\"chunk-5672eea2\":\"e8c88490\",\"chunk-b4c38e38\":\"95262eec\",\"chunk-52ca3d6d\":\"ca92148b\",\"chunk-8059e9f8\":\"68145f52\",\"chunk-aae7fd00\":\"3520f874\",\"chunk-2d231187\":\"c1447620\",\"chunk-55c37e31\":\"f81710d0\",\"chunk-8b002ed2\":\"d8e02f90\",\"chunk-08453654\":\"80d3c7ce\",\"chunk-102baf19\":\"d5f6ea84\",\"chunk-212947a0\":\"46164806\",\"chunk-7397f062\":\"c4d8a0f4\",\"chunk-05835734\":\"ed7a42be\",\"chunk-5d8b34b7\":\"65dd0b9d\",\"chunk-fc3f2c5a\":\"384f04bb\",\"chunk-21668f20\":\"937c701c\",\"chunk-2d0e585d\":\"5d7b7441\"}[chunkId] + \".js\"\n \t}\n\n \t// The require function\n \tfunction __webpack_require__(moduleId) {\n\n \t\t// Check if module is in cache\n \t\tif(installedModules[moduleId]) {\n \t\t\treturn installedModules[moduleId].exports;\n \t\t}\n \t\t// Create a new module (and put it into the cache)\n \t\tvar module = installedModules[moduleId] = {\n \t\t\ti: moduleId,\n \t\t\tl: false,\n \t\t\texports: {}\n \t\t};\n\n \t\t// Execute the module function\n \t\tmodules[moduleId].call(module.exports, module, module.exports, __webpack_require__);\n\n \t\t// Flag the module as loaded\n \t\tmodule.l = true;\n\n \t\t// Return the exports of the module\n \t\treturn module.exports;\n \t}\n\n \t// This file contains only the entry chunk.\n \t// The chunk loading function for additional chunks\n \t__webpack_require__.e = function requireEnsure(chunkId) {\n \t\tvar promises = [];\n\n\n \t\t// mini-css-extract-plugin CSS loading\n \t\tvar cssChunks = {\"chunk-1c29134c\":1,\"chunk-5a96977c\":1,\"chunk-f167a36c\":1,\"chunk-6166710a\":1,\"chunk-70caee82\":1,\"chunk-40559d46\":1,\"chunk-e97c9024\":1,\"chunk-80f52c98\":1,\"chunk-81177922\":1,\"chunk-a4665a58\":1,\"chunk-06f12f80\":1,\"chunk-7e7c4094\":1,\"chunk-2c01d6aa\":1,\"chunk-6986efe0\":1,\"chunk-19687314\":1,\"chunk-f0b47502\":1,\"chunk-66c3af22\":1,\"chunk-7e4554ac\":1,\"chunk-3e67cdd8\":1,\"chunk-ffe94894\":1,\"chunk-20dfa1b8\":1,\"chunk-9ce754de\":1,\"chunk-05aec3e3\":1,\"chunk-433cd20a\":1,\"chunk-f44874a0\":1,\"chunk-5672eea2\":1,\"chunk-b4c38e38\":1,\"chunk-52ca3d6d\":1,\"chunk-8059e9f8\":1,\"chunk-aae7fd00\":1,\"chunk-55c37e31\":1,\"chunk-08453654\":1,\"chunk-102baf19\":1,\"chunk-212947a0\":1,\"chunk-7397f062\":1,\"chunk-05835734\":1,\"chunk-5d8b34b7\":1,\"chunk-fc3f2c5a\":1,\"chunk-21668f20\":1};\n \t\tif(installedCssChunks[chunkId]) promises.push(installedCssChunks[chunkId]);\n \t\telse if(installedCssChunks[chunkId] !== 0 && cssChunks[chunkId]) {\n \t\t\tpromises.push(installedCssChunks[chunkId] = new Promise(function(resolve, reject) {\n \t\t\t\tvar href = \"css/\" + ({}[chunkId]||chunkId) + \".\" + {\"chunk-190f76bb\":\"31d6cfe0\",\"chunk-1c29134c\":\"f9436fdb\",\"chunk-24e7ee4e\":\"31d6cfe0\",\"chunk-2d0c20a0\":\"31d6cfe0\",\"chunk-2d0c53e7\":\"31d6cfe0\",\"chunk-2d0c7e56\":\"31d6cfe0\",\"chunk-2d0c8083\":\"31d6cfe0\",\"chunk-2d0cfcb3\":\"31d6cfe0\",\"chunk-2d0da6e1\":\"31d6cfe0\",\"chunk-2d0dd0e6\":\"31d6cfe0\",\"chunk-2d217387\":\"31d6cfe0\",\"chunk-2d217e66\":\"31d6cfe0\",\"chunk-2d21f47c\":\"31d6cfe0\",\"chunk-5a96977c\":\"e79726c3\",\"chunk-ce064624\":\"31d6cfe0\",\"chunk-f167a36c\":\"62164819\",\"chunk-6166710a\":\"2fbf3f54\",\"chunk-70caee82\":\"daca5a6e\",\"chunk-22dc793a\":\"31d6cfe0\",\"chunk-40559d46\":\"cf37de2f\",\"chunk-e97c9024\":\"8a3236a9\",\"chunk-80f52c98\":\"297d45b6\",\"chunk-81177922\":\"4880d624\",\"chunk-a4665a58\":\"ccd43844\",\"chunk-db2da74e\":\"31d6cfe0\",\"chunk-f44b8b92\":\"31d6cfe0\",\"chunk-06f12f80\":\"379281af\",\"chunk-7e7c4094\":\"b3e06822\",\"chunk-2c01d6aa\":\"2a25af00\",\"chunk-6986efe0\":\"71de997d\",\"chunk-19687314\":\"f9436fdb\",\"chunk-2d230e93\":\"31d6cfe0\",\"chunk-f0b47502\":\"9083d402\",\"chunk-cb783622\":\"31d6cfe0\",\"chunk-66c3af22\":\"56238efa\",\"chunk-7e4554ac\":\"d7f7b5da\",\"chunk-2d0e1d50\":\"31d6cfe0\",\"chunk-3e67cdd8\":\"ea1c4547\",\"chunk-ffe94894\":\"d716e5ef\",\"chunk-20dfa1b8\":\"f582cfd3\",\"chunk-73d7ce48\":\"31d6cfe0\",\"chunk-41f7d29a\":\"31d6cfe0\",\"chunk-9ce754de\":\"22c5f388\",\"chunk-05aec3e3\":\"71de997d\",\"chunk-433cd20a\":\"fedd3d63\",\"chunk-f44874a0\":\"71de997d\",\"chunk-5672eea2\":\"7ce6d6eb\",\"chunk-b4c38e38\":\"22c5f388\",\"chunk-52ca3d6d\":\"5d9766c2\",\"chunk-8059e9f8\":\"6cf84825\",\"chunk-aae7fd00\":\"3e48911e\",\"chunk-2d231187\":\"31d6cfe0\",\"chunk-55c37e31\":\"d716e5ef\",\"chunk-8b002ed2\":\"31d6cfe0\",\"chunk-08453654\":\"d7f7b5da\",\"chunk-102baf19\":\"851b48a9\",\"chunk-212947a0\":\"118da9f5\",\"chunk-7397f062\":\"3aadd5dd\",\"chunk-05835734\":\"f4e1a617\",\"chunk-5d8b34b7\":\"0141dfe7\",\"chunk-fc3f2c5a\":\"243cac65\",\"chunk-21668f20\":\"cda3bf14\",\"chunk-2d0e585d\":\"31d6cfe0\"}[chunkId] + \".css\";\n \t\t\t\tvar fullhref = __webpack_require__.p + href;\n \t\t\t\tvar existingLinkTags = document.getElementsByTagName(\"link\");\n \t\t\t\tfor(var i = 0; i < existingLinkTags.length; i++) {\n \t\t\t\t\tvar tag = existingLinkTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\") || tag.getAttribute(\"href\");\n \t\t\t\t\tif(tag.rel === \"stylesheet\" && (dataHref === href || dataHref === fullhref)) return resolve();\n \t\t\t\t}\n \t\t\t\tvar existingStyleTags = document.getElementsByTagName(\"style\");\n \t\t\t\tfor(var i = 0; i < existingStyleTags.length; i++) {\n \t\t\t\t\tvar tag = existingStyleTags[i];\n \t\t\t\t\tvar dataHref = tag.getAttribute(\"data-href\");\n \t\t\t\t\tif(dataHref === href || dataHref === fullhref) return resolve();\n \t\t\t\t}\n \t\t\t\tvar linkTag = document.createElement(\"link\");\n \t\t\t\tlinkTag.rel = \"stylesheet\";\n \t\t\t\tlinkTag.type = \"text/css\";\n \t\t\t\tlinkTag.onload = resolve;\n \t\t\t\tlinkTag.onerror = function(event) {\n \t\t\t\t\tvar request = event && event.target && event.target.src || fullhref;\n \t\t\t\t\tvar err = new Error(\"Loading CSS chunk \" + chunkId + \" failed.\\n(\" + request + \")\");\n \t\t\t\t\terr.code = \"CSS_CHUNK_LOAD_FAILED\";\n \t\t\t\t\terr.request = request;\n \t\t\t\t\tdelete installedCssChunks[chunkId]\n \t\t\t\t\tlinkTag.parentNode.removeChild(linkTag)\n \t\t\t\t\treject(err);\n \t\t\t\t};\n \t\t\t\tlinkTag.href = fullhref;\n\n \t\t\t\tvar head = document.getElementsByTagName(\"head\")[0];\n \t\t\t\thead.appendChild(linkTag);\n \t\t\t}).then(function() {\n \t\t\t\tinstalledCssChunks[chunkId] = 0;\n \t\t\t}));\n \t\t}\n\n \t\t// JSONP chunk loading for javascript\n\n \t\tvar installedChunkData = installedChunks[chunkId];\n \t\tif(installedChunkData !== 0) { // 0 means \"already installed\".\n\n \t\t\t// a Promise means \"currently loading\".\n \t\t\tif(installedChunkData) {\n \t\t\t\tpromises.push(installedChunkData[2]);\n \t\t\t} else {\n \t\t\t\t// setup Promise in chunk cache\n \t\t\t\tvar promise = new Promise(function(resolve, reject) {\n \t\t\t\t\tinstalledChunkData = installedChunks[chunkId] = [resolve, reject];\n \t\t\t\t});\n \t\t\t\tpromises.push(installedChunkData[2] = promise);\n\n \t\t\t\t// start chunk loading\n \t\t\t\tvar script = document.createElement('script');\n \t\t\t\tvar onScriptComplete;\n\n \t\t\t\tscript.charset = 'utf-8';\n \t\t\t\tscript.timeout = 120;\n \t\t\t\tif (__webpack_require__.nc) {\n \t\t\t\t\tscript.setAttribute(\"nonce\", __webpack_require__.nc);\n \t\t\t\t}\n \t\t\t\tscript.src = jsonpScriptSrc(chunkId);\n\n \t\t\t\t// create error before stack unwound to get useful stacktrace later\n \t\t\t\tvar error = new Error();\n \t\t\t\tonScriptComplete = function (event) {\n \t\t\t\t\t// avoid mem leaks in IE.\n \t\t\t\t\tscript.onerror = script.onload = null;\n \t\t\t\t\tclearTimeout(timeout);\n \t\t\t\t\tvar chunk = installedChunks[chunkId];\n \t\t\t\t\tif(chunk !== 0) {\n \t\t\t\t\t\tif(chunk) {\n \t\t\t\t\t\t\tvar errorType = event && (event.type === 'load' ? 'missing' : event.type);\n \t\t\t\t\t\t\tvar realSrc = event && event.target && event.target.src;\n \t\t\t\t\t\t\terror.message = 'Loading chunk ' + chunkId + ' failed.\\n(' + errorType + ': ' + realSrc + ')';\n \t\t\t\t\t\t\terror.name = 'ChunkLoadError';\n \t\t\t\t\t\t\terror.type = errorType;\n \t\t\t\t\t\t\terror.request = realSrc;\n \t\t\t\t\t\t\tchunk[1](error);\n \t\t\t\t\t\t}\n \t\t\t\t\t\tinstalledChunks[chunkId] = undefined;\n \t\t\t\t\t}\n \t\t\t\t};\n \t\t\t\tvar timeout = setTimeout(function(){\n \t\t\t\t\tonScriptComplete({ type: 'timeout', target: script });\n \t\t\t\t}, 120000);\n \t\t\t\tscript.onerror = script.onload = onScriptComplete;\n \t\t\t\tdocument.head.appendChild(script);\n \t\t\t}\n \t\t}\n \t\treturn Promise.all(promises);\n \t};\n\n \t// expose the modules object (__webpack_modules__)\n \t__webpack_require__.m = modules;\n\n \t// expose the module cache\n \t__webpack_require__.c = installedModules;\n\n \t// define getter function for harmony exports\n \t__webpack_require__.d = function(exports, name, getter) {\n \t\tif(!__webpack_require__.o(exports, name)) {\n \t\t\tObject.defineProperty(exports, name, { enumerable: true, get: getter });\n \t\t}\n \t};\n\n \t// define __esModule on exports\n \t__webpack_require__.r = function(exports) {\n \t\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n \t\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n \t\t}\n \t\tObject.defineProperty(exports, '__esModule', { value: true });\n \t};\n\n \t// create a fake namespace object\n \t// mode & 1: value is a module id, require it\n \t// mode & 2: merge all properties of value into the ns\n \t// mode & 4: return value when already ns object\n \t// mode & 8|1: behave like require\n \t__webpack_require__.t = function(value, mode) {\n \t\tif(mode & 1) value = __webpack_require__(value);\n \t\tif(mode & 8) return value;\n \t\tif((mode & 4) && typeof value === 'object' && value && value.__esModule) return value;\n \t\tvar ns = Object.create(null);\n \t\t__webpack_require__.r(ns);\n \t\tObject.defineProperty(ns, 'default', { enumerable: true, value: value });\n \t\tif(mode & 2 && typeof value != 'string') for(var key in value) __webpack_require__.d(ns, key, function(key) { return value[key]; }.bind(null, key));\n \t\treturn ns;\n \t};\n\n \t// getDefaultExport function for compatibility with non-harmony modules\n \t__webpack_require__.n = function(module) {\n \t\tvar getter = module && module.__esModule ?\n \t\t\tfunction getDefault() { return module['default']; } :\n \t\t\tfunction getModuleExports() { return module; };\n \t\t__webpack_require__.d(getter, 'a', getter);\n \t\treturn getter;\n \t};\n\n \t// Object.prototype.hasOwnProperty.call\n \t__webpack_require__.o = function(object, property) { return Object.prototype.hasOwnProperty.call(object, property); };\n\n \t// __webpack_public_path__\n \t__webpack_require__.p = \"/\";\n\n \t// on error function for async loading\n \t__webpack_require__.oe = function(err) { console.error(err); throw err; };\n\n \tvar jsonpArray = window[\"webpackJsonp\"] = window[\"webpackJsonp\"] || [];\n \tvar oldJsonpFunction = jsonpArray.push.bind(jsonpArray);\n \tjsonpArray.push = webpackJsonpCallback;\n \tjsonpArray = jsonpArray.slice();\n \tfor(var i = 0; i < jsonpArray.length; i++) webpackJsonpCallback(jsonpArray[i]);\n \tvar parentJsonpFunction = oldJsonpFunction;\n\n\n \t// add entry module to deferred list\n \tdeferredModules.push([0,\"chunk-vendors\"]);\n \t// run deferred modules when ready\n \treturn checkDeferredModules();\n","import { NavActions, NavGetters, NavMutations, NavState } from \"./modules/nav\"\nimport { ConfigActions, ConfigGetters, ConfigMutations, ConfigState } from \"./modules/config\"\nimport { OidcActions, OidcGetters, OidcMutations, OidcState } from \"./modules/oidcStore\"\nimport { AclActions, AclGetters, AclMutations, AclState } from \"./modules/acl\"\nimport { ContextActions, ContextGetters, ContextMutations, ContextState } from \"./modules/context\"\nimport { ProvisioningActions, ProvisioningGetters, ProvisioningMutations, ProvisioningState } from \"./modules/provisioning\"\n\n\nimport Vue, { PluginObject } from \"vue\"\nimport { Store as VuexStore, CommitOptions, DispatchOptions } from \"vuex\"\n\ntype Actions = NavActions & ConfigActions & OidcActions & AclActions & ContextActions & ProvisioningActions\ntype Getters = NavGetters & ConfigGetters & OidcGetters & AclGetters & ContextGetters & ProvisioningGetters\ntype Mutations = NavMutations & ConfigMutations & OidcMutations & AclMutations & ContextMutations & ProvisioningMutations\nexport type State = NavState & ConfigState & OidcState & AclState & ContextState & ProvisioningState\n\nexport type Store = Omit, \"getters\" | \"commit\" | \"dispatch\"> & {\n\tcommit[1]>(key: K, payload: P, options?: CommitOptions): ReturnType\n} & {\n\t// add Route to dispatch payload (used in our OIDC middleware)\n\t// add logout endSessionArgs (used in Logout.vue)\n\tdispatch(key: K, payload?: Parameters[1] | unknown, options?: DispatchOptions): ReturnType\n} & {\n\tgetters: {\n\t\t[K in keyof Getters]: ReturnType\n\t}\n}\n\ndeclare module \"vue/types/vue\" {\n\tinterface Vue {\n\t\t$vStore: Store\n\t}\n}\n\nexport const typedStorePlugin: PluginObject = {\n\tinstall(VueInstance: typeof Vue) {\n\t\tObject.defineProperty(VueInstance.prototype, \"$vStore\", {\n\t\t\tget() {\n\t\t\t\treturn this.$store\n\t\t\t},\n\t\t})\n\t},\n}","import Vue from \"vue\"\nimport Vuex from \"vuex\"\nimport { typedStorePlugin, Store as TypedStore } from \"./combine\"\n\nVue.use(Vuex)\nVue.use(typedStorePlugin)\n\n// auto-register all vuex modules\nconst requireContext = require.context(\"./modules\", false, /.*\\.ts$/)\nconst modules = requireContext\n\t.keys()\n\t.map((file) => [file.replace(/(^.\\/)|(\\.ts$)/g, \"\"), requireContext(file)])\n\t.filter(mod => {\n\t\treturn (mod[0] !== \"oidcStore\")\n\t})\n\t.reduce((modules, [name, module]) => {\n\t\n\t\tif (module.namespaced === undefined) {\n\t\t\tmodule.namespaced = true\n\t\t}\n\n\t\treturn { ...modules, [name]: module }\n\t}, {})\n\nexport default new Vuex.Store({\n\tplugins: [],\n\tstate: {},\n\tmutations: {},\n\tactions: {},\n\tmodules: {\n\t\t...modules\n\t},\n})\n\nexport type Store = TypedStore\n","import { MutationTree, ActionTree, ActionContext, GetterTree } from \"vuex\"\nimport { Namespaced, NamespacedState } from \"@/types/functionTypes\"\nimport { ApiClient } from \"@/api/apiClient\"\nimport store, { Store } from \"@/store\"\nimport { CreateTenantPayload } from \"@/types/requests\"\nimport { \n\tClientInvitationResponse, ClientInvitationInfo, CreateClientInvitationRequest, ClientInvitation, \n\tClientInvitationInfoResponse, ClientInvitationRegistrationsResponse, ChangeActiveRequest, ChangeManualApprovalRequest,\n\tClientInvitationRegistration, \n\tMemberInfo,\n\tFetched,\n AclResponse,\n AnyDomainPermissions\n} from \"@/types/responses\"\nimport { FindPersonAccountRequest } from \"@/types/requests\"\nimport { DomainsResponse, Domain, Person, Client, CompanyInfo, CustomerInfoResponse, \n\tPersonsResponse, CustomerClientsResponse, ClientPersons, ClientInfoResponse, \n\tReassignPersonRequest,ReassignClientPersonRequest,ReassignClientPersonToExistingClientRequest, \n\tGetAccountDetails, FindPersonAccountResponse, AccountItem } from \"@/types/responses\"\nimport {v4 as uuidv4} from 'uuid';\nimport { ModuleName, OnboardingRoles, OnboardingUiEnum } from \"@/types/enums\"\nimport axios, { AxiosError } from \"axios\"\n\n// state\nexport type State = {\n\tfetched: Fetched\n\tdomains: DomainsResponse[\"results\"]\n\tpersons: PersonsResponse[\"results\"]\n\tassignableLinkOwners: Array\n\tcustomerClients: CustomerClientsResponse[\"results\"]\n associatedClients: CustomerClientsResponse[\"results\"]\n\tclientInvitations: ClientInvitationResponse[\"results\"]\n\tclientPersons: Array\n\tselectedPerson: null | Person\n\tselectedCustomer: null | Domain\n\tselectedCustomerInfo: null | CustomerInfoResponse\n\tselectedClient: null | Client\n\tselectedClientInfo: null | ClientInfoResponse\n\tselectedClientInvitation: null | ClientInvitation\n\tselectedClientInvitationInfo: null | ClientInvitationInfoResponse\n\tselectedClientInvitationRegistrations: ClientInvitationRegistrationsResponse[\"results\"]\n\tselectedRegistration: null | ClientInvitationRegistration\n\tfindPersonAccounts: null | FindPersonAccountResponse[\"results\"]\n\taccountSummary: null | GetAccountDetails\n\tselectedAccount: null | AccountItem\n createTenantFormData: CreateTenantPayload\n anyDomainAcl: null | AclResponse\n anyDomainPermissions: AnyDomainPermissions\n}\n\nexport const state: State = {\n\tfetched: {\n\t\tdomains: false\n\t},\n\tdomains: [],\n\tpersons: [],\n\tassignableLinkOwners: [],\n\tcustomerClients: [],\n associatedClients: [],\n\tclientInvitations: [],\n\tclientPersons: [],\n\tselectedPerson: null,\n\tselectedCustomer: null,\n\tselectedCustomerInfo: null,\n\tselectedClient: null,\n\tselectedClientInfo: null,\n\tselectedClientInvitation: null,\n\tselectedClientInvitationInfo: null,\n\tselectedClientInvitationRegistrations: [],\n\tselectedRegistration: null,\n\tfindPersonAccounts: [],\n\taccountSummary: null,\n\tselectedAccount: null,\n createTenantFormData: {\n tenantOnboardingId: \"\",\n businessRegistryId: \"\",\n companyName: \"\",\n email: \"\",\n invitingPersonDisplayName: \"\",\n invitingPersonId: \"\",\n phoneNumber: \"\",\n tenantId: \"\"\n },\n anyDomainAcl: null,\n anyDomainPermissions: {\n isTenantOnboarder: false\n }\n}\n\n// mutations\nenum MutationTypes {\n\tSET_FETCHED = \"SET_FETCHED\",\n\tSET_DOMAINS = \"SET_DOMAINS\",\n\tSET_PERSONS = \"SET_PERSONS\",\n\tSET_PERSON = \"SET_PERSON\",\n\tSET_ASSIGNABLELINKOWNERS = \"SET_ASSIGNABLELINKOWNERS\",\n\tSET_CUSTOMERCLIENTS = \"SET_CUSTOMERCLIENTS\",\n\tSET_CLIENTINVITATONS = \"SET_CLIENTINVITATONS\",\n\tSET_CLIENTPERSONS = \"SET_CLIENTPERSONS\",\n SET_ASSOCIATEDCLIENTS = \"SET_ASSOCIATEDCLIENTS\",\n\tSET_CUSTOMER = \"SET_CUSTOMER\",\n\tSET_CUSTOMER_INFO = \"SET_CUSTOMER_INFO\",\n\tSET_CLIENT = \"SET_CLIENT\",\n\tSET_CLIENT_INFO = \"SET_CLIENT_INFO\",\n\tSET_CLIENT_INVITATION = \"SET_CLIENT_INVITATION\",\n\tSET_CLIENT_INVITATION_INFO = \"SET_CLIENT_INVITATION_INFO\",\n\tSET_CLIENT_INVITATION_REGISTRATIONS = \"SET_CLIENT_INVITATION_REGISTRATIONS\",\n\tSET_REGISTRATION = \"SET_SELECTED_REGISTRATION\",\n\tRESET_CONTEXT = \"RESET_CONTEXT\",\n\tRESET_PERSONS = \"RESET_PERSONS\",\n\tRESET_CUSTOMERCLIENTS = \"RESET_CUSTOMERCLIENTS\",\n RESET_ASSOCIATEDCLIENTS = \"RESET_ASSOCIATEDCLIENTS\",\n\tRESET_CLIENTPERSONS = \"RESET_CLIENTPERSONS\",\n\tRESET_CUSTOMER_INFO = \"RESET_CUSTOMER_INFO\",\n\tRESET_CLIENT_INFO = \"RESET_CLIENT_INFO\",\n\tRESET_CLIENT_INVITATIONS = \"RESET_CUSTOMER_INFO\",\n\tRESET_CLIENT_INVITATION_INFO = \"RESET_CLIENT_INVITATION_INFO\",\n\tRESET_CLIENT_INVITATION_REGISTRATIONS = \"RESET_CLIENT_INVITATION_REGISTRATIONS\",\n\tRESET_REGISTRATION = \"RESET_SELECTED_REGISTRATION\",\n\tSET_FIND_ACCOUNT_RESULTS = \"SET_FIND_ACCOUNT_RESULTS\",\n\tSET_SELECTED_ACCOUNT_DETAILS = \"SET_SELECTED_ACCOUNT_DETAILS\",\n\tRESET_FIND_ACCOUNT_RESULTS = \"RESET_FIND_ACCOUNT_RESULTS\",\n\tRESET_SELECTED_ACCOUNT_DETAILS = \"RESET_SELECTED_ACCOUNT_DETAILS\",\n\tSET_ACCOUNT_RESULTS = \"SET_ACCOUNT_RESULTS\",\n\tSET_SELECTED_ACCOUNT = \"SET_SELECT_SELECTED_ACCOUNT\",\n SET_CREATE_TENANT_FORM_DATA = \"SET_CREATE_TENANT_FORM_DATA\",\n RESET_CREATE_TENANT_FORM_DATA = \"RESET_CREATE_TENANT_FORM_DATA\",\n SET_ANY_DOMAIN_ACL = \"SET_ANY_DOMAIN_ACL\",\n SET_ANY_DOMAIN_PERMISSIONS = \"SET_ANY_DOMAIN_PERMISSIONS\"\n}\nexport type Mutations = {\n\t[MutationTypes.SET_FETCHED](state: S, fetched: Fetched): void\n\t[MutationTypes.SET_DOMAINS](state: S, domains: DomainsResponse[\"results\"]): void\n\t[MutationTypes.SET_PERSONS](state: S, persons: PersonsResponse[\"results\"]): void\n\t[MutationTypes.SET_PERSON](state: S, person: Person | null): void\n\t[MutationTypes.SET_ASSIGNABLELINKOWNERS](state: S, linkOwners: Array): void\n\t[MutationTypes.SET_CUSTOMERCLIENTS](state: S, customerClients: CustomerClientsResponse[\"results\"]): void\n [MutationTypes.SET_ASSOCIATEDCLIENTS](state: S, associatedClients: CustomerClientsResponse[\"results\"]): void\n\t[MutationTypes.SET_CLIENTINVITATONS](state: S, clientInvitations: Array): void\n\t[MutationTypes.SET_CLIENTPERSONS](state: S, clientPersons: Array): void\n\t[MutationTypes.SET_CUSTOMER](state: S, customer: Domain | null): void\n\t[MutationTypes.SET_CUSTOMER_INFO](state: S, info: CustomerInfoResponse | null): void\n\t[MutationTypes.SET_CLIENT](state: S, client: Client | null): void\n\t[MutationTypes.SET_CLIENT_INFO](state: S, info: ClientInfoResponse | null): void\n\t[MutationTypes.SET_CLIENT_INVITATION](state: S, invitation: ClientInvitation | null): void\n\t[MutationTypes.SET_CLIENT_INVITATION_INFO](state: S, info: ClientInvitationInfoResponse | null): void\n\t[MutationTypes.SET_CLIENT_INVITATION_REGISTRATIONS](state: S, registrations: ClientInvitationRegistrationsResponse[\"results\"]): void\n\t[MutationTypes.SET_REGISTRATION](state: S, registration: ClientInvitationRegistration | null): void\n [MutationTypes.SET_ANY_DOMAIN_ACL](state: S, anyDomainAcl: AclResponse | null): void\n [MutationTypes.SET_ANY_DOMAIN_PERMISSIONS](state: S, anyDomainPermissions: AnyDomainPermissions): void\n\t[MutationTypes.RESET_CONTEXT](state: S): void\n\t[MutationTypes.RESET_PERSONS](state: S): void\n\t[MutationTypes.RESET_CUSTOMERCLIENTS](state: S): void\n [MutationTypes.RESET_ASSOCIATEDCLIENTS](state: S): void\n\t[MutationTypes.RESET_CLIENTPERSONS](state: S): void\n\t[MutationTypes.RESET_CUSTOMER_INFO](state: S): void\n\t[MutationTypes.RESET_CLIENT_INFO](state: S): void\n\t[MutationTypes.RESET_CLIENT_INVITATIONS](state: S): void\n\t[MutationTypes.RESET_CLIENT_INVITATION_INFO](state: S): void\n\t[MutationTypes.RESET_CLIENT_INVITATION_REGISTRATIONS](state: S): void\n\t[MutationTypes.RESET_REGISTRATION](state: S): void\n\t[MutationTypes.SET_FIND_ACCOUNT_RESULTS](state: S, info: FindPersonAccountResponse[\"results\"] | null): void\n\t[MutationTypes.SET_SELECTED_ACCOUNT_DETAILS](state: State, results: GetAccountDetails| null): void\n\t[MutationTypes.RESET_FIND_ACCOUNT_RESULTS](state: S): void\n\t[MutationTypes.RESET_SELECTED_ACCOUNT_DETAILS](state: S): void\n\t[MutationTypes.SET_ACCOUNT_RESULTS](state: S, results: FindPersonAccountResponse[\"results\"]): void\n\t[MutationTypes.SET_SELECTED_ACCOUNT](state: S, account: AccountItem | null): void\n [MutationTypes.SET_CREATE_TENANT_FORM_DATA](state: S, createTenantFormData: CreateTenantPayload | null): void\n [MutationTypes.RESET_CREATE_TENANT_FORM_DATA](state: S): void\n}\nexport const mutations: MutationTree & Mutations = {\n\t[MutationTypes.SET_FETCHED](state: State, fetched: Fetched) {\n\t\tstate.fetched = fetched\n\t},\n\t[MutationTypes.SET_DOMAINS](state: State, domains: DomainsResponse[\"results\"]) {\n\t\tstate.domains = domains\n\t},\n\t[MutationTypes.SET_PERSONS](state: State, persons: PersonsResponse[\"results\"]) {\n\t\tstate.persons = persons\n\t},\n\t[MutationTypes.SET_PERSON](state: State, person: Person | null) {\n\t\tstate.selectedPerson = person\n\t},\n\t[MutationTypes.SET_ASSIGNABLELINKOWNERS](state: State, linkOwners: Array) {\n\t\tstate.assignableLinkOwners = linkOwners\n\t},\n\t[MutationTypes.SET_CUSTOMERCLIENTS](state: State, customerClients: CustomerClientsResponse[\"results\"]) {\n\t\tstate.customerClients = customerClients\n\t},\n\t[MutationTypes.SET_ASSOCIATEDCLIENTS](state: State, associatedClients: CustomerClientsResponse[\"results\"]) {\n\t\tstate.associatedClients = associatedClients\n\t},\n\t[MutationTypes.SET_CLIENTINVITATONS](state: State, clientInvitations: Array) {\n\t\tstate.clientInvitations = clientInvitations\n\t},\n\t[MutationTypes.SET_CLIENTPERSONS](state: State, clientPersons: Array) {\n\t\tstate.clientPersons = clientPersons\n\t},\n\t[MutationTypes.SET_CUSTOMER](state: State, customer: Domain | null) {\n\t\tstate.selectedCustomer = customer\n\t},\n\t[MutationTypes.SET_CUSTOMER_INFO](state: State, info: CustomerInfoResponse | null) {\n\t\tstate.selectedCustomerInfo = info\n\t},\n\t[MutationTypes.SET_CLIENT](state: State, client: Client | null) {\n\t\tstate.selectedClient = client\n\t},\n\t[MutationTypes.SET_CLIENT_INFO](state: State, info: ClientInfoResponse | null) {\n\t\tstate.selectedClientInfo = info\n\t},\n\t[MutationTypes.SET_CLIENT_INVITATION](state: State, invitation: ClientInvitation | null) {\n\t\tstate.selectedClientInvitation = invitation\n\t},\n\t[MutationTypes.SET_CLIENT_INVITATION_INFO](state: State, info: ClientInvitationInfoResponse | null) {\n\t\tstate.selectedClientInvitationInfo = info\n\t},\n\t[MutationTypes.SET_CLIENT_INVITATION_REGISTRATIONS](state: State, registrations: ClientInvitationRegistrationsResponse[\"results\"]) {\n\t\tstate.selectedClientInvitationRegistrations = registrations\n\t},\n\t[MutationTypes.SET_REGISTRATION](state: State, registration: ClientInvitationRegistration | null) {\n\t\tstate.selectedRegistration = registration\n\t},\n [MutationTypes.SET_ANY_DOMAIN_ACL](state: State, aclDomainAcl: AclResponse | null) {\n\t\tstate.anyDomainAcl = aclDomainAcl\n\t},\n [MutationTypes.SET_ANY_DOMAIN_PERMISSIONS](state: State, anyDomainPermissions: AnyDomainPermissions){\n state.anyDomainPermissions = anyDomainPermissions\n },\n\t[MutationTypes.RESET_CONTEXT](state: State, u?: undefined) {\n\t\tstate.fetched = {\n\t\t\tdomains: false\n\t\t}\n\t\tstate.domains = []\n\t\tstate.persons = []\n\t\tstate.customerClients = []\n state.associatedClients = []\n\t\tstate.clientPersons = []\n\t\tstate.clientInvitations = []\n\t\tstate.selectedPerson = null\n\t\tstate.selectedCustomer = null\n\t\tstate.selectedCustomerInfo = null\n\t\tstate.selectedClient = null\n\t\tstate.selectedClientInfo = null\n\t\tstate.selectedClientInvitation = null\n\t\tstate.selectedClientInvitationInfo = null\n\t\tstate.selectedClientInvitationRegistrations = []\n\t\tstate.selectedRegistration = null\n\t\tstate.findPersonAccounts = []\n\t\tstate.accountSummary = null\n state.createTenantFormData = {} as CreateTenantPayload\n state.anyDomainAcl = null\n state.anyDomainPermissions = { isTenantOnboarder: false}\n\t},\n\t[MutationTypes.RESET_PERSONS](state: State, u?: undefined) {\n\t\tstate.persons = []\n\t},\n\t[MutationTypes.RESET_CUSTOMERCLIENTS](state: State, u?: undefined) {\n\t\tstate.customerClients = []\n\t},\n\t[MutationTypes.RESET_ASSOCIATEDCLIENTS](state: State, u?: undefined) {\n\t\tstate.associatedClients = []\n\t},\n\t[MutationTypes.RESET_CLIENTPERSONS](state: State, u?: undefined) {\n\t\tstate.selectedPerson = null\n\t\tstate.clientPersons = []\n\t},\n\t[MutationTypes.RESET_CUSTOMER_INFO](state: State, u?: undefined) {\n\t\tstate.selectedCustomerInfo = null\n\t},\n\t[MutationTypes.RESET_CLIENT_INFO](state: State, u?: undefined) {\n\t\tstate.selectedClientInfo = null\n\t},\n\t[MutationTypes.RESET_CLIENT_INVITATIONS](state: State, u?: undefined) {\n\t\tstate.selectedClientInvitation = null\n\t\tstate.selectedClientInvitationInfo = null\n\t\tstate.selectedClientInvitationRegistrations = []\n\t\tstate.clientInvitations = []\n\t\tstate.selectedRegistration = null\n\t},\n\t[MutationTypes.RESET_CLIENT_INVITATION_INFO](state: State, u?: undefined) {\n\t\tstate.selectedClientInvitation = null\n\t\tstate.selectedClientInvitationInfo = null\n\t\tstate.selectedRegistration = null\n\t},\n\t[MutationTypes.RESET_CLIENT_INVITATION_REGISTRATIONS](state: State, u?: undefined) {\n\t\tstate.selectedClientInvitationRegistrations = []\n\t},\n\t[MutationTypes.RESET_REGISTRATION](state: State, u?: undefined) {\n\t\tstate.selectedRegistration = null\n\t},\n\t[MutationTypes.SET_FIND_ACCOUNT_RESULTS](state: State, results: FindPersonAccountResponse[\"results\"] | null) {\n\t\tstate.findPersonAccounts = results\n\t},\n\t[MutationTypes.SET_SELECTED_ACCOUNT_DETAILS](state: State, results: GetAccountDetails| null) {\n\t\tstate.accountSummary = results\n\t},\n\t[MutationTypes.RESET_FIND_ACCOUNT_RESULTS](state: State, u?: undefined) {\n\t\tstate.findPersonAccounts = []\n\t},\n\t[MutationTypes.RESET_SELECTED_ACCOUNT_DETAILS](state: State, u?: undefined) {\n\t\tstate.accountSummary = null\n\t},\n\t[MutationTypes.SET_ACCOUNT_RESULTS](state: State, results: FindPersonAccountResponse[\"results\"] | null) {\n\t\tstate.findPersonAccounts = results\n\t},\n\t[MutationTypes.SET_SELECTED_ACCOUNT](state: State, account: AccountItem | null) {\n\t\tstate.selectedAccount = account\n\t},\n [MutationTypes.SET_CREATE_TENANT_FORM_DATA](state: State, createTenantFormData: CreateTenantPayload) {\n\t\tstate.createTenantFormData = createTenantFormData\n\t},\n [MutationTypes.RESET_CREATE_TENANT_FORM_DATA](state: State, u?: undefined) {\n\t\tstate.createTenantFormData = {\n tenantOnboardingId: \"\",\n businessRegistryId: \"\",\n companyName: \"\",\n email: \"\",\n invitingPersonDisplayName: \"\",\n invitingPersonId: \"\",\n phoneNumber: \"\",\n tenantId: \"\"\n }\n\t},\n}\n\n// actions\ntype AugmentedActionContext = {\n\tcommit(key: K, payload: Parameters[1]): ReturnType\n} & Omit, \"commit\">\nenum ActionTypes {\n\tsetFetched = \"setFetched\",\n\tupdateDomains = \"updateDomains\",\n\tloadDomains = \"loadDomains\",\n\tupdatePersons = \"updatePersons\",\n\tsetPerson = \"setPerson\",\n\tremoveCustomerPerson = \"removeCustomerPerson\",\n\tremoveClientPerson = \"removeClientPerson\",\n\tupdateCustomerClients = \"updateCustomerClients\",\n\tupdateClientInvitations = \"updateClientInvitations\",\n\tupdatePersonClients = \"updatePersonClients\",\n\tupdateClientPersons = \"updateClientPersons\",\n\tgetClientInvitationInfo = \"getClientInvitationInfo\",\n\tgetClientInvitationRegistrations = \"getClientInvitationRegistrations\",\n\tcreateClientInvitation = \"createClientInvitation\",\n\tchangeActiveRequest = \"changeActiveRequest\",\n\tchangeManualApprovalRequest = \"changeManualApprovalRequest\",\n\trejectClientRegistration = \"rejectClientRegistration\",\n\tapproveClientRegistration = \"approveClientRegistration\",\n\tsetCustomer = \"setCustomer\",\n\tgetCustomerInfo = \"getCustomerInfo\",\n\tgetClientInfo = \"getClientInfo\",\n\tsetClient = \"setClient\",\n\tsetClientName = \"setClientName\",\n\tsetClientDescription = \"setClientDescription\",\n\tsetCompanyName = \"setCompanyName\",\n\tsetCompanyDescription = \"setCompanyDescription\",\n\tsetCompanyBusinessRegistryId = \"setCompanyBusinessRegistryId\",\n\tsetClientInvitation = \"setClientInvitation\",\n\tsetRegistration = \"setRegistration\",\n\tdeleteRegistration = \"deleteRegistration\",\n\tsetPrimaryContact = \"setPrimaryContact\",\n\tsetClientPrimaryContact = \"setClientPrimaryContact\",\n\treassignPerson = \"reassignPerson\",\n\treassignClientPerson = \"reassignClientPerson\",\n\treassignClientPersonToExistingClient = \"reassignClientPersonToExistingClient\",\n\tresetContext = \"resetContext\",\n\tresetPersons = \"resetPersons\",\n\tresetCustomerClients = \"resetCustomerClients\",\n resetAssociatedClients = \"resetAssociatedClients\",\n\tresetClientPersons = \"resetClientPersons\",\n\tresetCustomerInfo = \"resetCustomerInfo\",\n\tresetClientInfo = \"resetClientInfo\",\n\tresetClientInvitations = \"resetClientInvitations\",\n\tresetClientInvitationInfo = \"resetClientInvitationInfo\",\n\tresetRegistration = \"resetRegistration\",\n\tfindPersonAccount = \"findPersonAccount\",\n\tremoveAccount = \"removeAccount\",\n\taccountSummary = \"accountSummary\",\n\tresetFindPersonAccount = \"resetFindPersonAccount\",\n\tresetAccountSummary = \"resetAccountSummary\",\n\tsetSelectedAccount = \"setSelectedAccount\",\n\tupdateAccountResults = \"updateAccountResults\",\n\tupdateLinkOnboardingUsers = \"updateLinkOnboardingUsers\",\n createTenant = \"createTenant\",\n setCreateTenantFormData = \"setCreateTenantFormData\",\n resetCreateTenantFormData = \"resetCreateTenantFormData\",\n getAnyDomainAcl = \"getAnyDomainAcl\",\n setAnyDomainPermissions = \"setAnyDomainPermissions\"\n\n}\nexport interface Actions {\n\t[ActionTypes.setFetched]({ commit }: AugmentedActionContext, fetched: Fetched): void\n\t[ActionTypes.updateDomains]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.loadDomains]({ commit }: AugmentedActionContext, domains: Domain[]): void\n\t[ActionTypes.updatePersons]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.updateLinkOnboardingUsers]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.setPerson]({ commit }: AugmentedActionContext, person: Person): void\n\t[ActionTypes.removeCustomerPerson]({ commit }: AugmentedActionContext, personId: string|null): Promise\n\t[ActionTypes.removeClientPerson]({ commit }: AugmentedActionContext, personId: string|null): Promise\n\t[ActionTypes.updateCustomerClients]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.updateClientInvitations]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.updatePersonClients]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.updateClientPersons]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.getClientInvitationInfo]({ commit }: AugmentedActionContext, info: ClientInvitationResponse): Promise\n\t[ActionTypes.getClientInvitationRegistrations]({ commit }: AugmentedActionContext, registrations: ClientInvitationRegistrationsResponse): Promise\n\t[ActionTypes.createClientInvitation]({ commit }: AugmentedActionContext, createClientInvitationRequest: CreateClientInvitationRequest): Promise\n\t[ActionTypes.changeActiveRequest]({ commit }: AugmentedActionContext, changeActiveRequest: ChangeActiveRequest): Promise\n\t[ActionTypes.changeManualApprovalRequest]({ commit }: AugmentedActionContext, changeManualApprovalRequest: ChangeManualApprovalRequest): Promise\n\t[ActionTypes.rejectClientRegistration]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.approveClientRegistration]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.setCustomer]({ commit }: AugmentedActionContext, customer: Domain): void\n\t[ActionTypes.setClient]({ commit }: AugmentedActionContext, client: Client): void\n\t[ActionTypes.getCustomerInfo]({ commit }: AugmentedActionContext, info: CustomerInfoResponse): Promise\n\t[ActionTypes.getClientInfo]({ commit }: AugmentedActionContext, info: ClientInfoResponse): Promise\n\t[ActionTypes.setClientName]({ commit }: AugmentedActionContext, info: CompanyInfo): Promise\n\t[ActionTypes.setClientDescription]({ commit }: AugmentedActionContext, info: CompanyInfo): Promise\n\t[ActionTypes.setCompanyName]({ commit }: AugmentedActionContext, info: CompanyInfo): Promise\n\t[ActionTypes.setCompanyDescription]({ commit }: AugmentedActionContext, info: CompanyInfo): Promise\n\t[ActionTypes.setCompanyBusinessRegistryId]({ commit }: AugmentedActionContext, info: CompanyInfo): Promise\n\t[ActionTypes.setClientInvitation]({ commit }: AugmentedActionContext, invitation: ClientInvitation): void\n\t[ActionTypes.setRegistration]({ commit }: AugmentedActionContext, registration: ClientInvitationRegistration): void\n\t[ActionTypes.deleteRegistration]({ commit }: AugmentedActionContext, registration: ClientInvitationRegistration): Promise\n\t[ActionTypes.setPrimaryContact]({ commit }: AugmentedActionContext, primaryContactId: string|null): Promise\n\t[ActionTypes.setClientPrimaryContact]({ commit }: AugmentedActionContext, primaryContactId: string|null): Promise\n\t[ActionTypes.reassignPerson]({ commit }: AugmentedActionContext, reassignPersonRequest: ReassignPersonRequest): Promise\n\t[ActionTypes.reassignClientPerson]({ commit }: AugmentedActionContext, reassignClientPersonRequest: ReassignClientPersonRequest): Promise\n\t[ActionTypes.reassignClientPersonToExistingClient]({ commit }: AugmentedActionContext, request: ReassignClientPersonToExistingClientRequest): Promise\n\t[ActionTypes.resetContext]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetPersons]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetCustomerClients]({ commit }: AugmentedActionContext, u?: undefined): void\n [ActionTypes.resetAssociatedClients]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetClientPersons]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetCustomerInfo]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetClientInfo]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetClientInvitations]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetClientInvitationInfo]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetRegistration]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.findPersonAccount]({ commit }: AugmentedActionContext, request: FindPersonAccountRequest): Promise\n\t[ActionTypes.removeAccount]({ commit }: AugmentedActionContext, personId: string): void\n\t[ActionTypes.accountSummary]({ commit }: AugmentedActionContext, personId: string): Promise\n\t[ActionTypes.resetFindPersonAccount]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.resetAccountSummary]({ commit }: AugmentedActionContext, u?: undefined): void\n\t[ActionTypes.updateAccountResults]({ commit }: AugmentedActionContext, results: Array): Promise\n\t[ActionTypes.setSelectedAccount]({ commit }: AugmentedActionContext, account: AccountItem): void\n [ActionTypes.createTenant]({ commit }: AugmentedActionContext, createTenant: CreateTenantPayload): Promise\n [ActionTypes.setCreateTenantFormData]({ commit }: AugmentedActionContext, createTenantFormData: CreateTenantPayload): void\n [ActionTypes.resetCreateTenantFormData]({ commit }: AugmentedActionContext, u?: undefined): void\n [ActionTypes.getAnyDomainAcl]({ commit }: AugmentedActionContext, moduleName: string): void\n [ActionTypes.setAnyDomainPermissions]({ commit }: AugmentedActionContext, anyDomainPermissions: AnyDomainPermissions): void \n}\n\nexport const actions: ActionTree & Actions = {\n\tasync [ActionTypes.setFetched]({ commit }, fetched: Fetched) {\n\t\tcommit(MutationTypes.SET_FETCHED, fetched)\n\t},\n\tasync [ActionTypes.updateDomains]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst response: DomainsResponse = await client.getDomains()\n\t\t\tcommit(MutationTypes.SET_DOMAINS, response.results)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not resolve domains request. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_DOMAINS, [])\n\t\t}\n\t},\n\tasync [ActionTypes.loadDomains]({ commit }, domains: Domain[]) {\n\t\tcommit(MutationTypes.SET_DOMAINS, domains)\n\t},\n\tasync [ActionTypes.updatePersons]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst response = await client.getPersons(customerId)\n\t\t\tcommit(MutationTypes.SET_PERSONS, response.results)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not get persons. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_PERSONS, [])\n\t\t\tthrow(e)\n\t\t}\n\t},\n\tasync [ActionTypes.updateLinkOnboardingUsers]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst response = await client.getLinkOnboardingUsers(customerId)\n\t\t\tconst personIds = response.map(r => r.id);\n\t\t\tconst resolvedPersons = await client.resolveCustomerPersons(customerId, personIds)\n\t\t\tcommit(MutationTypes.SET_ASSIGNABLELINKOWNERS, resolvedPersons)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not resolve persons. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_ASSIGNABLELINKOWNERS, [])\n\t\t\tthrow(e)\n\t\t}\n\t},\n\t[ActionTypes.setPerson]({ commit }, person: Person | null) {\n\t\tif (person) commit(MutationTypes.SET_PERSON, person)\n\t\telse commit(MutationTypes.SET_PERSON, null)\n\t},\n\tasync [ActionTypes.removeCustomerPerson]({ commit, dispatch }, personId: string | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\t//const personId = (store as Store).state.context.selectedPerson?.id\n\t\t\tconst response = await client.removeCustomerPerson(customerId, personId)\n\t\t} catch (e) {\n\t\t\tthrow `Could not remove person from customer. Error: ${JSON.stringify(e)} `\n\t\t}\n\t},\n\tasync [ActionTypes.removeClientPerson]({ commit, dispatch }, personId: string | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = (store as Store).state.context.selectedClient?.id\n\n\t\t\t//const personId = (store as Store).state.context.selectedPerson?.id\n\t\t\tconst response = await client.removeClientPerson(customerId, clientId, personId)\n\t\t} catch (e) {\n\t\t\tthrow `Could not remove person from customer. Error: ${JSON.stringify(e)} `\n\t\t}\n\t},\n\tasync [ActionTypes.updateCustomerClients]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst response = await client.getCustomerClients(customerId)\n\t\t\t\n\t\t\tcommit(MutationTypes.SET_CUSTOMERCLIENTS, response.results)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not get customer clients. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_CUSTOMERCLIENTS, [])\n\t\t\tthrow(e)\n\t\t}\n\t},\n async [ActionTypes.updatePersonClients]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst personId = (store as Store).state.oidcStore.user ? (store as Store).state.oidcStore.user.sub : \"\"\n\t\t\tconst response = await client.getPersonClients(customerId, personId)\n console.log(\"GetPersonClients: \", response)\n\t\t\t// HERE IS THE ERROR\n\t\t\tcommit(MutationTypes.SET_ASSOCIATEDCLIENTS, response.results)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not get associated clients. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_ASSOCIATEDCLIENTS, [])\n\t\t\tthrow(e)\n\t\t}\n\t},\n\tasync [ActionTypes.updateClientPersons]({ commit }){\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = (store as Store).state.context.selectedClient?.id\n\t\t\tconst response = await client.getClientPersons(customerId, clientId)\n\n\t\t\tconst currentClientPersons = (store as Store).state.context.clientPersons\n\n\t\t\tlet exists = false;\n\t\t\tfor(let i = 0; i < currentClientPersons.length; i++){\n\t\t\t\tif(currentClientPersons[i].clientId == clientId){\n\t\t\t\t\tcurrentClientPersons.splice(i, 1, {\n\t\t\t\t\t\tclientId: clientId,\n\t\t\t\t\t\tpersons: response.results \n\t\t\t\t\t});\n\t\t\t\t\texists = true;\n\t\t\t\t\tbreak;\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(!exists){\n\t\t\t\tcurrentClientPersons.push({\n\t\t\t\t\tclientId: clientId,\n\t\t\t\t\tpersons: response.results \n\t\t\t\t})\n\t\t\t}\n\t\t\t\n\t\t\tconsole.log(currentClientPersons)\n\t\t\tcommit(MutationTypes.SET_CLIENTPERSONS, currentClientPersons)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not get client persons. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_PERSONS, [])\n\t\t\tthrow(e)\n\t\t}\n\t},\n\tasync [ActionTypes.updateClientInvitations]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst response = await client.getClientInvitations(customerId)\n\t\t\tcommit(MutationTypes.SET_CLIENTINVITATONS, response.results)\n\t\t\tconsole.log(response)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not get client invitations. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_CLIENTINVITATONS, [])\n\t\t}\n\t},\n\tasync [ActionTypes.createClientInvitation]({ commit }, createClientInvitationRequest: CreateClientInvitationRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tawait client.createNewClientInvitation(\n\t\t\t\tcustomerId, \n\t\t\t\tcreateClientInvitationRequest.name,\n\t\t\t\tcreateClientInvitationRequest.invitingPersonId,\n\t\t\t\tcreateClientInvitationRequest.manualApproval,\n createClientInvitationRequest.onboardingKind\n\t\t\t)\n\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not create new client invitation. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.changeActiveRequest]({ commit }, changeActiveRequest: ChangeActiveRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientInvitationId = (store as Store).state.context.selectedClientInvitation?.id\n\t\t\tif(!clientInvitationId) console.warn(\"No client invitation has been selected.\") // have not dispatched context/setClientInvitation\n\n\t\t\tawait client.changeClientInvitationActiveStatus(\n\t\t\t\tcustomerId, \n\t\t\t\tclientInvitationId,\n\t\t\t\tchangeActiveRequest.active\n\t\t\t)\n\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not change client invitation active status. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.changeManualApprovalRequest]({ commit }, changeManualApprovalRequest: ChangeManualApprovalRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientInvitationId = (store as Store).state.context.selectedClientInvitation?.id\n\t\t\tif(!clientInvitationId){\n\t\t\t\tconsole.warn(\"No client invitation has been selected.\") // have not dispatched context/setClientInvitation\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait client.changeClientInvitationManualApprovalStatus(\n\t\t\t\tcustomerId, \n\t\t\t\tclientInvitationId,\n\t\t\t\tchangeManualApprovalRequest.manualApproval\n\t\t\t)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not change client invitation manual approval status. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.approveClientRegistration]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientInvitationId = (store as Store).state.context.selectedRegistration?.linkOnboardingId\n\t\t\tconst linkregistrationid = (store as Store).state.context.selectedRegistration?.jobId\n\n\t\t\tif(!clientInvitationId){\n\t\t\t\tconsole.warn(\"No client invitation has been selected.\") // have not dispatched context/setClientInvitation\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait client.approveRegistration(\n\t\t\t\tcustomerId, \n\t\t\t\tclientInvitationId,\n\t\t\t\tlinkregistrationid\n\t\t\t)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not approve client registration. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.rejectClientRegistration]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientInvitationId = (store as Store).state.context.selectedRegistration?.linkOnboardingId\n\t\t\tconst linkregistrationid = (store as Store).state.context.selectedRegistration?.jobId\n\n\t\t\tif(!clientInvitationId){\n\t\t\t\tconsole.warn(\"No client invitation has been selected.\") // have not dispatched context/setClientInvitation\n\t\t\t\treturn;\n\t\t\t}\n\n\t\t\tawait client.rejectRegistration(\n\t\t\t\tcustomerId, \n\t\t\t\tclientInvitationId,\n\t\t\t\tlinkregistrationid\n\t\t\t)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not reject client registration. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\t[ActionTypes.setCustomer]({ commit }, customer: Domain | null) {\n\t\tif (customer && customer.tenantType === \"Customer\") commit(MutationTypes.SET_CUSTOMER, customer)\n\t\telse commit(MutationTypes.SET_CUSTOMER, null)\n\t},\n\t[ActionTypes.setClient]({ commit }, client: Client | null) {\n\t\tif (client) commit(MutationTypes.SET_CLIENT, client)\n\t\telse commit(MutationTypes.SET_CLIENT, null)\n\t},\n\tasync [ActionTypes.getCustomerInfo]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst response = await client.getCustomerInfo(customerId)\n\t\t\tcommit(MutationTypes.SET_CUSTOMER_INFO, response)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not get company info. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_CUSTOMER_INFO, null)\n\t\t}\n\t},\n\tasync [ActionTypes.getClientInfo]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = (store as Store).state.context.selectedClient?.id\n\t\t\tconst response = await client.getClientInfo(customerId, clientId)\n\t\t\tconsole.log(response)\n\t\t\tcommit(MutationTypes.SET_CLIENT_INFO, response)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not get client info. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_CLIENT_INFO, null)\n\t\t\tthrow (e)\n\t\t}\n\t},\n\t[ActionTypes.setClientInvitation]({ commit }, invitation: ClientInvitation | null) {\n\t\tif (invitation) commit(MutationTypes.SET_CLIENT_INVITATION, invitation)\n\t\telse commit(MutationTypes.SET_CLIENT_INVITATION, null)\n\t},\n\t[ActionTypes.setRegistration]({ commit }, registration: ClientInvitationRegistration | null) {\n\t\tif (registration) commit(MutationTypes.SET_REGISTRATION, registration)\n\t\telse commit(MutationTypes.SET_REGISTRATION, null)\n\t},\n\tasync [ActionTypes.deleteRegistration]({ commit, dispatch }, registration: ClientInvitationRegistration | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\t//const clientId = (store as Store).state.context.selectedClient?.id\n\t\t\tconst clientRegistrationId = (store as Store).state.context.selectedClientInvitation?.id\n\n\t\t\tconst infoId = (store as Store).state.context.selectedClientInvitationInfo?.jobId\n\t\t\tif(!infoId){\n\t\t\t\tthrow(\"selectedClientInvitationInfo has failed to load.\")\n\t\t\t} else if (\n\t\t\t\tclientRegistrationId !== infoId\n\t\t\t\t|| !registration\n\t\t\t){ \n\t\t\t\tthrow(\"Could not determine clientRegistrationId.\")\n\t\t\t}\n\n\t\t\t//const personId = (store as Store).state.context.selectedPerson?.id\n\t\t\tconst response = await client.deleteRegistration(customerId, clientRegistrationId, registration)\n\t\t} catch (e) {\n\t\t\tthrow `Could not remove person from customer. Error: ${JSON.stringify(e)} `\n\t\t}\n\t},\n\tasync [ActionTypes.getClientInvitationInfo]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientInvitationId = (store as Store).state.context.selectedClientInvitation?.id\n\t\t\tif(!clientInvitationId) console.warn(\"No client invitation has been selected.\") // have not dispatched context/setClientInvitation\n\n\t\t\tconst response = await client.getClientInvitationInfo(customerId, clientInvitationId)\n\t\t\tcommit(MutationTypes.SET_CLIENT_INVITATION_INFO, response)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not get client invitation info. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_CLIENT_INVITATION_INFO, null)\n\t\t}\n\t},\n\tasync [ActionTypes.getClientInvitationRegistrations]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientInvitationId = (store as Store).state.context.selectedClientInvitation?.id\n\t\t\tif(!clientInvitationId) console.warn(\"No client invitation has been selected.\") // have not dispatched context/setClientInvitation\n\t\t\tconst response = await client.getClientInvitationRegistrations(customerId, clientInvitationId)\n\t\t\tcommit(MutationTypes.SET_CLIENT_INVITATION_REGISTRATIONS, response.results)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not get client invitation registrations. Error: \" + JSON.stringify(e))\n\t\t\tcommit(MutationTypes.SET_CLIENT_INVITATION_REGISTRATIONS, [])\n\t\t}\n\t},\n async [ActionTypes.getAnyDomainAcl]({ commit }, moduleName: string) {\n\t\ttry {\n let acl: AclResponse | null = state.anyDomainAcl\n\n if(!acl){\n const client = new ApiClient()\n const response: AclResponse = await client.getModuleAclAnyDomain(moduleName)\n commit(MutationTypes.SET_ANY_DOMAIN_ACL, response)\n }\n\n acl = state.anyDomainAcl\n\n const tenantOnboardingAcl = acl?.ui.find( ({ name }) => name === OnboardingUiEnum.createTenant)\n const isAllowed = tenantOnboardingAcl?.roles.includes(OnboardingRoles.tenantOnboarder) ?? false\n console.log(\"hasCreateTenantAccess: \", isAllowed)\n\n const anyDomainPermissions: AnyDomainPermissions = {\n isTenantOnboarder: isAllowed\n }\n\n commit(MutationTypes.SET_ANY_DOMAIN_PERMISSIONS, anyDomainPermissions)\n\n\t\t} catch (e) {\n const errorMessage = JSON.stringify(e)\n if(errorMessage.includes(\"401\")){\n console.warn(\"Unauthorized. Most likely caused by failure to obtain the oidc-credentials in time. \" + JSON.stringify(e))\n }else {\n console.error(\"Could not get ACL for any domain. Error: \" + JSON.stringify(e))\n }\t\t\t\n\t\t\tcommit(MutationTypes.SET_ANY_DOMAIN_ACL, null)\n\t\t}\n\t},\n\tasync [ActionTypes.setClientName]({ commit }, info: CompanyInfo | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = (store as Store).state.context.selectedClient?.id\n\n\t\t\tawait client.updateClientName(customerId, clientId, info)\n\n\t\t\tconst newCustomerClients = (store as Store).state.context.customerClients\n\t\t\tfor(let i = 0; i < newCustomerClients.length; i++){\n\t\t\t\tif(newCustomerClients[i].id == clientId && info?.name) newCustomerClients[i].name = info?.name\n\t\t\t}\n\t\t\tcommit(MutationTypes.SET_CUSTOMERCLIENTS, newCustomerClients)\n\t\t\t\n\t\t\tconst newClient = (store as Store).state.context.selectedClient\n\t\t\tif(newClient && info?.name) newClient.name = info?.name as string\n\t\t\tcommit(MutationTypes.SET_CLIENT, newClient)\n\n\t\t\tconst newClientInfo = (store as Store).state.context.selectedClientInfo\n\t\t\tif(newClientInfo && info?.name) newClientInfo.name = info?.name as string\n\t\t\tcommit(MutationTypes.SET_CLIENT_INFO, newClientInfo)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not update client info. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.setClientDescription]({ commit }, info: CompanyInfo | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = (store as Store).state.context.selectedClient?.id\n\n\t\t\tawait client.updateClientDescription(customerId, clientId, info)\n\n\t\t\tconst newClientInfo = (store as Store).state.context.selectedClientInfo\n\t\t\tif(newClientInfo && info?.description) newClientInfo.description = info?.description as string\n\t\t\tcommit(MutationTypes.SET_CLIENT_INFO, newClientInfo)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not update client info. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.setCompanyName]({ commit }, info: CompanyInfo | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\n\t\t\tawait client.updateCompanyName(customerId, info)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not update company info. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.setCompanyDescription]({ commit }, info: CompanyInfo | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\n\t\t\tawait client.updateCompanyDescription(customerId, info)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not update company info. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.setCompanyBusinessRegistryId]({ commit }, info: CompanyInfo | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\n\t\t\tawait client.updateCompanyBusinessRegistryId(customerId, info)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not update company info. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.setPrimaryContact]({ commit }, primaryContactId: string | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tawait client.updatePrimaryContact(customerId, primaryContactId)\n\t\t} catch (e) {\n\t\t\tthrow `Could not set primary contact. Error: ${JSON.stringify(e)} `\n\t\t}\n\t},\n\tasync [ActionTypes.setClientPrimaryContact]({ commit }, primaryContactId: string | null) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = (store as Store).state.context.selectedClient?.id\n\n\t\t\tawait client.updateClientPrimaryContact(customerId, clientId, primaryContactId)\n\t\t} catch (e) {\n\t\t\tthrow `Could not set primary contact. Error: ${JSON.stringify(e)} `\n\t\t}\n\t},\n\tasync [ActionTypes.reassignPerson]({ commit }, reassignPersonRequest: ReassignPersonRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = reassignPersonRequest.targetClientId + \"\";\n\t\t\tconst personId = reassignPersonRequest.person.id + \"\";\n\n\t\t\tawait client.reassignPersonToClient(customerId, clientId, personId, reassignPersonRequest.targetClientId, reassignPersonRequest.newClientName)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not reassign customer person to client. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.reassignClientPerson]({ commit }, reassignClientPersonRequest: ReassignClientPersonRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = reassignClientPersonRequest.client.id;\n\t\t\tconst personId = reassignClientPersonRequest.person.id;\n\n\t\t\tawait client.reassignClientPerson(\n\t\t\t\tcustomerId, \n\t\t\t\tclientId, \n\t\t\t\tpersonId,\n\t\t\t\treassignClientPersonRequest.targetOrganizationId,\n\t\t\t)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not reassign customer person to client. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.reassignClientPersonToExistingClient]({ commit }, request: ReassignClientPersonToExistingClientRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst clientId = request.client.id;\n\t\t\tconst personId = request.person.id;\n\n\t\t\tawait client.reassignClientPersonToExistingClient(\n\t\t\t\tcustomerId, \n\t\t\t\tclientId, \n\t\t\t\tpersonId,\n\t\t\t\trequest.sourceGuestOrganizationId,\n\t\t\t\trequest.targetGuestOrganizationId,\n\t\t\t)\n\t\t} catch (e) {\n\t\t\tconsole.error(\"Could not reassign client person to existing client. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.findPersonAccount]({ commit, dispatch },request: FindPersonAccountRequest) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst response: FindPersonAccountResponse = await client.findPersonAccount(request)\n\t\t\tcommit(MutationTypes.SET_FIND_ACCOUNT_RESULTS, response.results)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not resolve domains request. Error: \" + JSON.stringify(e))\n\t\t}\n\t},\n\tasync [ActionTypes.accountSummary]({ commit, dispatch }, personId: string) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst response: GetAccountDetails = await client.getAccountSummary(personId)\n\t\t\tcommit(MutationTypes.SET_SELECTED_ACCOUNT_DETAILS, response)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not retrieve account details for: \"+ personId + \". Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n\tasync [ActionTypes.removeAccount]({ commit, dispatch }, personId: string) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst response= await client.removeAccount(personId)\n\t\t} catch (e) {\n\t\t\tconsole.warn(\"Could not resolve domains request. Error: \" + JSON.stringify(e))\n\t\t\tthrow (e)\n\t\t}\n\t},\n async [ActionTypes.createTenant]({ commit }, createTenantPayload: CreateTenantPayload): Promise {\n\n const inviterUserId = (store as Store).state.oidcStore.user ? (store as Store).state.oidcStore.user.sub : \"\"\n const inviterDisplayName = (store as Store).state.oidcStore.user.preferred_username ?? \"\"\n \n createTenantPayload.invitingPersonDisplayName = inviterDisplayName\n createTenantPayload.invitingPersonId = inviterUserId\n createTenantPayload.tenantId = uuidv4()\n createTenantPayload.tenantOnboardingId = uuidv4()\n commit(MutationTypes.SET_CREATE_TENANT_FORM_DATA, createTenantPayload)\n //createTenantPayload.phoneNumber = \"\"\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n \n const response = await client.createTenantOnboarding(createTenantPayload)\n\n console.log(\"Create Tenant response: \", response)\n return JSON.stringify(response)\n\t\t} catch (e: any | AxiosError) {\n console.error(\"Could not create new tenant onboarding. Error: \" + JSON.stringify(e))\n if(axios.isAxiosError(e)){\n console.log(\"Response: \", e.response)\n const responseStatus = e.response?.status\n // We want to return 400 in case there are some validation errors which should be prompted to the users\n if(responseStatus === 400){\n return e\n }\n }\n throw (e)\n\t\t}\n\t},\n\t[ActionTypes.setSelectedAccount]({ commit }, account: AccountItem | null) {\n\t\tif (account) commit(MutationTypes.SET_SELECTED_ACCOUNT, account)\n\t\telse commit(MutationTypes.SET_SELECTED_ACCOUNT, null)\n\t},\n [ActionTypes.setCreateTenantFormData]({ commit }, createTenantFormData: CreateTenantPayload){\n console.log(\"Updating createTenantData: \", createTenantFormData)\n if (createTenantFormData) commit(MutationTypes.SET_CREATE_TENANT_FORM_DATA, createTenantFormData)\n else commit(MutationTypes.SET_CREATE_TENANT_FORM_DATA, {} as CreateTenantPayload)\n },\n [ActionTypes.setAnyDomainPermissions]({ commit }, anyDomainPermissions: AnyDomainPermissions | null) {\n\t\tif (anyDomainPermissions) commit(MutationTypes.SET_ANY_DOMAIN_PERMISSIONS, anyDomainPermissions)\n\t\telse commit(MutationTypes.SET_ANY_DOMAIN_PERMISSIONS, { isTenantOnboarder: false} as AnyDomainPermissions)\n\t},\n\tasync [ActionTypes.updateAccountResults]({ commit }, newResults: AccountItem[]) {\n\t\tcommit(MutationTypes.SET_ACCOUNT_RESULTS, newResults)\n\t},\n [ActionTypes.resetCreateTenantFormData]({ commit }, u?: undefined){\n commit(MutationTypes.RESET_CREATE_TENANT_FORM_DATA, u)\n },\n\t[ActionTypes.resetContext]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CONTEXT, u)\n\t},\n\t[ActionTypes.resetPersons]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_PERSONS, u)\n\t},\n\t[ActionTypes.resetCustomerClients]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CUSTOMERCLIENTS, u)\n\t},\n\t[ActionTypes.resetAssociatedClients]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_ASSOCIATEDCLIENTS, u)\n\t},\n\t[ActionTypes.resetCustomerInfo]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CUSTOMER_INFO, u)\n\t},\n\t[ActionTypes.resetClientInfo]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CLIENT_INFO, u)\n\t},\n\t[ActionTypes.resetClientPersons]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CLIENTPERSONS, u)\n\t},\n\t[ActionTypes.resetClientInvitations]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CLIENT_INVITATIONS, u)\n\t},\n\t[ActionTypes.resetClientInvitationInfo]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_CLIENT_INVITATION_INFO, u)\n\t},\n\t[ActionTypes.resetRegistration]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_REGISTRATION, u)\n\t},\n\t[ActionTypes.resetFindPersonAccount]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_FIND_ACCOUNT_RESULTS, u)\n\t},\n\t[ActionTypes.resetAccountSummary]({ commit }, u?: undefined) {\n\t\tcommit(MutationTypes.RESET_SELECTED_ACCOUNT_DETAILS, u)\n\t},\n}\n\n// getters\nexport type Getters = {\n\tgetContext(state: State): State\n}\nexport const getters: GetterTree & Getters = {\n\tgetContext: (state) => {\n\t\treturn state\n\t},\n}\n\nexport type ContextMutations = Namespaced\nexport type ContextActions = Namespaced\nexport type ContextGetters = Namespaced\nexport type ContextState = NamespacedState\n","module.exports = __webpack_public_path__ + \"img/verji.170a6bac.svg\";","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavDrawer.vue?vue&type=style&index=0&id=0ee860c1&prod&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/connections_dots_long_dark.1ad05242.svg\";","import { MutationTree, ActionTree, ActionContext, GetterTree } from \"vuex\"\nimport { Acl, AclResponse } from \"@/types/responses\"\nimport { Namespaced, NamespacedState } from \"@/types/functionTypes\"\nimport Vue from \"vue\"\nimport { dummyACL, dummyACLSub, dummyInvitation, dummyOrganization } from \"@/constants/modules\"\nimport store, { Store } from \"@/store\"\nimport { ApiClient } from \"@/api/apiClient\"\n\n// state\ntype State = Acl\nconst defaultState = {}\nexport const state: State = { ...defaultState }\n\n// mutations\nenum MutationTypes {\n\tSET_ACL = \"SET_ACL\",\n\tFLUSH = \"FLUSH\",\n\tRESET_STATE = \"RESET_STATE\",\n\tRESET_MODULE = \"RESET_MODULE\"\n}\nexport type Mutations = {\n\t[MutationTypes.SET_ACL](state: S, acl: AclResponse): void\n\t[MutationTypes.RESET_STATE](state: S): void\n\t[MutationTypes.RESET_MODULE](state: S, moduleName: string): void\n}\nexport const mutations: MutationTree & Mutations = {\n\t[MutationTypes.SET_ACL](state: State, acl: AclResponse) {\n\t\tconst ui = acl.ui.map((permission) => {\n\t\t\treturn permission.name\n\t\t})\n\t\tconst modules = acl.modules.map((module) => {\n\t\t\treturn module.name\n\t\t})\n\t\tif (!state[acl.moduleName] || state[acl.moduleName].aclDomain !== acl.aclDomain) {\n\t\t\tconst payload = {\n\t\t\t\tui: ui,\n\t\t\t\tmodules: modules,\n\t\t\t\taclDomain: acl.aclDomain,\n\t\t\t\thasPermission: acl.hasPermission,\n\t\t\t}\n\t\t\tVue.set(state, acl.moduleName, payload)\n\t\t}\n\t},\n\t[MutationTypes.RESET_STATE](state: State, p?: undefined) {\n\t\tObject.keys(state).forEach((key) => {\n\t\t\tVue.delete(state, key)\n\t\t})\n\t},\n\t[MutationTypes.RESET_MODULE](state: State, moduleName: string) {\n\t\tVue.delete(state, moduleName)\n\t},\n}\n\n// actions\ntype AugmentedActionContext = {\n\tcommit(key: K, payload: Parameters[1]): ReturnType\n} & Omit, \"commit\">\nenum ActionTypes {\n\tupdateACL = \"updateACL\",\n\tresetState = \"resetState\",\n}\nexport interface Actions {\n\t[ActionTypes.updateACL]({ commit }: AugmentedActionContext, modulesName: string): Promise\n\t[ActionTypes.resetState]({ commit }: AugmentedActionContext, p: undefined): void\n}\n\nexport const actions: ActionTree & Actions = {\n\tasync [ActionTypes.updateACL]({ commit }, moduleName: string) {\n\t\t//get the ACL for the moduleName\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tconst aclResponse: AclResponse = await client.getModuleAcl(customerId, moduleName)\n\t\t\tconsole.log(\"GETACL\")\n\t\t\tconsole.log(aclResponse)\n\t\t\tif (aclResponse.hasPermission) commit(MutationTypes.SET_ACL, aclResponse)\n\t\t} catch (e) {\n\t\t\tconsole.warn(`Could not get ACL for module ${moduleName}. Error: ${JSON.stringify(e)}`)\n\t\t\t//dummy responses\n\t\t\t/*\n\t\t\tif (moduleName === \"Customer\") {\n\t\t\t\tif (dummyACL.hasPermission) commit(MutationTypes.SET_ACL, dummyACL)\n\t\t\t}\n\t\t\tif (moduleName === \"ClientOrganization\") {\n\t\t\t\tif (dummyACLSub.hasPermission) commit(MutationTypes.SET_ACL, dummyACLSub)\n\t\t\t}\n\t\t\tif (moduleName === \"Invitation\") {\n\t\t\t\tif (dummyInvitation.hasPermission) commit(MutationTypes.SET_ACL, dummyInvitation)\n\t\t\t}\n\n\t\t\tif (moduleName === \"Organization\") {\n\t\t\t\tif (dummyOrganization.hasPermission) commit(MutationTypes.SET_ACL, dummyOrganization)\n\t\t\t}\n\t\t\t*/\n\t\t\tcommit(MutationTypes.RESET_MODULE, moduleName)\n\n\t\t}\n\t},\n\t[ActionTypes.resetState]({ commit }, p: undefined) {\n\t\tcommit(MutationTypes.RESET_STATE, p)\n\t},\n}\n\n// getters\nexport type Getters = {\n\tgetAcl(state: State): State\n}\nexport const getters: GetterTree & Getters = {\n\tgetAcl: (state) => {\n\t\treturn state\n\t},\n}\n\nexport type AclMutations = Namespaced\nexport type AclActions = Namespaced\nexport type AclGetters = Namespaced\nexport type AclState = NamespacedState\n","module.exports = __webpack_public_path__ + \"img/picto_4.9b6ae176.svg\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-navigation-drawer',{ref:\"drawer\",attrs:{\"app\":\"\",\"clipped\":\"\",\"value\":_vm.$vStore.state.nav.isOpen,\"mini-variant\":_vm.$vStore.state.nav.isMini,\"width\":_vm.navigation.width,\"mobile-breakpoint\":\"xs\"}},[_c('v-list-item',{staticClass:\"px-2\"},[_c('v-list-item-avatar',{staticClass:\"handhover\",on:{\"click\":function($event){$event.stopPropagation();_vm.$vStore.dispatch('nav/toggleNavMini', !_vm.$vStore.state.nav.isMini); _vm.navigation.width=320;}}},[_c('v-btn',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.$vStore.state.nav.isMini),expression:\"$vStore.state.nav.isMini\"}],attrs:{\"icon\":\"\"}},[_c('v-img',{attrs:{\"max-height\":\"20\",\"max-width\":\"20\",\"src\":require(\"@/assets/verji/picto_5.svg\")}})],1)],1),_c('v-list-item-title',[_vm._v(\"Portal\")]),_c('v-btn',{attrs:{\"icon\":\"\"},on:{\"click\":function($event){$event.stopPropagation();return _vm.$vStore.dispatch('nav/toggleNavMini', !_vm.$vStore.state.nav.isMini)}}},[_c('v-img',{attrs:{\"max-height\":\"20\",\"max-width\":\"20\",\"src\":require(\"@/assets/verji/picto_5.svg\")}})],1)],1),_c('v-divider'),(_vm.$vStore.getters['nav/modules'])?_c('v-list',{attrs:{\"dense\":\"\",\"expand\":\"\"}},_vm._l((_vm.$vStore.getters['nav/modules'].items),function(item,itemKey){return _c('span',{key:`item_${itemKey}`},[(_vm.hasSubItems(item) && _vm.isExtension(item))?[_c('v-list-group',{staticClass:\"dark--text\",attrs:{\"no-action\":!_vm.$vuetify.breakpoint.xsOnly && !_vm.$vStore.state.nav.isMini,\"active-class\":\"lighttouch\",\"v-model\":_vm.getGroupModel(item.route)},on:{\"click\":[function($event){return _vm.pushRoute(item.route)},function($event){$event.preventDefault();return _vm.expander({state: true, id: item.route})}]},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-icon',[_c('fa',{attrs:{\"icon\":item.icon,\"size\":\"1x\"}})],1),_c('v-list-item-title',[_vm._v(_vm._s(item.name))])]},proxy:true}],null,true)},[_c('v-icon',{attrs:{\"slot\":\"appendIcon\",\"small\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.expander({state: false, id: item.route})}},slot:\"appendIcon\"},[_vm._v(\" $vuetify.icons.expand \")]),_vm._l((item.subItems),function(subItem,subKey){return _c('v-list-item',{key:`subMod_${subKey}`,attrs:{\"link\":\"\",\"to\":subItem.route,\"ripple\":false,\"active-class\":\"dark--text\"}},[_c('v-list-item-icon',[_c('fa',{staticClass:\"mt-1\",attrs:{\"icon\":subItem.icon,\"size\":\"1x\"}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(subItem.name))])],1)],1)})],2)]:(_vm.hasSubItems(item) && !_vm.isExtension(item))?[_c('v-list-group',{staticClass:\"dark--text\",attrs:{\"no-action\":!_vm.$vuetify.breakpoint.xsOnly && !_vm.$vStore.state.nav.isMini,\"active-class\":\"lighttouch\",\"v-model\":_vm.getGroupModel(item.route)},on:{\"click\":[function($event){return _vm.pushRoute(item.route)},function($event){$event.preventDefault();return _vm.expander({state: true, id: item.route})}]},scopedSlots:_vm._u([{key:\"activator\",fn:function(){return [_c('v-list-item-icon',[_c('fa',{attrs:{\"icon\":item.icon,\"size\":\"1x\"}})],1),_c('v-list-item-title',[_vm._v(_vm._s(item.name))])]},proxy:true}],null,true)},[_c('v-icon',{attrs:{\"slot\":\"appendIcon\",\"small\":\"\"},on:{\"click\":function($event){$event.preventDefault();return _vm.expander({state: false, id: item.route})}},slot:\"appendIcon\"},[_vm._v(\" $vuetify.icons.expand \")]),_vm._l((item.subItems),function(subItem,subKey){return _c('v-list-item',{key:`subMod_${subKey}`,attrs:{\"link\":\"\",\"to\":subItem.route,\"ripple\":false,\"active-class\":\"dark--text\"}},[_c('v-list-item-icon',[_c('fa',{staticClass:\"mt-1\",attrs:{\"icon\":subItem.icon,\"size\":\"1x\"}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(subItem.name))])],1)],1)})],2)]:[_c('v-list-item',{attrs:{\"link\":\"\",\"to\":item.route,\"ripple\":false}},[_c('v-list-item-icon',[_c('fa',{staticClass:\"mt-1\",attrs:{\"icon\":item.icon,\"size\":\"1x\"}})],1),_c('v-list-item-content',[_c('v-list-item-title',[_vm._v(_vm._s(_vm.getName(item)))])],1)],1)]],2)}),0):_vm._e()],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\nimport { UnionItemDefinition } from \"@/types/responses\"\nimport { Route } from \"vue-router\";\nimport { RouteTypes } from \"@/types/enums\"\n\nexport type groupmenu = {\n\tstate: boolean\n\tid: string\n}\n\nexport default Vue.extend({\n\tname: \"NavDrawer\",\n\tmounted() {\n\t\tthis.setBorderWidth();\n\t\tthis.setEvents();\n\t},\n\twatch: {\n\t\t$route(to: Route) {\n\t\t\tif (to.path.indexOf(\"extensions\" || \"manageaccount\") !== -1) {\n\t\t\t\tthis.groupmenu.forEach(e => {\n\t\t\t\t\te.state = false;\n\t\t\t\t})\n\t\t\t}\n\t\t}\n\t},\n\tdata(): {\n\t\tnavigation: {\n\t\t\twidth: number\n\t\t\tborderSize: number\n\t\t}\n\t\tgroupmenu: Array\n\t} {\n\t\treturn {\n\t\t\tnavigation: {\n\t\t\t\twidth: 320,\n\t\t\t\tborderSize: 2,\n\t\t\t},\n\t\t\tgroupmenu: []\n\t\t}\n\t},\n\tmethods: {\n\t\tpushRoute(route: string): void {\n\t\t\tif(route == RouteTypes.None) return\n\t\t\tthis.$router.push({path: route}).catch(() => { console.log(\"No route pushed.\")})\n\t\t},\n\t\texpander(groupClick: groupmenu): void {\n\t\t\tthis.groupmenu.forEach(e => {\n\t\t\t\tif(e.id == groupClick?.id){\n\t\t\t\t\tif (groupClick?.state) {\n\t\t\t\t\t\te.state = false\n\t\t\t\t\t} else {\n\t\t\t\t\t\te.state = !e.state\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t});\n\t\t},\n\t\tgetGroupModel(id: string): boolean {\n\t\t\tconst group = this.groupmenu.find((e) => { return (e.id == id) })\n\t\t\tif(group) return group.state;\n\t\t\treturn false;\n\t\t},\n\t\tisExtension(item: UnionItemDefinition): boolean {\n\t\t\tif (item.isExtension) return true\n\t\t\treturn false\n\t\t},\n\t\thasSubItems(item: UnionItemDefinition): boolean {\n\t\t\treturn item.subItems.length > 0\n\t\t},\n\t\tgetName(item: UnionItemDefinition): string {\n\t\t\tif (item.moduleName === \"Home\") return \"Home\"\n\t\t\telse return item.name\n\t\t},\n\t\tsetBorderWidth() {\n\t\t\t// eslint-disable-next-line\n\t\t\tconst i = (this.$refs.drawer as any).$el.querySelector(\".v-navigation-drawer__border\")\n\t\t\ti.style.width = this.navigation.borderSize + \"px\"\n\t\t\ti.style.cursor = \"ew-resize\"\n\t\t\ti.style.backgroundColor = \"#EEE\"\n\t\t},\n\t\tsetEvents() {\n\t\t\tconst minSize = this.navigation.borderSize\n\t\t\t// eslint-disable-next-line\n\t\t\tconst el = (this.$refs.drawer as any).$el\n\t\t\tconst drawerBorder = el.querySelector(\".v-navigation-drawer__border\")\n\t\t\tconst direction = el.classList.contains(\"v-navigation-drawer--right\") ? \"right\" : \"left\"\n\n\t\t\tfunction resize(e: { clientX: number }) {\n\t\t\t\tdocument.body.style.cursor = \"ew-resize\"\n\t\t\t\tconst f = direction === \"right\" ? document.body.scrollWidth - e.clientX : e.clientX\n\t\t\t\tel.style.width = f + \"px\"\n\t\t\t}\n\n\t\t\tdrawerBorder.addEventListener(\n\t\t\t\t\"mousedown\",\n\t\t\t\t(e: { offsetX: number }) => {\n\t\t\t\t\tif (e.offsetX < minSize && !this.$vStore.state.nav.isMini) {\n\t\t\t\t\t\tel.style.transition = \"initial\"\n\t\t\t\t\t\tdocument.addEventListener(\"mousemove\", resize, false)\n\t\t\t\t\t}\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t)\n\t\t\tdocument.addEventListener(\n\t\t\t\t\"mouseup\",\n\t\t\t\t() => {\n\t\t\t\t\tel.style.transition = \"\"\n\t\t\t\t\tthis.navigation.width = el.style.width\n\t\t\t\t\tdocument.body.style.cursor = \"\"\n\n\t\t\t\t\tconst w = el.style.width\n\t\t\t\t\tconst wn = w.split(\"px\")[0]\n\t\t\t\t\tdocument.removeEventListener(\"mousemove\", resize, false)\n\n\t\t\t\t\tif (wn < 100) {\n\t\t\t\t\t\tthis.$vStore.dispatch('nav/toggleNavMini', true)\n\t\t\t\t\t\tthis.navigation.width = 53\n\t\t\t\t\t}\n\n\t\t\t\t},\n\t\t\t\tfalse\n\t\t\t)\n\t\t},\n\t},\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavDrawer.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavDrawer.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NavDrawer.vue?vue&type=template&id=0ee860c1&scoped=true\"\nimport script from \"./NavDrawer.vue?vue&type=script&lang=ts\"\nexport * from \"./NavDrawer.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NavDrawer.vue?vue&type=style&index=0&id=0ee860c1&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"0ee860c1\",\n null\n \n)\n\nexport default component.exports","var map = {\n\t\"./Card.vue\": \"97ab\",\n\t\"./NavBar.vue\": \"cde9\",\n\t\"./NavDrawer.vue\": \"5b12\",\n\t\"./PageHeader.vue\": \"8381\",\n\t\"./SubHeader.vue\": \"bf10\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"5b84\";","import { MutationTree, ActionTree, ActionContext, GetterTree } from \"vuex\"\nimport { ApiClient } from \"@/api/apiClient\"\nimport { CorrectInvitationRequest, CorrectOnboardingInvitationRequest } from \"@/types/requests\"\nimport { GetInvitesResponse, GetOnboardingInvitesResponse } from \"./../../types/responses\"\nimport { Namespaced, NamespacedState } from \"@/types/functionTypes\"\nimport store, { Store } from \"@/store\"\n\nconst defaultState = {\n\tinvites: [],\n\tonboardingInvites: []\n}\n\n// state\ntype State = {\n\tinvites: GetInvitesResponse[\"results\"]\n\tonboardingInvites: GetOnboardingInvitesResponse[\"results\"]\n}\n\nexport const state: State = {...defaultState}\n\n// mutations\nenum MutationTypes {\n\tFLUSH_INVITES = \"FLUSH_INVITES\",\n\tUPDATE_INVITES = \"UPDATE_INVITES\",\n\tUPDATE_ONBOARDINGINVITES = \"UPDATE_ONBOARDINGINVITES\",\n\tRESET_STATE = \"RESET_STATE\"\n\t//setProvisioningFindResults = \"resetProvisioningFindResults\"\n}\n\nexport type Mutations = {\n\t[MutationTypes.UPDATE_INVITES](state: S, results: GetInvitesResponse[\"results\"]): void\n\t[MutationTypes.UPDATE_ONBOARDINGINVITES](state: S, results: GetOnboardingInvitesResponse[\"results\"]): void\n\t[MutationTypes.FLUSH_INVITES](state: S): void\n\t[MutationTypes.RESET_STATE](state: S): void\n\t//[MutationTypes.setProvisioningFindResults](state: S, results: ProvisioningFindResponse): void\n}\nexport const mutations: MutationTree & Mutations = {\n\t[MutationTypes.UPDATE_INVITES](state: State, results: GetInvitesResponse[\"results\"]) {\n\t\tstate.invites = results\n\t},\n\t[MutationTypes.UPDATE_ONBOARDINGINVITES](state: State, results: GetOnboardingInvitesResponse[\"results\"]) {\n\t\tstate.onboardingInvites = results\n\t},\n\t[MutationTypes.FLUSH_INVITES](state: State) {\n\t\tstate.invites = []\n\t\tstate.onboardingInvites = []\n\t},\n\t[MutationTypes.RESET_STATE](state: State) {\n\t\tObject.assign(state, defaultState)\n\t},\n}\n\n// actions\ntype AugmentedActionContext = {\n\tcommit(key: K, payload: Parameters[1]): ReturnType\n} & Omit, \"commit\">\nenum ActionTypes {\n\tupdateInvites = \"updateInvites\",\n\tcorrectInvitation = \"correctInvitation\",\n\tcorrectOnboardingInvitation = \"correctOnboardingInvitation\",\n\tresetState = \"resetState\"\n}\nexport interface Actions {\n\t[ActionTypes.updateInvites]({ commit }: AugmentedActionContext, payload: { allowOnboardingInvitesFlag?: boolean }): Promise\n\t[ActionTypes.correctInvitation]({ commit }: AugmentedActionContext, payload: { jobId: string, request: CorrectInvitationRequest}): Promise\n\t[ActionTypes.correctOnboardingInvitation]({ commit }: AugmentedActionContext, payload: { onboardingId: string, request: CorrectOnboardingInvitationRequest}): Promise\n\t[ActionTypes.resetState]({ commit }: AugmentedActionContext): void\n}\n\nexport const actions: ActionTree & Actions = {\n\tasync [ActionTypes.updateInvites]({ commit }, payload: { allowOnboardingInvitesFlag?: boolean }) {\n\t\tcommit(MutationTypes.FLUSH_INVITES, undefined)\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\n\t\t\tconst allowOnboardingInvitesFlag = payload.allowOnboardingInvitesFlag ?? false;\n\n\t\t\tawait Promise.all([\n\t\t\t\tclient.getInvites(customerId), \n\t\t\t\tallowOnboardingInvitesFlag ? client.getOnboardingInvites(customerId) : null\n\t\t\t]).then((allInvites) => {\n\t\t\t\tconst invites = allInvites[0] as GetInvitesResponse;\n\t\t\t\tconst onboardingInvites = allInvites[1];\n\n\t\t\t\tcommit(MutationTypes.UPDATE_INVITES, invites.results)\n\t\t\t\tif (allowOnboardingInvitesFlag && onboardingInvites?.results && onboardingInvites?.results?.length > 0){\n\t\t\t\t\tcommit(MutationTypes.UPDATE_ONBOARDINGINVITES, (onboardingInvites as GetOnboardingInvitesResponse).results)\n\t\t\t\t}\n\t\t\t});\n\n\t\t\t\n\t\t} catch (e) {\n\t\t\tcommit(MutationTypes.UPDATE_INVITES, [])\n\t\t\tcommit(MutationTypes.UPDATE_ONBOARDINGINVITES, [])\n\t\t}\n\t},\n\tasync [ActionTypes.correctInvitation]({ commit }, payload: {jobId: string, request: CorrectInvitationRequest }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tawait client.correctInvitation(customerId, payload.jobId, payload.request)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tthrow `Could not correct the invitation. Error: ${JSON.stringify(e)} ` \n\t\t}\n\t},\n\tasync [ActionTypes.correctOnboardingInvitation]({ commit }, payload: {onboardingId: string, request: CorrectOnboardingInvitationRequest }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst tenantId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tawait client.correctOnboardingInvitation(tenantId, payload.onboardingId, payload.request)\n\t\t} catch (e) {\n\t\t\tconsole.error(e)\n\t\t\tthrow `Could not correct the onboarding invitation. Error: ${JSON.stringify(e)} ` \n\t\t}\n\t},\n\t[ActionTypes.resetState]({ commit }) {\n\t\tcommit(MutationTypes.RESET_STATE, undefined)\n\t},\n}\n\n// getters\nexport type Getters = {}\nexport const getters: GetterTree & Getters = {}\n\nexport type ProvisioningMutations = Namespaced\nexport type ProvisioningActions = Namespaced\nexport type ProvisioningGetters = Namespaced\nexport type ProvisioningState = NamespacedState\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=style&index=0&id=38bb13dd&prod&lang=scss&scoped=true\"","import { NavResponse, AclResponse } from \"@/types/responses\"\nimport { RouteTypes } from \"@/types/enums\"\n\nexport const dummyACL: AclResponse = {\n aclDomain: \"testen\",\n moduleName: \"Customer\",\n modules: [\n {\n \"name\": \"CustomerSettings\",\n \"roles\": [\n \"CustomerSettings-User\"\n ]\n }\n ],\n ui: [\n {\n name: \"primary-contact:display\",\n roles: [\n \"Customer-User\"\n ]\n }\n ],\n hasPermission: true\n}\n\nexport const dummyACLSub: AclResponse = {\n\taclDomain: \"testen\",\n\tmoduleName: \"ClientOrganization\",\n\tmodules: [],\n\tui: [\n\t\t{\n\t\t\tname: \"primary-contact:display\",\n\t\t\troles: [\"Customer-User\"]\n\t\t}\n\t],\n\thasPermission: true,\n}\n\nexport const dummyInvitation: AclResponse = {\n\taclDomain: \"testen\",\n\tmoduleName: \"Invitation\",\n\tmodules: [],\n\tui: [\n\t\t{\n\t\t\tname: \"primary-contact:display\",\n\t\t\troles: [\"Customer-User\"]\n\t\t}\n\t],\n\thasPermission: true,\n}\n\nexport const dummyOrganization: AclResponse = {\n\taclDomain: \"testen\",\n\tmoduleName: \"Organization\",\n\tmodules: [],\n\tui: [\n\t\t{\n\t\t\tname: \"primary-contact:display\",\n\t\t\troles: [\"Customer-User\"]\n\t\t}\n\t],\n\thasPermission: true,\n}\n\n/*\nexport const dummyBackendModules = {\n\taclDomain: \"testen\",\n\tuserId: \"@cust1contact:verji.app\",\n\titems: [\n\t\t{\n\t\t\tname: \"Customer\",\n\t\t\tmoduleName: \"Customer\",\n\t\t\tdescription: \"customer stuff\",\n\t\t\ti18NNameKey: \"nav-item-customer-name\",\n\t\t\ti18NDescriptionKey: \"nav-item-customer-description\",\n\t\t\tisModule: true,\n\t\t\tisPermitted: true,\n\t\t\tisSubstituted: false,\n\t\t\tsubstitutionInfo: null,\n\t\t\tsubItems: [],\n\t\t},\n\t\t{\n\t\t\tname: \"Invitations\",\n\t\t\tmoduleName: \"Invitation\",\n\t\t\tdescription: \"something here also\",\n\t\t\ti18NNameKey: \"nav-item-invitations-name\",\n\t\t\ti18NDescriptionKey: \"nav-item-invitation-description\",\n\t\t\tisModule: true,\n\t\t\tisPermitted: true,\n\t\t\tisSubstituted: false,\n\t\t\tsubstitutionInfo: null,\n\t\t\tsubItems: [],\n\t\t},\n\t\t{\n\t\t\tname: \"Users & Clients\",\n\t\t\tmoduleName: \"Organization\",\n\t\t\tdescription: \"Manage clients and users\",\n\t\t\ti18NNameKey: \"nav-item-organization-name\",\n\t\t\ti18NDescriptionKey: \"nav-item-organization-description\",\n\t\t\tisModule: true,\n\t\t\tisPermitted: true,\n\t\t\tisSubstituted: false,\n\t\t\tsubstitutionInfo: null,\n\t\t\tsubItems: [],\n\t\t},\n\t\t{\n\t\t\tname: \"Power Office Go\",\n\t\t\tmoduleName: \"\",\n\t\t\tdescription: \"Power Office Go Integrations\",\n\t\t\ti18NNameKey: \"nav-item-pog-root-name\",\n\t\t\ti18NDescriptionKey: \"nav-item-pog-root-description\",\n\t\t\tisModule: false,\n\t\t\tisPermitted: true,\n\t\t\tisSubstituted: false,\n\t\t\tsubstitutionInfo: null,\n\t\t\tsubItems: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Power Office Go Payslips\",\n\t\t\t\t\tmoduleName: \"PogPaySlips\",\n\t\t\t\t\tdescription: null,\n\t\t\t\t\ti18NNameKey: \"nav-item-pog-payslips-name\",\n\t\t\t\t\ti18NDescriptionKey: \"nav-item-pog-payslips-description\",\n\t\t\t\t\tisModule: true,\n\t\t\t\t\tisPermitted: true,\n\t\t\t\t\tisSubstituted: false,\n\t\t\t\t\tsubstitutionInfo: null,\n\t\t\t\t\tsubItems: [],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"Power Office Go File Archive\",\n\t\t\t\t\tmoduleName: \"PogFileArchive\",\n\t\t\t\t\tdescription: null,\n\t\t\t\t\ti18NNameKey: \"nav-item-pog-file-archive-name\",\n\t\t\t\t\ti18NDescriptionKey: \"nav-item-pog-file-archive-description\",\n\t\t\t\t\tisModule: true,\n\t\t\t\t\tisPermitted: true,\n\t\t\t\t\tisSubstituted: false,\n\t\t\t\t\tsubstitutionInfo: null,\n\t\t\t\t\tsubItems: [],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t\t{\n\t\t\tname: \"Document Signing\",\n\t\t\tmoduleName: null,\n\t\t\tdescription: \"Digitally sign documents\",\n\t\t\ti18NNameKey: \"nav-item-signatures-root-name\",\n\t\t\ti18NDescriptionKey: \"nav-item-signatures-root-description\",\n\t\t\tisModule: false,\n\t\t\tisPermitted: true,\n\t\t\tisSubstituted: false,\n\t\t\tsubstitutionInfo: null,\n\t\t\tsubItems: [\n\t\t\t\t{\n\t\t\t\t\tname: \"Verji Signing\",\n\t\t\t\t\tmoduleName: \"SignantWhitelabelSigning\",\n\t\t\t\t\tdescription: \"Sign documents in the Verji portal using BankID\",\n\t\t\t\t\ti18NNameKey: \"nav-item-verji-signatures-name\",\n\t\t\t\t\ti18NDescriptionKey: \"nav-item-verji-signatures-description\",\n\t\t\t\t\tisModule: true,\n\t\t\t\t\tisPermitted: true,\n\t\t\t\t\tisSubstituted: false,\n\t\t\t\t\tsubstitutionInfo: null,\n\t\t\t\t\tsubItems: [],\n\t\t\t\t},\n\t\t\t\t{\n\t\t\t\t\tname: \"Signify Signing\",\n\t\t\t\t\tmoduleName: \"SignyfySigning\",\n\t\t\t\t\tdescription: \"Sign documents in the Signify portal\",\n\t\t\t\t\ti18NNameKey: \"nav-item-signify-signatures-name\",\n\t\t\t\t\ti18NDescriptionKey: \"nav-item-signify-signatures-description\",\n\t\t\t\t\tisModule: true,\n\t\t\t\t\tisPermitted: true,\n\t\t\t\t\tisSubstituted: false,\n\t\t\t\t\tsubstitutionInfo: null,\n\t\t\t\t\tsubItems: [],\n\t\t\t\t},\n\t\t\t],\n\t\t},\n\t],\n}\n*/\n\nexport const dummyBackendModules: NavResponse = {\n \"tenantId\": \"7548d7e5-f1cf-4aa1-87cb-0785083150c4\",\n \"userId\": \"@domtest05:synapse.localhost\",\n \"items\": [\n {\n\t\t\t\"arguments\": {},\n \"name\": \"Company\",\n \"moduleName\": \"Customer\",\n \"description\": \"View and manage customer info\",\n \"i18NNameKey\": \"nav-item-customer-name\",\n \"i18NDescriptionKey\": \"nav-item-customer-description\",\n \"isModule\": true,\n \"isPermitted\": true,\n \"isExtension\": false,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n },\n {\n\t\t\t\"arguments\": {},\n \"name\": \"Invitations\",\n \"moduleName\": \"Invitation\",\n \"description\": \"View, correct and resend invitations\",\n \"i18NNameKey\": \"nav-item-invitations-name\",\n \"i18NDescriptionKey\": \"nav-item-invitation-description\",\n \"isModule\": true,\n \"isPermitted\": true,\n \"isExtension\": false,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n },\n {\n\t\t\t\"arguments\": {},\n \"name\": \"Users & Clients\",\n \"moduleName\": \"Organization\",\n \"description\": \"Manage clients and users\",\n \"i18NNameKey\": \"nav-item-organization-name\",\n \"i18NDescriptionKey\": \"nav-item-organization-description\",\n \"isModule\": true,\n \"isPermitted\": true,\n \"isExtension\": false,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n },\n {\n\t\t\t\"arguments\": {},\n \"name\": \"Extensions\",\n \"moduleName\": \"Extensions\",\n \"description\": \"Verji extension modules\",\n \"i18NNameKey\": \"nav-item-extensions-root-name\",\n \"i18NDescriptionKey\": \"nav-item-extensions-root-description\",\n \"isModule\": true,\n \"isPermitted\": true,\n \"isExtension\": true,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": [\n {\n\t\t\t\t\t\"arguments\": {},\n \"name\": \"Power Office Go Payslips\",\n \"moduleName\": \"ExtensionItem\",\n \"description\": \"Run and configure distribution of payslips from Power Office Go\",\n \"i18NNameKey\": \"nav-item-pog-payslips-name\",\n \"i18NDescriptionKey\": \"nav-item-pog-payslips-description\",\n \"isModule\": true,\n \"isPermitted\": true,\n \"isExtension\": true,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n },\n {\n\t\t\t\t\t\"arguments\": {},\n \"name\": \"Power Office Go File Archiver Settings\",\n \"moduleName\": \"ExtensionItem\",\n \"description\": \"Settings to control Power Office Go Archiving \",\n \"i18NNameKey\": \"nav-item-pog-file-archive-name\",\n \"i18NDescriptionKey\": \"nav-item-pog-file-archive-description\",\n \"isModule\": true,\n \"isPermitted\": false,\n \"isExtension\": true,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n },\n {\n\t\t\t\t\t\"arguments\": {},\n \"name\": \"Verji Signing\",\n \"moduleName\": \"ExtensionItem\",\n \"description\": \"Sign documents in the Verji portal using BankID\",\n \"i18NNameKey\": \"nav-item-verji-signatures-name\",\n \"i18NDescriptionKey\": \"nav-item-verji-signatures-description\",\n \"isModule\": true,\n \"isPermitted\": false,\n \"isExtension\": false,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n },\n {\n\t\t\t\t\t\"arguments\": {},\n \"name\": \"Custom Signing\",\n \"moduleName\": \"ExtensionItem\",\n \"description\": \"Custom document signing\",\n \"i18NNameKey\": \"nav-item-signify-signatures-name\",\n \"i18NDescriptionKey\": \"nav-item-signify-signatures-description\",\n \"isModule\": true,\n \"isPermitted\": false,\n \"isExtension\": true,\n \"isEnabled\": true,\n \"isSubstituted\": false,\n \"substitutionInfo\": null,\n \"subItems\": []\n }\n ]\n }\n ]\n}\n// the ModuleName is (and must be) the common identifier and allows us to merge frontend \"modules\" (icons, route, flex-width, router-view children for tabs component) and backend modules in Vuex\nexport const frontendModules = [\n\t{\n\t\tmoduleName: \"Home\",\n\t\troute: \"/\",\n\t\ticon: \"home\",\n\t\tflex: 6,\n\t\tbgImage: \"\",\n\t\tsubItems: [],\n\t},\n\t{\n\t\tmoduleName: \"ManageAccounts\",\n\t\troute: \"/manageaccount\",\n\t\ticon: \"user-shield\",\n\t\tflex: 6,\n\t\tbgImage: \"bg_1.webp\",\n\t\tsubItems: [\n\t\t\t{\n\t\t\t\tmoduleName: \"AccountRemove\",\n\t\t\t\troute: \"/manageaccount/remove\",\n\t\t\t\ticon: \"user-shield\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_1.webp\",\n\t\t\t\tsubItems: []\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"AccountOverview\",\n\t\t\t\troute: \"/manageaccount/overview\",\n\t\t\t\ticon: \"user-shield\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_1.webp\",\n\t\t\t\tsubItems: []\n\t\t\t},\n\t\t]\n\t},\n {\n\t\tmoduleName: \"Invitations\",\n\t\troute: \"/invitations\",\n\t\ticon: \"user-plus\",\n\t\tflex: 6,\n\t\tbgImage: \"bg_1.webp\",\n\t\tsubItems: [\n\t\t\t{\n\t\t\t\tmoduleName: \"LinkOnboarding\",\n\t\t\t\troute: \"/invitations/linkonboarding\",\n\t\t\t\ticon: \"user-plus\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_1.webp\",\n\t\t\t\tsubItems: []\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"Invitation\",\n\t\t\t\troute: \"/invitations/provision\",\n\t\t\t\ticon: \"user-plus\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_1.webp\",\n\t\t\t\tsubItems: []\n\t\t\t},\n\t\t]\n\t},\n\t{\n\t\tmoduleName: \"Customer\",\n\t\troute: \"/customer\",\n\t\ticon: \"users-cog\",\n\t\tflex: 6,\n\t\tbgImage: \"bg_1.webp\",\n\t\tsubItems: [\n\t\t\t{\n\t\t\t\tmoduleName: \"CustomerPersons\",\n\t\t\t\troute: \"/customer/persons\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"CustomerInvitations\",\n\t\t\t\troute: \"/customer/invitations\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"CustomerClients\",\n\t\t\t\troute: \"/customer/clients\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t}\n\t\t]\n\t},\n\t{\n\t\tmoduleName: \"ClientOrganization\",\n\t\troute: \"/clientorganization\",\n\t\ticon: \"users-cog\",\n\t\tflex: 6,\n\t\tbgImage: \"bg_1.webp\",\n\t\tsubItems: []\n\t},\n/* \t{\n\t\tmoduleName: \"Invitation\",\n\t\troute: \"/invitation\",\n\t\ticon: \"user-clock\",\n\t\tflex: 6,\n\t\tbgImage: \"bg_2.webp\",\n\t\tsubItems: [],\n\t}, */\n\t{\n\t\tmoduleName: \"Organization\",\n\t\troute: \"/organization\",\n\t\ticon: \"users\",\n\t\tflex: 6,\n\t\tbgImage: \"bg_3.webp\",\n\t\tsubItems: [],\n\t},\n\t{\n\t\tmoduleName: \"ClientInfo\",\n\t\troute: \"/clientinfo\",\n\t\ticon: \"users\",\n\t\tflex: 12,\n\t\tbgImage: \"bg_3.webp\",\n\t\tsubItems: [],\n\t},\n/* \t{\n\t\tmoduleName: \"Extensions\",\n\t\troute: \"/extensions\",\n\t\ticon: \"exchange-alt\",\n\t\tflex: 12,\n\t\tbgImage: \"bg_4.webp\",\n\t\tsubItems: [\n\t\t\t{\n\t\t\t\tmoduleName: \"ExtensionItem\",\n\t\t\t\troute: \"/extensions/0\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"ExtensionItem\",\n\t\t\t\troute: \"/extensions/1\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"ExtensionItem\",\n\t\t\t\troute: \"/extensions/2\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t},\n\t\t\t{\n\t\t\t\tmoduleName: \"ExtensionItem\",\n\t\t\t\troute: \"/extensions/3\",\n\t\t\t\ticon: \"list\",\n\t\t\t\tflex: 6,\n\t\t\t\tbgImage: \"bg_5.webp\",\n\t\t\t\tsubItems: [],\n\t\t\t},\n\t\t],\n\t}, */\n\t{\n\t\tmoduleName: \"LinkCollection\",\n\t\troute: \"/securitybundle\",\n\t\ticon: \"shield-alt\",\n\t\tflex: 12,\n\t\tbgImage: \"bg_3.webp\",\n\t\tsubItems: [],\n\t},\n]\n","import { MutationTree, ActionTree, ActionContext, GetterTree } from \"vuex\"\nimport { Namespaced, NamespacedState } from \"@/types/functionTypes\"\nimport { frontendModules } from \"@/constants/modules\"\nimport { dummyBackendModules } from \"@/constants/modules\"\nimport { ApiClient } from \"@/api/apiClient\"\nimport store, { Store } from \"@/store\"\nimport { NavResponse, Modules, BackendItemDefinition, FrontendItemDefinition, UnionItemDefinition } from \"@/types/responses\"\nimport { findIndex, indexOf, union } from \"lodash\"\n\n/* this.$store types in SFC's is being removed in Vuex4\n * \"When using TypeScript, you must provide your own augment declaration\"\n * Example from https://dev.to/3vilarthas/vuex-typescript-m4j\n * Keep it simpler and define all types, mutations, actions etc in one file\n */\n\nconst mergeFrontAndBackModules = (frontendArray: FrontendItemDefinition[], backendArray: BackendItemDefinition[]): { unionmodules: UnionItemDefinition[], allowedPaths: string[] } => {\n\tconst modules: UnionItemDefinition[] = []\n\tconst allowedPaths: string[] = []\n\tconsole.log(\"FRONTEND\")\n\tconsole.log(frontendArray)\n\tconsole.log(\"BACKEND\")\n\t//const testarr: BackendItemDefinition[] = [];\n\t\n\t//backendArray.forEach((item) => { testarr.push(item)})\n //console.log(testarr)\n\tfrontendArray.forEach((frontendItem) => {\n\t\t/********/\n\t\t/* HOME */\n\t\t/********/\n\t\tif (frontendItem.moduleName === \"Home\") {\n\t\t\tmodules.push(frontendItem as UnionItemDefinition) // force typehint this - we need just the route and icon here\n\t\t\tallowedPaths.push(frontendItem.route)\n\t\t}\n\t\t\n\t\t// Find: Not based on predetermined moduleName\n\t\tlet _index = -1;\n\t\tconst expandable = backendArray.find((backendItem, index) => {\n\t\t\tif(backendItem.isModule || backendItem.isExtension || backendItem.subItems.length < 1 || frontendItem.subItems.length < 1) return undefined\n\t\t\tfor(let i = 0; backendItem.subItems.length > i; i++){\n\t\t\t\tif(backendItem.subItems[i].moduleName != frontendItem.subItems[i].moduleName) return undefined\n\t\t\t}\n\t\t\tconst union = { ...backendItem, ...frontendItem }\n\t\t\tunion.subItems = [];\n\t\t\tfor(let i = 0; backendItem.subItems.length > i; i++){\n\t\t\t\tconst subitemUnion = { ...backendItem.subItems[i], ...frontendItem.subItems[i] }\n\t\t\t\tif(subitemUnion.isPermitted){\n\t\t\t\t\tunion.subItems.push(subitemUnion)\n\t\t\t\t\tallowedPaths.push(subitemUnion.route)\n\t\t\t\t}\n\t\t\t}\n\t\t\tif(union.subItems.length > 0){\n\t\t\t\tmodules.push(union as UnionItemDefinition)\n\t\t\t\tallowedPaths.push(union.route)\n\t\t\t}\n\t\t\t\n\t\t\t_index = index;\n\t\t\treturn backendItem\n\t\t})\n\t\tif(_index > -1){\n\t\t\tbackendArray.splice(_index, 1);\n\t\t\treturn;\n\t\t}\n\n\t\t// Find: Based on moduleName\n\t\tconst standaloneModule = backendArray.find((backendItem) => {\n\t\t\treturn (backendItem.moduleName === frontendItem.moduleName && backendItem.isModule && !backendItem.isExtension) || (backendItem.moduleName === frontendItem.moduleName && backendItem.isModule && !backendItem.isExtension && backendItem.moduleName === \"ClientInfo\")\n\t\t})\n\t\tconst extensionsModule = backendArray.find((backendItem) => {\n\t\t\treturn (backendItem.moduleName === frontendItem.moduleName && backendItem.isModule && backendItem.isExtension && frontendItem.subItems.length === backendItem.subItems.length && frontendItem.subItems.length > 0)\n\t\t})\n\n\t\tif (standaloneModule) {\n\t\t\t/**************/\n\t\t\t/* STANDALONE */\n\t\t\t/**************/\n\t\t\tif (standaloneModule.isPermitted) {\n\t\t\t\tconst union = { ...standaloneModule, ...frontendItem }\n\t\t\t\t\n\t\t\t\t/**************/\n\t\t\t\t/* SUBITEMS */\n\t\t\t\t/**************/\n\t\t\t\tunion.subItems = [];\n\t\t\t\tconst subitemModule: UnionItemDefinition | null = null\n\t\t\t\tconst nestedSubItems: UnionItemDefinition[] = []\n\t\t\t\tfrontendItem.subItems.forEach((FrontendItemSubItem, frontendItemSubItemIndex) => {\n\t\t\t\t\tbackendArray.forEach((backendItem) => {\n\t\t\t\t\t\tbackendItem.subItems.forEach((BackendItemSubItem, BackendItemSubItemIndex) => {\n\t\t\t\t\t\t\tif (frontendItemSubItemIndex === BackendItemSubItemIndex && FrontendItemSubItem.moduleName === BackendItemSubItem.moduleName && BackendItemSubItem.isModule && BackendItemSubItem.isExtension) {\n\t\t\t\t\t\t\t\tconst subitemUnion = { ...BackendItemSubItem, ...FrontendItemSubItem }\n\t\t\t\t\t\t\t\tif(subitemUnion.isPermitted){\n\t\t\t\t\t\t\t\t\tunion.subItems.push(subitemUnion)\n\t\t\t\t\t\t\t\t\tallowedPaths.push(subitemUnion.route)\n\t\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t})\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t\tmodules.push(union as UnionItemDefinition)\n\t\t\t\tallowedPaths.push(union.route)\n\t\t\t}\n\t\t} else if (extensionsModule) {\n\t\t\t/******************/\n\t\t\t/* EXTENSIONITEMS */\n\t\t\t/******************/\n\t\t\tlet extensionModule: UnionItemDefinition | null = null\n\t\t\tconst nestedSubItems: UnionItemDefinition[] = []\n\t\t\tfrontendItem.subItems.forEach((FrontendItemSubItem, frontendItemSubItemIndex) => {\n\t\t\t\tbackendArray.forEach((backendItem) => {\n\t\t\t\t\tbackendItem.subItems.forEach((BackendItemSubItem, BackendItemSubItemIndex) => {\n\t\t\t\t\t\tif (frontendItemSubItemIndex === BackendItemSubItemIndex && FrontendItemSubItem.moduleName === BackendItemSubItem.moduleName && BackendItemSubItem.isModule && BackendItemSubItem.isExtension) {\n\t\t\t\t\t\t\tif (!extensionModule) extensionModule = { ...backendItem, ...frontendItem } as UnionItemDefinition\n\t\t\t\t\t\t\tconst union = { ...BackendItemSubItem, ...FrontendItemSubItem }\n\t\t\t\t\t\t\tnestedSubItems.push(union as UnionItemDefinition)\n\t\t\t\t\t\t\tallowedPaths.push(union.route)\n\t\t\t\t\t\t}\n\t\t\t\t\t})\n\t\t\t\t})\n\t\t\t})\n\t\t\t/**************/\n\t\t\t/* ADD EXTENSTIONITEMS TO EXTENSIONS MODULE*/\n\t\t\t/**************/\n\t\t\tif (extensionModule && extensionsModule.isPermitted) {\n\t\t\t\t(extensionModule as UnionItemDefinition).subItems = nestedSubItems\n\t\t\t\tallowedPaths.push((extensionModule as UnionItemDefinition).route)\n\t\t\t\tmodules.push(extensionModule)\n\t\t\t}\n\t\t}\n\n\t})\n\tconsole.log(\"Modules: \", modules)\n\tconsole.log(\"Allowed Paths: \", allowedPaths)\n\treturn {\n\t\tunionmodules: modules,\n\t\tallowedPaths: allowedPaths,\n\t}\n}\n\nconst defaultState = {\n\tisOpen: null,\n\tisMini: null,\n\tmodules: null,\n\tallowedPaths: [],\n\tlinkCollection: []\n}\n\n// state\ntype State = {\n\tisOpen: null | boolean\n\tisMini: null | boolean\n\tmodules: null | Modules\n\tallowedPaths: string[]\n\tlinkCollection: string[]\n}\nexport const state: State = { ...defaultState }\n\n// mutations\nenum MutationTypes {\n\tTOGGLE_NAV = \"TOGGLE_NAV\",\n\tTOGGLE_NAV_MINI = \"TOGGLE_NAV_MINI\",\n\tSET_MODULES = \"SET_MODULES\",\n\tRESET_STATE = \"RESET_STATE\",\n\tSET_LINKCOLLECTION = \"SET_LINKCOLLECTION\"\n}\nexport type Mutations = {\n\t[MutationTypes.TOGGLE_NAV](state: S, isOpen: boolean): void\n\t[MutationTypes.TOGGLE_NAV_MINI](state: S, isMini: boolean): void\n\t[MutationTypes.SET_MODULES](state: S, navResponse: NavResponse|null): void\n\t[MutationTypes.RESET_STATE](state: S, u?: undefined): void\n\t[MutationTypes.SET_LINKCOLLECTION](state: S, linkCollection: string[]): void\n}\nexport const mutations: MutationTree & Mutations = {\n\t[MutationTypes.TOGGLE_NAV](state: State, isOpen: boolean) {\n\t\tstate.isOpen = isOpen\n\t},\n\t[MutationTypes.TOGGLE_NAV_MINI](state: State, isMini: boolean) {\n\t\tstate.isMini = isMini\n\t},\n\t[MutationTypes.SET_MODULES](state: State, navResponse: NavResponse|null) {\n\t\tif (!navResponse) {\n\t\t\tstate.allowedPaths = []\n\t\t\tstate.modules = null\n\t\t\treturn\n\t\t}\n\t\tconst { unionmodules, allowedPaths } = mergeFrontAndBackModules(frontendModules, navResponse.items)\n\t\tstate.modules = {\n\t\t\ttenantId: navResponse.tenantId,\n\t\t\tuserId: navResponse.userId,\n\t\t\titems: unionmodules,\n\t\t}\n\t\tstate.allowedPaths = allowedPaths\n\t\tconst LinkCollection = unionmodules.find((e) => { return (e.moduleName == \"LinkCollection\")} )\n\t\tconst links: string[] = []\n\t\tif(LinkCollection){\n\t\t\tfor (const [key, v] of Object.entries(LinkCollection?.arguments as Record)) {\n\t\t\t\tlinks.push(v);\n\t\t\t\t//links.push(\"www.google.com\"); // Test 2 links\n\t\t\t}\n\t\t} \n\t\tstate.linkCollection = links\n\t},\n\t[MutationTypes.RESET_STATE](state: State, u?: undefined) {\n\t\tObject.assign(state, defaultState)\n\t},\n\t[MutationTypes.SET_LINKCOLLECTION](state: State, linkCollection: string[]) {\n\t\tstate.linkCollection = linkCollection\n\t},\n}\n\n// actions\ntype AugmentedActionContext = {\n\tcommit(key: K, payload: Parameters[1]): ReturnType\n} & Omit, \"commit\">\nenum ActionTypes {\n\ttoggleNav = \"toggleNav\",\n\ttoggleNavMini = \"toggleNavMini\",\n\tupdateModules = \"updateModules\",\n\tresetState = \"resetState\",\n\tupdateLinkCollection = \"updateLinkCollection\"\n}\nexport interface Actions {\n\t[ActionTypes.toggleNav]({ commit }: AugmentedActionContext, isOpen: boolean): void\n\t[ActionTypes.toggleNavMini]({ commit }: AugmentedActionContext, isMini: boolean): void\n\t[ActionTypes.updateModules]({ commit }: AugmentedActionContext): Promise\n\t[ActionTypes.resetState]({ commit }: AugmentedActionContext): void\n\t[ActionTypes.updateLinkCollection]({ commit }: AugmentedActionContext, linkCollection: string[]): void\n}\n\nexport const actions: ActionTree & Actions = {\n\t[ActionTypes.toggleNav]({ commit }, isOpen) {\n\t\tcommit(MutationTypes.TOGGLE_NAV, isOpen)\n\t},\n\t[ActionTypes.toggleNavMini]({ commit }, isMini) {\n\t\tcommit(MutationTypes.TOGGLE_NAV_MINI, isMini)\n\t},\n\tasync [ActionTypes.updateModules]({ commit }) {\n\t\ttry {\n\t\t\tconst client = new ApiClient()\n\t\t\tconst customerId = (store as Store).state.context.selectedCustomer?.id\n\t\t\tif (customerId) {\n\t\t\tconst response = await client.getNav(customerId)\n\t\t\tcommit(MutationTypes.SET_MODULES, response)\n\t\t\t//commit(MutationTypes.SET_MODULES, dummyBackendModules)\n\t\t\t} else {\n\t\t\t\tcommit(MutationTypes.SET_MODULES, null)\n\t\t\t}\n\t\t} catch(e) {\n\t\t\tconsole.log(\"Could not get navigation from backend. Error: \" + JSON.stringify(e))\n\t\t\t//commit(MutationTypes.SET_MODULES, dummyBackendModules)\n\t\t\tcommit(MutationTypes.SET_MODULES, null)\n\t\t}\n\t},\n\t[ActionTypes.resetState]({ commit }) {\n\t\tcommit(MutationTypes.RESET_STATE, undefined)\n\t},\n\t[ActionTypes.updateLinkCollection]({ commit }, linkCollection) {\n\t\tcommit(MutationTypes.SET_LINKCOLLECTION, linkCollection)\n\t},\n}\n\n// getters\nexport type Getters = {\n\tisOpen(state: State): null | boolean\n\tisMini(state: State): null | boolean\n\tmodules(state: State): null | Modules\n\tlinkCollection(state: State): null | string[]\n}\nexport const getters: GetterTree & Getters = {\n\tisOpen: (state) => {\n\t\treturn state.isOpen\n\t},\n\tisMini: (state) => {\n\t\treturn state.isMini\n\t},\n\tmodules: (state) => {\n\t\treturn state.modules\n\t},\n\tlinkCollection: (state) => {\n\t\treturn state.linkCollection\n\t},\n}\n\nexport type NavMutations = Namespaced\nexport type NavActions = Namespaced\nexport type NavGetters = Namespaced\nexport type NavState = NamespacedState\n","import { MutationTree, ActionTree, ActionContext, GetterTree } from \"vuex\"\nimport { Config } from \"@/types/config\"\nimport { Namespaced, NamespacedState } from \"@/types/functionTypes\"\n\n// state\nexport type State = Config\n\nexport const state: State = {\n\t//vmxAccountBaseUrl: null,\n registrationBaseUrl: \"\",\n verjiAccountUrl: \"\",\n verjiLinkOnboardingUrl: \"\",\n verjiSigningUrl: \"\",\n verjiAclUrl: \"\",\n verjiItopsUrl: \"\",\n\tauthority: \"\",\n\tclientId: \"\",\n\tredirectUri: \"\",\n\tresponseType: \"\",\n\tscope: \"\",\n\tsilentRedirectUri: \"\",\n\tautomaticSilentRenew: false,\n\tautomaticSilentSignin: false,\n\tlogoutlocation: \"\",\n\tloggerVuex: false,\n\tloggerMiddleware: false,\n\tloggerOidc: false,\n growthbookConfig: {apiHost: \"\", clientKey: \"\"}\n}\n\n// mutations\nenum MutationTypes {\n\tUPDATE_CONFIG = \"UPDATE_CONFIG\"\n}\nexport type Mutations = {\n\t[MutationTypes.UPDATE_CONFIG](state: S, config: Config): void\n}\nexport const mutations: MutationTree & Mutations = {\n\t[MutationTypes.UPDATE_CONFIG](state: State, config: Config) {\n\t\tObject.assign(state, config);\n\t}\n}\n\n// actions\ntype AugmentedActionContext = {\n\tcommit(key: K, payload: Parameters[1]): ReturnType\n} & Omit, \"commit\">\nenum ActionTypes {\n\tupdateConfig = \"updateConfig\"\n}\nexport interface Actions {\n\t[ActionTypes.updateConfig]({ commit }: AugmentedActionContext, config: Config): void\n}\n\nexport const actions: ActionTree & Actions = {\n\t[ActionTypes.updateConfig]({ commit }, config) {\n\t\tcommit(MutationTypes.UPDATE_CONFIG, config)\n\t}\n}\n\n// getters\nexport type Getters = {\n\tgetConfig(state: State): null|Config\n}\n\nexport const getters: GetterTree & Getters = {\n\tgetConfig: (state) => {\n\t\treturn state\n\t}\n}\n\nexport type ConfigMutations = Namespaced\nexport type ConfigActions = Namespaced\nexport type ConfigGetters = Namespaced\nexport type ConfigState = NamespacedState\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('v-app-bar',{staticClass:\"white my-0\",attrs:{\"elevation\":\"0\"}},[_c('div',{staticClass:\"head text-uppercase font-weight-black pr-5 ma-0 dark--text px-2\"},[(!_vm.$vuetify.breakpoint.xsOnly)?_c('img',{staticClass:\"ma-0 pr-1\",attrs:{\"height\":\"15\",\"src\":require(\"@/assets/verji/connections_dots_long_dark.svg\")}}):_vm._e(),_vm._v(_vm._s(_vm.msg))]),_c('v-spacer'),(!_vm.noSelector)?_c('v-tooltip',{attrs:{\"bottom\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('div',_vm._g(_vm._b({staticClass:\"subhead text-right secondary--text font-weight-thin\",on:{\"click\":_vm.loadContext}},'div',attrs,false),on),[(!_vm.$vuetify.breakpoint.xsOnly)?_c('img',{staticClass:\"ma-0 pr-1\",attrs:{\"height\":\"12\",\"src\":require(\"@/assets/verji/picto_4.svg\")}}):_vm._e(),_vm._v(_vm._s(_vm.customerName)+\" \")])]}}],null,false,4158275606)},[_c('span',[_vm._v(\"Change company\")])]):_vm._e()],1),_c('v-spacer'),_c('v-divider',{staticClass:\"mb-5\"})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\n\nexport default Vue.extend({\n\tprops: {\n\t\tmsg: String,\n\t\tnoSelector: Boolean // Deactivate customer selector\n\t},\n\twatch: {\n\t\tcustomerName: {\n deep: true,\n handler(){\n console.log(\"updated selected customer\")\n }\n }\n\t},\n\tcomputed: {\n\t\tcustomerName(): string {\n\t\t\tif (this.$vStore.state.context.selectedCustomer) {\n\t\t\t\treturn this.$vStore.state.context.selectedCustomer.name\n\t\t\t} else {\n\t\t\t\treturn \"\"\n\t\t\t}\n\t\t}\n\t},\n\tmethods: {\n\t\tloadContext(): void {\n\t\t\tthis.$router.push('/context')\n\t\t}\n\t}\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./PageHeader.vue?vue&type=template&id=1ede1080&scoped=true\"\nimport script from \"./PageHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./PageHeader.vue?vue&type=script&lang=ts\"\nimport style0 from \"./PageHeader.vue?vue&type=style&index=0&id=1ede1080&prod&scoped=true&lang=scss\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"1ede1080\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c;return _c('v-card',{staticClass:\"my-6\",attrs:{\"outlined\":\"\",\"elevation\":\"2\"}},[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('v-row',[_c('v-col',{attrs:{\"cols\":\"12\"}},[_vm._t(\"default\")],2)],1)],1)],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./Card.vue?vue&type=template&id=aceb37d8\"\nvar script = {}\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\n//////////////////////////////////////\n// Verji ItOps Acl Api //\n// https://itopsacl.{env}.verji.app //\n//////////////////////////////////////\nconst accessControl = {\n getDomains: \"/api/v1.1/acl/tenants\"\n} \nconst navigation = {\n getNavigation: \"/api/v1.1/nav/domain/{tenantId}\"\n}\nexport const itOpsAclApi = {\n accessControl: accessControl,\n navigation: navigation\n}\n///////////////////////////////////////\n// Verji Account Api //\n// https://itopsacct.{env}.verji.app //\n///////////////////////////////////////\nconst account ={\n findPersonAccount: \"/api/v1.1/account/find\", \n\taccountSummary: \"/api/v1.1/account/{personId}/summary\",\n\tremoveAccount: \"/api/v1.1/account/{personId}\"\n}\nconst customer = {\n getCustomer: \"/api/v1.1/customer/{customerId}\",\n getClient: \"/api/v1.1/customer/{customerId}/client/{clientId}\",\n getPersons: \"/api/v1.1/customer/{customerId}/persons\",\n resolvePersons: \"/api/v1.1/customer/{customerId}/members-info\",\n removeCustomerPerson: \"/api/v1.1/customer/{customerId}/person/{personId}\",\n removeClientPerson: \"/api/v1.1/customer/{customerId}/client/{clientId}/person/{personId}\",\n updateClientName: \"/api/v1.1/customer/{customerId}/client/{clientId}/name\",\n updateClientDescription: \"/api/v1.1/customer/{customerId}/client/{clientId}/description\",\n updateCompanyName: \"/api/v1.1/customer/{customerId}/name\",\n updateCompanyDescription: \"/api/v1.1/customer/{customerId}/description\",\n updateCompanyBusinessRegistryId: \"/api/v1.1/customer/{customerId}/business-registry-id\",\n updatePrimaryContact: \"/api/v1.1/customer/{customerId}/primary-contact/{personId}\",\n deletePrimaryContact: \"/api/v1.1/customer/{customerId}/primary-contact\",\n updateClientPrimaryContact: \"/api/v1.1/customer/{customerId}/client/{clientId}/primary-contact/{personId}\",\n deleteClientPrimaryContact: \"/api/v1.1/customer/{customerId}/client/{clientId}/primary-contact\",\n customerClients: \"/api/v1.1/customer/{customerId}/clients\",\n personClients: \"/api/v1.1/customer/{customerId}/clients/{personId}\",\n persons: \"/api/v1.1/customer/{customerId}/client/{clientId}/persons\",\n reassignPerson: \"/api/v1.1/customer/{customerId}/person/{personId}/reassign\",\n reassignClientPerson: \"/api/v1.1/customer/{customerId}/client/{clientId}/person/{personId}/reassign\",\n reassignClientPersonToExistingClient: \"/api/v1.1/customer/{customerId}/client/{clientId}/person/{personId}/move\"\n}\n\nconst provisioning = {\n findJobs: \"/api/provision/v1.0/status/find\"\n}\n\nconst invite = {\n correctInvitation: \"/api/v1.1/customer/{customerId}/invitation/correction/{jobId}\",\n correctOnboardingInvitation: \"/api/v1.1/tenant/{tenantId}/onboarding/{onboardingId}/resend\",\n getInvitations: \"/api/v1.1/customer/{customerId}/invitations\",\n\tgetOnboardingInvitations: \"/api/v1.1/tenant/{tenantId}/onboarding\"\n}\n\nexport const verjiAccountApi = {\n account: account,\n customer: customer,\n provisioning: provisioning,\n invite: invite\n}\n\n///////////////////////////////////\n// Verji ItOps //\n// https://itops.{env}.verji.app //\n///////////////////////////////////\nexport const acl = {\n getModule: \"/api/v1.1/acl/tenant/{domainId}/permissions/{moduleName}\"\n}\n\nexport const verjiItOpsApi = {\n accessControl: acl\n}\n\nconst linkOnboarding = {\n getUsers: \"/api/v1.1/linkonboarding/tenant/{customerId}/users\",\n activeInvitations: \"/api/v1.1/customer/{customerId}/linkonboarding\",\n invitation: \"/api/v1.1/customer/{customerId}/linkonboarding/{clientInvitationId}\",\n pendingRegistrations: \"/api/v1.1/customer/{customerId}/linkonboarding/{clientInvitationId}/registration\",\n createInvitation: \"/api/v1.1/customer/{customerId}/linkonboarding\",\n deleteInvitation: \"/api/v1.1/customer/{customerId}/linkonboarding/{clientInvitationId}\",\n setManualApproval: \"/api/v1.1/customer/{customerId}/linkonboarding/{clientInvitationId}/manualapproval/{manualApproval}\",\n approveRegistration: \"/api/v1.1/customer/{customerId}/linkonboarding/{clientInvitationId}/registration/{linkRegistrationId}/approved\",\n rejectRegistration: \"/api/v1.1/customer/{customerId}/linkonboarding/{clientInvitationId}/registration/{linkRegistrationId}/rejected\",\n createTenant: \"/api/v1.1/tenant\"\n}\n\nexport const verjiLinkOnboardingApi = {\n linkOnboarding: linkOnboarding\n}","import { accountApi, clientApi, customerApi, personApi, accountsApi, invitationApi } from \"@/constants/accountApi\"\nimport { itOpsAclApi, verjiAccountApi, verjiItOpsApi, verjiLinkOnboardingApi} from \"@/constants/apiEndpoints\"\nimport store, { Store } from \"../store\"\nimport axios, { AxiosInstance } from \"axios\"\nimport * as rax from \"retry-axios\"\nimport { ProvisioningFindRequest, CorrectInvitationRequest, FindPersonAccountRequest, CorrectOnboardingInvitationRequest } from \"@/types/requests\"\nimport { ProvisioningFindResponse, GetInvitesResponse, CorrectInvitationResponse, ClientInfoResponse, CreateTenantPayload, GetOnboardingInvitesResponse, CorrectOnboardingInvitationResponse } from \"@/types/responses\"\nimport { ClientInvitationResponse, ClientInvitationInfoResponse, ClientInvitationRegistrationsResponse, ClientInvitationRegistration } from \"@/types/responses\"\nimport { NavResponse, AclResponse, DomainsResponse, CompanyInfo, CustomerInfoResponse, PersonsResponse, CustomerClientsResponse } from \"@/types/responses\"\nimport { FindPersonAccountResponse, GetAccountDetails, LinkOnboardingUserInfo, LinkOnboardingUserInfoResponse, MemberInfo } from \"@/types/responses\"\nimport { linkRegistrationEnum, AnyDomain } from \"@/types/enums\"\n\n\nenum HttpMethods {\n GET = \"GET\",\n POST = \"POST\",\n PUT = \"PUT\",\n\tDELETE = \"DELETE\"\n}\n\nenum ErrorCodes {\n\tTooManyRequests = \"ERR_NETWORK\"\n}\n\nexport const defaultRetry = 2000;\nexport class ApiClient {\n\t//private baseUrl: Store[\"state\"][\"config\"][\"vmxAccountBaseUrl\"]\n\n private verjiAccountUrl: Store[\"state\"][\"config\"][\"verjiAccountUrl\"]\n private verjiAclUrl: Store[\"state\"][\"config\"][\"verjiAclUrl\"]\n private verjiLinkOnboardingUrl: Store[\"state\"][\"config\"][\"verjiLinkOnboardingUrl\"] \n private verjiItOpsUrl: Store[\"state\"][\"config\"][\"verjiItopsUrl\"]\n // private verjiSigningUrl: Store[\"state\"][\"config\"][\"verjiSigningUrl\"]\n\n\tprivate accessToken: Store[\"state\"][\"oidcStore\"][\"access_token\"]\n\n\tconstructor() {\n\t\tthis.accessToken = (store as Store).state.oidcStore.access_token\n\n //this.baseUrl = (store as Store).state.config.vmxAccountBaseUrl\t\n \n this.verjiAccountUrl = (store as Store).state.config.verjiAccountUrl as string\n this.verjiAclUrl = (store as Store).state.config.verjiAclUrl as string\n\n this.verjiLinkOnboardingUrl = (store as Store).state.config.verjiLinkOnboardingUrl as string\n this.verjiItOpsUrl = (store as Store).state.config.verjiItopsUrl as string\n // this.verjiSigningUrl: = (store as Store).state.config.verjiSigningUrl as string\n\t} \n\n\tprivate setupInterceptors(_axiosInstance: AxiosInstance){\n\t\t_axiosInstance.interceptors.response.use(async function (res) {\n\t\t\treturn res;\n\t\t }, \n\t\t async (res) => {\n\t\t\tif(res?.code != ErrorCodes.TooManyRequests && res?.code != 429 && res?.response?.status != 429){\n\t\t\t\treturn Promise.reject(res);\n\t\t\t}\n\n\t\t\tconsole.info(\"Failed: \" + res?.config?.url)\n\t\t\tawait new Promise(r => setTimeout(r, res?.response?.headers?.RetryAfter ?? defaultRetry))\n\t\t\t\t.then(() => {\n\t\t\t\t\tconsole.info(\"Attempting retry: \" + res.config.url)\n\t\t\t\t\tswitch(res?.config?.method){\n\t\t\t\t\t\tcase HttpMethods.GET:\n\t\t\t\t\t\t\treturn this.get(res.config.url, res.config.data)\n\t\t\t\t\t\tcase HttpMethods.POST:\n\t\t\t\t\t\t\treturn this.post(res.config.url, res.config.data)\n\t\t\t\t\t\tcase HttpMethods.PUT:\n\t\t\t\t\t\t\treturn this.put(res.config.url, res.config.data)\n\t\t\t\t\t\tcase HttpMethods.DELETE:\n\t\t\t\t\t\t\treturn this.delete(res.config.url, res.config.data)\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t\t.catch((_error) => {\n\t\t\t\t\tconsole.warn(_error)\n\t\t\t\t\treturn Promise.reject(_error);\n\t\t\t\t});\n\t\t\t\n\t\t });\n\t}\n\n\tprivate async post(endpoint: string, data?: unknown): Promise {\n\t\t// cannot use resolve, reject here because of the retry-axios interceptor\n\t\tconst axiosInstance = axios.create({\n\t\t\ttimeout: 300000,\n\t\t})\n\t\t// axiosInstance.defaults.baseURL = this.baseUrl as string\n\t\taxiosInstance.defaults.raxConfig = {\n\t\t\tretry: 0,\n\t\t\tnoResponseRetries: 0,\n\t\t\tinstance: axiosInstance,\n\t\t\thttpMethodsToRetry: [\"POST\"],\n\t\t\tstatusCodesToRetry: [\n\t\t\t\t[100, 199],\n\t\t\t\t[401, 405, 429],\n\t\t\t\t[500, 599],\n\t\t\t],\n\t\t\tbackoffType: \"linear\",\n\t\t\tonRetryAttempt: (err) => {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tconst retryAttempt = rax.getConfig(err)!.currentRetryAttempt!\n\t\t\t\t\tconsole.log(`POST attempt #${retryAttempt}. Endpoint:$ \"${endpoint}\". Error: ${err.code}: ${err.message}`)\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresolve(\"testing\")\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t(store as Store).dispatch(\"oidcStore/authenticateOidcSilent\").then((user) => {\n\t\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\t\tconsole.log(`Silently renewed token for user: \"${(user as any).profile.sub}\". Retrying POST..`)\n\t\t\t\t\t\t\tresolve(`TRIED refreshing user!: ${JSON.stringify(user)}`)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t*/\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treject()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\taxiosInstance.defaults.headers = {\n\t\t\tAuthorization: \"Bearer \" + this.accessToken,\n\t\t}\n\t\tconst interceptorId = rax.attach(axiosInstance)\n\t\tthis.setupInterceptors(axiosInstance)\n\t\tconst res = await axiosInstance.post(endpoint, data)\n\t\treturn res.data\n\t}\n\n\tprivate async put(endpoint: string, data?: unknown): Promise {\n\t\tconst axiosInstance = axios.create({\n\t\t\ttimeout: 300000,\n\t\t})\n\t\t// axiosInstance.defaults.baseURL = this.baseUrl as string\n\t\taxiosInstance.defaults.raxConfig = {\n\t\t\tretry: 0,\n\t\t\tnoResponseRetries: 0,\n\t\t\tinstance: axiosInstance,\n\t\t\thttpMethodsToRetry: [\"PUT\"],\n\t\t\tstatusCodesToRetry: [\n\t\t\t\t[100, 199],\n\t\t\t\t[401, 405, 429],\n\t\t\t\t[500, 599],\n\t\t\t],\n\t\t\tbackoffType: \"linear\",\n\t\t\tonRetryAttempt: (err) => {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tconst retryAttempt = rax.getConfig(err)!.currentRetryAttempt!\n\t\t\t\t\tconsole.log(`PUT attempt #${retryAttempt}. Endpoint:$ \"${endpoint}\". Error: ${err.code}: ${err.message}`)\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresolve(\"testing\")\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t(store as Store).dispatch(\"oidcStore/authenticateOidcSilent\").then((user) => {\n\t\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\t\tconsole.log(`Silently renewed token for user: \"${(user as any).profile.sub}\". Retrying POST..`)\n\t\t\t\t\t\t\tresolve(`TRIED refreshing user!: ${JSON.stringify(user)}`)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t*/\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treject()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\taxiosInstance.defaults.headers = {\n\t\t\tAuthorization: \"Bearer \" + this.accessToken,\n\t\t}\n\t\tconst interceptorId = rax.attach(axiosInstance)\n\t\tthis.setupInterceptors(axiosInstance)\n\t\tconst res = await axiosInstance.put(endpoint, data)\n\t\treturn res.data\n\t}\n\n\tprivate async delete(endpoint: string, data?: unknown): Promise {\n\t\tconst axiosInstance = axios.create({\n\t\t\ttimeout: 300000,\n\t\t})\n\t\t// axiosInstance.defaults.baseURL = this.baseUrl as string\n\t\taxiosInstance.defaults.raxConfig = {\n\t\t\tretry: 0,\n\t\t\tnoResponseRetries: 0,\n\t\t\tinstance: axiosInstance,\n\t\t\thttpMethodsToRetry: [\"DELETE\"],\n\t\t\tstatusCodesToRetry: [\n\t\t\t\t[100, 199],\n\t\t\t\t[401, 405, 429],\n\t\t\t\t[500, 599],\n\t\t\t],\n\t\t\tbackoffType: \"linear\",\n\t\t\tonRetryAttempt: (err) => {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tconst retryAttempt = rax.getConfig(err)!.currentRetryAttempt!\n\t\t\t\t\tconsole.log(`DELETE attempt #${retryAttempt}. Endpoint:$ \"${endpoint}\". Error: ${err.code}: ${err.message}`)\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresolve(\"testing\")\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t(store as Store).dispatch(\"oidcStore/authenticateOidcSilent\").then((user) => {\n\t\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\t\tconsole.log(`Silently renewed token for user: \"${(user as any).profile.sub}\". Retrying POST..`)\n\t\t\t\t\t\t\tresolve(`TRIED refreshing user!: ${JSON.stringify(user)}`)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t*/\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treject()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\taxiosInstance.defaults.headers = {\n\t\t\tAuthorization: \"Bearer \" + this.accessToken,\n\t\t}\n\t\tconst interceptorId = rax.attach(axiosInstance)\n\t\tthis.setupInterceptors(axiosInstance)\n\t\tconst res = await axiosInstance.delete(endpoint)\n\t\treturn res.data\n\t}\n\n\tprivate async get(endpoint: string, timeout?: number): Promise {\n\t\t// cannot use resolve, reject here because of the retry-axios interceptor\n\t\tlet defaultTimeout = 300000\n\n\t\tif (typeof timeout !== 'undefined') {\n\t\t\tdefaultTimeout = timeout\n\t\t}\n\t\tconst axiosInstance = axios.create({\n\t\t\ttimeout: defaultTimeout,\n\t\t})\n\t\t// axiosInstance.defaults.baseURL = this.baseUrl as string\n\t\taxiosInstance.defaults.raxConfig = {\n\t\t\tretry: 0,\n\t\t\tnoResponseRetries: 0,\n\t\t\tinstance: axiosInstance,\n\t\t\thttpMethodsToRetry: [\"GET\"],\n\t\t\tstatusCodesToRetry: [\n\t\t\t\t[100, 199],\n\t\t\t\t[401, 402], [404, 429],\n\t\t\t\t[500, 599],\n\t\t\t],\n\t\t\tbackoffType: \"linear\",\n\t\t\tonRetryAttempt: (err) => {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\tconst retryAttempt = rax.getConfig(err)!.currentRetryAttempt!\n\t\t\t\t\tconsole.log(`GET attempt #${retryAttempt}. Endpoint: \"${endpoint}\". Error: ${err.code}: ${err.message}`)\n\t\t\t\t\ttry {\n\t\t\t\t\t\tresolve(\"testing\")\n\t\t\t\t\t\t/*\n\t\t\t\t\t\t(store as Store).dispatch(\"oidcStore/authenticateOidcSilent\").then((user) => {\n\t\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\t\tconsole.log(`Silently renewed token for user: \"${(user as any).profile.sub}\". Retrying GET..`)\n\t\t\t\t\t\t\tresolve(`TRIED refreshing user!: ${JSON.stringify(user)}`)\n\t\t\t\t\t\t})\n\t\t\t\t\t\t*/\n\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\treject()\n\t\t\t\t\t}\n\t\t\t\t})\n\t\t\t},\n\t\t}\n\t\taxiosInstance.defaults.headers = {\n\t\t\tAuthorization: \"Bearer \" + this.accessToken,\n\t\t}\n\t\tconst interceptorId = rax.attach(axiosInstance)\n\t\tthis.setupInterceptors(axiosInstance)\n\t\tconst res = await axiosInstance.get(endpoint)\n\t\treturn res.data\n\t}\n\n\tpublic async getNav(customerId: string|null|undefined): Promise {\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiAclUrl + itOpsAclApi.navigation.getNavigation\n\t\t\t\turl = url.replace(\"{tenantId}\", customerId)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getModuleAcl(customerId: string|null|undefined, moduleName: string): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiItOpsUrl + verjiItOpsApi.accessControl.getModule // accountApi.acl.module\n\t\t\t\turl = url.replace(\"{domainId}\", customerId)\n\t\t\t\turl = url.replace(\"{moduleName}\", moduleName)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n public async getModuleAclAnyDomain(moduleName: string): Promise {\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tlet url = this.verjiItOpsUrl + verjiItOpsApi.accessControl.getModule // accountApi.acl.module\n\t\t\t\turl = url.replace(\"{domainId}\", AnyDomain.anyInstance)\n\t\t\t\turl = url.replace(\"{moduleName}\", moduleName)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n }\n\n\tpublic async getDomains(): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tconst url = this.verjiAclUrl + itOpsAclApi.accessControl.getDomains //accountApi.context.domains\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getCustomerInfo(customerId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.getCustomer // accountApi.customer.customer\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getClientInfo(customerId: string|null|undefined, clientId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.getClient //accountApi.customer.client\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\t\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async findProvisioningJobs(request: ProvisioningFindRequest): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tconst response = this.post(this.verjiAccountUrl + verjiAccountApi.provisioning.findJobs, request)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async correctInvitation(customerId: string|null|undefined, jobId: string, request: CorrectInvitationRequest): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.invite.correctInvitation;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{jobId}\", jobId)\n\t\t\t\tconst response = this.post(url, request)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async correctOnboardingInvitation(tenantId: string|null|undefined, onboardingId: string, request: CorrectOnboardingInvitationRequest): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!tenantId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiAccountApi.invite.correctOnboardingInvitation;\n\t\t\t\turl = url.replace(\"{tenantId}\", tenantId)\n\t\t\t\turl = url.replace(\"{onboardingId}\", onboardingId)\n\t\t\t\tconst response = this.post(url, request)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getInvites(customerId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.invite.getInvitations;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getOnboardingInvites(tenantId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!tenantId)\n\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiAccountApi.invite.getOnboardingInvitations;\n\t\t\t\turl = url.replace(\"{tenantId}\", tenantId)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getPersons(customerId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.getPersons;\n\t\t\t\t//url = url.replace(\"{tenantId}\", tenantId)\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getLinkOnboardingUsers(tenantId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!tenantId)\n\t\t\t\t\t\treturn reject()\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.getUsers; // invitationApi.fetchAssignableOwners\n\t\t\t\turl = url.replace(\"{customerId}\", tenantId)\n\t\t\t\tconst response = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async resolveCustomerPersons(customerId: string|null|undefined, personIds: Array): Promise> {\n\t\treturn new Promise>((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.resolvePersons;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.post>(url, personIds)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async removeCustomerPerson(customerId: string|null|undefined, personId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.removeCustomerPerson;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\tconst response = this.delete(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async removeClientPerson(customerId: string|null|undefined, clientId: string|undefined, personId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId|| !personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.removeClientPerson;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\tconst response = this.delete(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updateClientName(customerId: string|null|undefined, clientId: string|undefined, info: CompanyInfo|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId || !info) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updateClientName;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\tconsole.log(url)\n\t\t\t\tconst response = this.put(url, {name: info.name})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updateClientDescription(customerId: string|null|undefined, clientId: string|undefined, info: CompanyInfo|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId || !info) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updateClientDescription;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\n\t\t\t\tconst response = this.put(url, {description: info.description})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updateCompanyName(customerId: string|null|undefined, info: CompanyInfo|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !info) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updateCompanyName;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.put(url, {name: info.name})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updateCompanyDescription(customerId: string|null|undefined, info: CompanyInfo|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !info) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updateCompanyDescription;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.put(url, {description: info.description})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updateCompanyBusinessRegistryId(customerId: string|null|undefined, info: CompanyInfo|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !info) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updateCompanyBusinessRegistryId;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response = this.put(url, {businessRegistryId: info.businessRegistryId})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updatePrimaryContact(customerId: string|null|undefined, personId: string|null): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId)\n\t\t\t\t\treturn reject()\n\t\t\t\t//url = url.replace(\"{tenantId}\", tenantId)\n\n\t\t\t\tif(personId){\n\t\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updatePrimaryContact;\n\t\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\t\tconst response = this.put(url)\n\t\t\t\t\tresolve(response)\n\t\t\t\t} else {\n\t\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.deletePrimaryContact;\n\t\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\t\tconst response = this.delete(url)\n\t\t\t\t\tresolve(response)\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async updateClientPrimaryContact(customerId: string|null|undefined, clientId: string|null|undefined, personId: string|null): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId) return reject()\n\t\t\t\t//url = url.replace(\"{tenantId}\", tenantId)\n\n\t\t\t\tif(personId){\n\t\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.updateClientPrimaryContact;\n\t\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\t\tconst response = this.put(url)\n\t\t\t\t\tresolve(response)\n\t\t\t\t} else {\n\t\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.deleteClientPrimaryContact;\n\t\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\t\tconst response = this.delete(url)\n\t\t\t\t\tresolve(response)\n\t\t\t\t}\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\t/*\n\t\tGet clients(Orgs, projects, cases, etc.) associated with customer(company)\n\t*/\n\tpublic async getCustomerClients(customerId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.customerClients;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response: Promise = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getPersonClients(customerId: string|null|undefined, personId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.personClients;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\tconsole.log(\"personClients: \" + url)\n\t\t\t\tconst response: Promise = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getClientPersons(customerId: string|null|undefined, clientId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.persons\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconst response: Promise = this.get(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getClientInvitations(customerId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId) return reject()\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.activeInvitations;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\tconsole.log(url)\n\t\t\t\tconst response: Promise = this.get(url)\n\t\t\t\tconsole.log(response)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getClientInvitationInfo(customerId: string|null|undefined, clientInvitationId: string | undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientInvitationId) return reject()\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.invitation;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientInvitationId}\", clientInvitationId)\n\t\t\t\tconst response: Promise = this.get(url)\n\t\t\t\tconsole.log(response)\n\t\t\t\tresolve(response)\n\t\t\t\t\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getClientInvitationRegistrations(customerId: string|null|undefined, clientInvitationId: string | undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientInvitationId) return reject()\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.pendingRegistrations;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientInvitationId}\", clientInvitationId)\n\n\t\t\t\tconst response: Promise = this.get(url)\n\t\t\t\tconsole.log(response)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async deleteRegistration(customerId: string|null|undefined, clientRegistrationId: string|undefined, registration: ClientInvitationRegistration): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientRegistrationId || !registration.jobId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.removeClientPerson;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientinvitationid}\", clientRegistrationId)\n\t\t\t\turl = url.replace(\"{linkregistrationid}\", registration.jobId)\n\t\t\t\tconst response = this.delete(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async createNewClientInvitation(customerId: string|null|undefined, invitationName: string|null|undefined, invitingPersonId: string|null|undefined, manualApproval: boolean, onboardingKind: string|null|undefined): Promise {\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !invitationName || !invitingPersonId || !onboardingKind){\n\t\t\t\t\treturn reject()\n\t\t\t\t}\n\n\t\t\t\tconst invitationType = linkRegistrationEnum.NewClientInvite\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.createInvitation;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\t\n\t\t\t\tconst response = this.post(url, {\n\t\t\t\t\tcustomerId: customerId,\n\t\t\t\t\tdisplayName: invitationName,\n\t\t\t\t\tinvitingUser: invitingPersonId,\n\t\t\t\t\tinvitationType: invitationType,\n\t\t\t\t\tlinkOnboardingKind: onboardingKind,\n\t\t\t\t\tmanualApproval: manualApproval,\n\t\t\t\t})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async changeClientInvitationActiveStatus(customerId: string|null|undefined, clientInvitationId: string|undefined, active: boolean): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientInvitationId){\n\t\t\t\t\treturn reject()\n\t\t\t\t}\n\n\t\t\t\tif(active){\n\t\t\t\t\t// Implementation for activation\n\t\t\t\t\treturn reject()\n\t\t\t\t\t// resolve()\n\t\t\t\t}\n\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.deleteInvitation;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientInvitationId}\", clientInvitationId)\n\n\t\t\t\tconst response = this.delete(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async changeClientInvitationManualApprovalStatus(customerId: string|null|undefined, clientInvitationId: string|undefined, manualApproval: boolean): Promise {\n //this.baseUrl = (store as Store).state.config.verjiLinkOnboardingUrl as string\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientInvitationId){\n\t\t\t\t\treturn reject()\n\t\t\t\t}\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.setManualApproval;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientInvitationId}\", clientInvitationId)\n\t\t\t\turl = url.replace(\"{manualApproval}\", manualApproval.toString())\n\n\t\t\t\tconst response = this.put(url, {\n\t\t\t\t\tmanualApproval: manualApproval\n\t\t\t\t})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async approveRegistration(customerId: string|null|undefined, clientInvitationId: string|undefined, linkRegistrationId: string|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientInvitationId || !linkRegistrationId){\n\t\t\t\t\treturn reject()\n\t\t\t\t}\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.approveRegistration;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientInvitationId}\", clientInvitationId)\n\t\t\t\turl = url.replace(\"{linkRegistrationId}\", linkRegistrationId)\n\n\t\t\t\tconst response = this.put(url, {\n\t\t\t\t\tmanualConfirmation: false, // Old implementation\n\t\t\t\t\tmanualApproval: false\n\t\t\t\t})\n\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async rejectRegistration(customerId: string|null|undefined, clientInvitationId: string|undefined, linkRegistrationId: string|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientInvitationId || !linkRegistrationId){\n\t\t\t\t\treturn reject()\n\t\t\t\t}\n\t\t\t\tlet url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.rejectRegistration\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientInvitationId}\", clientInvitationId)\n\t\t\t\turl = url.replace(\"{linkRegistrationId}\", linkRegistrationId)\n\n\t\t\t\tconst response = this.put(url, {\n\t\t\t\t\tmanualConfirmation: false, // Old implementation\n\t\t\t\t\tmanualApproval: false\n\t\t\t\t})\n\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async reassignPersonToClient(customerId: string|null|undefined, clientId: string|null|undefined, personId: string|null|undefined, targetClientId: string|null|undefined, newClientName: string|null|undefined): Promise {\t\t\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId || !personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.reassignPerson;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\n\t\t\t\tconsole.log(url)\n\t\t\t\tconst response = this.post(url, {targetClientId: targetClientId, newClientName: newClientName})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async reassignClientPerson(customerId: string|null|undefined, clientId: string|null|undefined, personId: string|null|undefined, targetOrganizationId: string): Promise {\n\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId || !personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.reassignClientPerson;\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\t\n\t\t\t\tconsole.log(url)\n\t\t\t\tconst response = this.post(url, {\n\t\t\t\t\ttargetOrganizationId: targetOrganizationId,\n\t\t\t\t})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async reassignClientPersonToExistingClient(customerId: string|null|undefined, clientId: string|null|undefined, personId: string|null|undefined, sourceOrganizationId: string, targetOrganizationId: string): Promise {\n\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!customerId || !clientId || !personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.customer.reassignClientPersonToExistingClient\n\t\t\t\turl = url.replace(\"{customerId}\", customerId)\n\t\t\t\turl = url.replace(\"{clientId}\", clientId)\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\t\n\t\t\t\tconsole.log(url)\n\t\t\t\tconst response = this.post(url, {\n\t\t\t\t\tsourceGuestOrganizationId: sourceOrganizationId,\n\t\t\t\t\ttargetGuestOrganizationId: targetOrganizationId,\n\t\t\t\t})\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n\n\n\t// MANAGE ACCOUNT\n\n\tpublic async findPersonAccount(request: FindPersonAccountRequest): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n const url = this.verjiAccountUrl + verjiAccountApi.account.findPersonAccount;\n\t\t\t\tconst response = this.post(url, request)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async getAccountSummary(personId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.account.accountSummary;\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\tconst response = this.get(url, 150000)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n\tpublic async removeAccount(personId: string|null|undefined): Promise {\n\t\treturn new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif (!personId) return reject()\n\t\t\t\tlet url = this.verjiAccountUrl + verjiAccountApi.account.removeAccount;\n\t\t\t\turl = url.replace(\"{personId}\", personId)\n\t\t\t\tconst response = this.delete(url)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\tconsole.warn(e)\n\t\t\t\treject()\n\t\t\t}\n\t\t})\n\t}\n\n // TENANT ONBOARDING\n\n public async createTenantOnboarding(createTenantData: CreateTenantPayload): Promise {\n return new Promise((resolve, reject) => {\n\t\t\ttry {\n\t\t\t\tif ( !createTenantData \n //|| !createTenantData.businessRegistryId no loger required\n || !createTenantData.companyName \n || !createTenantData.email \n || !createTenantData.invitingPersonDisplayName \n || !createTenantData.invitingPersonId\n || !createTenantData.phoneNumber\n || !createTenantData.tenantId\n || !createTenantData.tenantOnboardingId ){\n\t\t\t\t\treturn reject()\n\t\t\t\t}\n\n\t\t\t\tconst invitationType = linkRegistrationEnum.NewClientInvite\n\t\t\t\tconst url = this.verjiLinkOnboardingUrl + verjiLinkOnboardingApi.linkOnboarding.createTenant;\n\t\t\t\t\n\t\t\t\tconst response = this.post(url, createTenantData)\n\t\t\t\tresolve(response)\n\t\t\t} catch (e) {\n\t\t\t\treject(e)\n\t\t\t}\n\t\t})\n\t}\n}\n","export * from \"-!../../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./PageHeader.vue?vue&type=style&index=0&id=1ede1080&prod&scoped=true&lang=scss\"","export enum InvitationTypeEnum {\n\tInviteExisting = \"InviteExisting\",\n\tInviteNew = \"InviteNew\"\n}\n\nexport enum InvitationStatusEnum {\n\tAccountCreated = \"AccountCreated\",\n\tVerificationFailed = \"VerificationFailed\",\n\tStarted = \"Started\",\n\tCompleted = \"Completed\",\n\tProvisioningCompleted = \"ProvisioningCompleted\",\n\tAwaitingVerification = \"AwaitingVerification\",\n\tInvitationSent = \"InvitationSent\",\n\tAbandoned = \"Abandoned\",\n\tCancelled = \"Cancelled\",\n\tInvitationSentAndJobCompleted = \"InvitationSentAndJobCompleted\",\n\tOrganizationCreated = \"OrganizationCreated\",\n\tAccessControlUpdated = \"AccessControlUpdated\",\n\n\tPending = \"Pending\", // Onboarding job has been created, and is pending/not yet started \n\tAspNetUserCreated = \"AspNetUserCreated\", // A new aspnet user was created\n\tMatrixUserCreated = \"MatrixUserCreated\", // A new matrix user was created\n\tDehydrationDeviceCreated = \"DehydrationDeviceCreated\", // Dehydration deviceC created for matrix user was successful\n\tRoomCreated = \"RoomCreated\", // A new DM room was created\n\tRoomJoined = \"RoomJoined\", // DM room was joined\n\tVmxUserCreated = \"VmxUserCreated\", // A new vmx user was created\n\tClientCreated = \"ClientCreated\", // A new client was created\n\tPersonAddedToClient = \"PersonAddedToClient\", // A person was added to the new client\n\tEmailPushedToSynapse = \"EmailPushedToSynapse\", // Email address was pushed to synapse\n\tRegistrationEmailSent = \"RegistrationEmailSent\", // Registration email was sent to new user\n\tUserAlreadyExists = \"UserAlreadyExists\", // The job has been completed because the user already exists\n\tFailed = \"Failed\"\n}\n\nexport enum linkRegistrationEnum {\n\tNewClientInvite = \"NewClientInvite\"\n}\n\nexport enum LinkOnboardingKind {\n\tPerson = \"Person\",\n\tCompany = \"Company\"\n}\n\nexport enum RoleEnum {\n\tClient = \"Client\",\n\tAdmin = \"Admin\",\n\t//Employee = \"Employee\"\n}\n\nexport const roleMap: Record = {\n\t\"Employee\" : \"Administrator\",\n\t\"Admin\" : \"Administrator\",\n\t\"Client\": \"Standard\"\n}\n\nexport enum RouteTypes {\n\tNone = \"$NONE\"\n}\n\nexport enum UserTypeEnum {\n\tStandard = \"Standard\",\n\tAdHoc = \"AdHoc\"\n}\n\nexport type InvitationType = InvitationTypeEnum.InviteNew | InvitationTypeEnum.InviteExisting\n\nexport type InvitationStatusExisting = InvitationStatusEnum.Started | InvitationStatusEnum.InvitationSentAndJobCompleted\n\nexport type InvitationStatusNew = InvitationStatusEnum.Started | InvitationStatusEnum.Completed | InvitationStatusEnum.ProvisioningCompleted | InvitationStatusEnum.InvitationSent | InvitationStatusEnum.AwaitingVerification | InvitationStatusEnum.Abandoned | InvitationStatusEnum.Cancelled\n\nexport enum CustomerEnum {\n\t//this module\n\tCustomer = \"Customer\",\n\n\t//permissions\n\tDisplayPrimaryContact = \"customer-primary-contact:display\",\n\tViewPrimaryContact = \"customer-primary-contact:view\",\n\tManagePrimaryContact = \"customer-primary-contact:manage\",\n\n\tListPersons = \"customer-person:list\",\n\tRemovePersons = \"customer-person:remove\",\n\tReassignPersonsToCompany = \"customer-person:reassign-to-company\",\n\tReassignPersonsToExisting = \"customer-person:reassign-to-existing\",\n\tReassignPersonsToNew = \"customer-person:reassign-to-new\",\n\n\t// Client specific\n\tClientDisplayPrimaryContact = \"client-primary-contact:display\",\n\tClientViewPrimaryContact = \"client-primary-contact:view\",\n\tClientManagePrimaryContact = \"client-primary-contact:manage\",\n\n\tClientListPersons = \"client-person:list\",\n\tClientRemovePersons = \"client-person:remove\",\n\tClientReassignPersonsToCompany = \"client-person:reassign-to-company\",\n\tClientReassignPersonsToExisting = \"client-person:reassign-to-existing\",\n\tClientReassignPersonsToNew = \"client-person:reassign-to-new\",\n\tClientReassignPersonToExistingClient = \"client-person:reassign-guest-to-existing-guestorg\",\n\n\t// modules\n\tCustomerSettings = \"CustomerSettings\",\n\n\t// Tabs\n\tCustomerPersons = \"CustomerPersons\",\n\tCustomerInvitations = \"CustomerInvitations\",\n\tCustomerClients = \"CustomerClients\"\n}\n\nexport enum ClientEnum {\n\tClientOrganization = \"ClientOrganization\",\n\n\t//permissions\n\tClientDisplayPrimaryContact = \"client-primary-contact:display\",\n\tClientViewPrimaryContact = \"client-primary-contact:view\",\n\tClientManagePrimaryContact = \"client-primary-contact:manage\",\n\n\tClientListPersons = \"client-person:list\",\n\tClientRemovePersons = \"client-person:remove\",\n\tClientReassignPersonsToCompany = \"client-person:reassign-to-company\",\n\tClientReassignPersonsToExisting = \"client-person:reassign-to-existing\",\n\tClientReassignPersonsToNew = \"client-person:reassign-to-new\",\n\tClientReassignPersonToExistingClient = \"client-person:reassign-person-to-existing-client\",\n}\n\nexport enum InvitationEnum {\n\t//this module\n\tInvitation = \"Invitation\",\n\n\t//permissions\n\tCorrectInvitation = \"invitation:correct\",\n\tListInvitation = \"invitation:list\"\n\n\t// modules\n\t\n}\n\nexport enum LinkOnboardingEnum {\n\tLinkOnboarding = \"LinkOnboarding\",\n\n\tOnboardingOwnerAssign = \"link-ownership:delegate\",\n\tOnboardingOwner = \"link-ownership:selfonly\",\n}\n\nexport enum NavSubItems {\n AccountRemove = \"AccountRemove\",\n AccountOverview = \"AccountOverview\"\n}\n\n////////////////////\n// Manage Account //\n////////////////////\n\n\t// Results.vue\nexport type TableMode = {\n\tremove: boolean\n\tview: boolean\n}\n\t//RadioSearch.vue\nexport enum RadioSearchValues {\n\tcompany = \"company\",\n\temail = \"email\",\n\tuserId = \"userId\"\n}\n\n////////////////////\n///// ACL Enums ////\n////////////////////\n\nexport enum AnyDomain {\n anyInstance = \"tob-any-instance\"\n}\n\nexport enum ModuleName {\n onboarding = \"Onboarding\"\n}\n\nexport enum OnboardingUiEnum {\n onboardingOwnership = \"onboarding-ownership:delegate\",\n createTenant= \"tenant:create\"\n}\n\nexport enum OnboardingRoles {\n onboardingManager = \"Onboarding-Manager\",\n tenantOnboarder = \"Onboarding-TenantOnboarder\"\n}\n\n////////////////////////////\n///// TENANT ONBOARDING ////\n////////////////////////////\n\nexport enum CreateTenantErrorTypes {\n companyName = \"NewTenantOnboarding.CompanyName\",\n businessRegistryId = \"NewTenantOnboarding.BusinessRegistryId\",\n email = \"NewTenantOnboarding.Email\",\n phoneNumber = \"NewTenantOnboarding.PhoneNumber\"\n}","module.exports = __webpack_public_path__ + \"img/verji_connections_logo_long.8911f664.svg\";","var map = {\n\t\"./en.json\": \"e312\",\n\t\"./no.json\": \"59df\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"a35b\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('div',[_c('h3',{staticClass:\"grey--text mb-2 text-uppercase\"},[_vm._v(_vm._s(_vm.title))])])\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\nexport default Vue.extend({\n\tprops: {\n\t\ttitle: String,\n\t}\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubHeader.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./SubHeader.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./SubHeader.vue?vue&type=template&id=679135ec\"\nimport script from \"./SubHeader.vue?vue&type=script&lang=ts\"\nexport * from \"./SubHeader.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","\nimport store, { Store } from \"@/store\";\nimport { GrowthBook, Context } from \"@growthbook/growthbook\";\n\nenum GrowthbookAttributes {\n UserId = \"userid\"\n}\nexport enum GrowthbookFeatureFlags {\n ManageTenants = \"manage-tenants\",\n OnboardingInvites = \"onboarding-invites\" \n}\n\n /**\n * VerjiGrowthBook is a wrapper class which extends the default growthbook with a custom constructor with required params apihost and clientKey \n */\n export class VerjiGrowthBook extends GrowthBook {\n private static instance: VerjiGrowthBook\n private hasUser: boolean\n /**\n * Constructs a VerjiGrowthBook \n * @param apiHost The growthbook apiHost as a string\n * @param clientKey The growthbook clientKey as a string\n * @param userId Optional param: The Verji userId logged in\n */\n constructor(apiHost: string, clientKey: string, userId?: string){\n const context: Context = {apiHost, clientKey}\n console.log(\"[verjiGrowthbook] - Creating...\");\n super(context)\n\n if(userId){\n this.setAttributes({\n [GrowthbookAttributes.UserId]: userId,\n });\n this.hasUser = true\n } else {\n this.hasUser = false\n }\n console.log(\"[verjiGrowthbook] - Created: \", this);\n\n return this\n }\n\n public static getInstance(): VerjiGrowthBook {\n if ( !VerjiGrowthBook.instance) {\n let userId;\n let apiHost = \"\";\n let clientKey = \"\";\n try {\n userId = (store as Store).state.oidcStore.user?.profile?.sub ?? \"\" as string\n apiHost = (store as Store).state.config.growthbookConfig.apiHost ?? \"\" as string\n clientKey = (store as Store).state.config.growthbookConfig.clientKey ?? \"\" as string\n } catch (e) {\n console.error(\"[verjiGrowthbook] - Unable to get config: missing apiHost, clientKey or username.\");\n }\n if(userId){\n console.log(`[verjiGrowthbook] - userId was provided: ${userId}.`)\n VerjiGrowthBook.instance = new VerjiGrowthBook(apiHost, clientKey, userId);\n }else {\n VerjiGrowthBook.instance = new VerjiGrowthBook(apiHost, clientKey);\n }\n } else {\n console.log( \"[verjiGrowthbook] - Singleton is already instanciated. Using existing instance.\" );\n }\n \n return VerjiGrowthBook.instance;\n }\n\n public setGrowthBookUser(userId: string): void{\n console.log(\"[verjiGrowthbook] - Setting user...\")\n this.setAttributes({\n [GrowthbookAttributes.UserId]: userId\n })\n console.log(`[verjiGrowthbook] - User was set to ${userId}.`)\n this.hasUser = true\n }\n\n }","var map = {\n\t\"./acl.ts\": \"4ac7\",\n\t\"./config.ts\": \"7458\",\n\t\"./context.ts\": \"119a\",\n\t\"./nav.ts\": \"7182\",\n\t\"./oidcStore.ts\": \"0524\",\n\t\"./provisioning.ts\": \"5be8\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"c58b\";","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-app',{directives:[{name:\"show\",rawName:\"v-show\",value:(_vm.user),expression:\"user\"}]},[_c('nav-bar'),_c('transition',{attrs:{\"name\":\"fade\"}},[_c('div',[(_vm.hasContext)?_c('nav-drawer',{key:\"navDrawer\"}):_vm._e(),_c('v-main',[_c('v-container',{attrs:{\"fluid\":\"\"}},[_c('router-view')],1)],1)],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\nimport { ModuleName } from \"./types/enums\"\nexport default Vue.extend({\n\tname: \"App\",\n\tcomputed: {\n\t\tuser(): boolean {\n\t\t\treturn this.$vStore.getters[\"oidcStore/oidcUser\"] && this.$route.path !== \"/oidc-callback\"\n\t\t},\n\t\thasContext(): boolean {\n\t\t\tconst hasCtx = this.$vStore.state.context.selectedCustomer !== null\n\n\t\t\tconst shouldShow = this.$route.path !== \"/context\" && this.$route.path !== \"/profile\" && this.$route.path !== \"/tenant\"\n\t\t\treturn hasCtx && shouldShow\n\t\t},\n\t},\n watch: {\n user(newValue){\n if(newValue){ \n // Get ACL on user level when User is avaiable\n this.$store.dispatch(\"context/getAnyDomainAcl\", ModuleName.onboarding);\n }\n }\n },\n\tasync mounted(){\n\t\tthis.attachFreshworksWidget();\n\t},\n\tmethods: {\n\t\tattachFreshworksWidget(): void {\n\t\t\tconst head = document.querySelector(\"head\") as HTMLInputElement;\n\t\t\tconst scriptExt = document.createElement(\"script\");\n\t\t\tscriptExt.setAttribute(\"src\", \"https://euc-widget.freshworks.com/widgets/80000005404.js\");\n\t\t\tscriptExt.async = true;\n\t\t\tscriptExt.defer = true;\n\t\t\tif(head !== null) {\n\t\t\t\thead.appendChild(scriptExt);\n\t\t\t}\n\t\t}\n\t}\n})\n","import mod from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../node_modules/cache-loader/dist/cjs.js??ref--14-0!../node_modules/thread-loader/dist/cjs.js!../node_modules/babel-loader/lib/index.js!../node_modules/ts-loader/index.js??ref--14-3!../node_modules/cache-loader/dist/cjs.js??ref--1-0!../node_modules/vue-loader/lib/index.js??vue-loader-options!./App.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./App.vue?vue&type=template&id=25aee308\"\nimport script from \"./App.vue?vue&type=script&lang=ts\"\nexport * from \"./App.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import { middlewareContext } from \"./types\"\nimport { guardColor } from \"./index\"\n\nexport default async ({ to, from, next, store, router }: middlewareContext): Promise => {\n\tif (store.state.config.loggerMiddleware) console.log(\"%c[OIDC]\", guardColor.info)\n\n\tconst hasAccess = await store.dispatch(\"oidcStore/oidcCheckAccess\", to);\n\tif (!hasAccess) {\n\t\tif (store.state.config.loggerMiddleware) console.log(`%c[OIDC - NOT AUTHENTICATED]`, guardColor.error)\n\t} else {\n\t\tnext()\n\t}\n}\n","import { middlewareContext } from \"./types\"\nimport { guardColor } from \"./index\"\nimport { Store } from \"@/store\"\n\nexport default async ({ to, from, next, store, router }: middlewareContext): Promise => {\n\tif (store.state.config.loggerMiddleware) console.log(\"%c[CONTEXT]\", guardColor.info)\n\n\tlet hasContext = false\n\tif ((store as Store).state.context.selectedCustomer?.id) {\n\t\thasContext = true\n\t}\n\n\tif (!hasContext) {\n\t\tif (store.state.config.loggerMiddleware) console.log(`%c[CONTEXT - NO CONTEXT]`, guardColor.error)\n\t\t// eslint-disable-next-line\n\t\trouter.push({ path: \"/context\" }).catch(() => {})\n\t\treturn\n\t} else {\n\t\tnext()\n\t}\n}","import { middlewareContext } from \"./types\"\nimport { guardColor } from \"./index\"\n\nexport default ({ to, from, next, store, router }: middlewareContext): void => {\n\tif (store.state.config.loggerMiddleware) console.log(`%c[CHECKROUTE]`, guardColor.info)\n\tif (!to.name) {\n\t\tif (store.state.config.loggerMiddleware)\n\t\t\tconsole.log(`%c[CHECKROUTE - PAGE NOT FOUND - EJECT TO HOME]`, guardColor.error)\n\t\t// eslint-disable-next-line\n\t\trouter.push({ path: \"/\" }).catch(() => {})\n\t\treturn\n\t}\n\tnext() // strictly not neccessary since it's the last catch all route\n}\n","import { middlewareContext } from \"./types\"\nimport { guardColor } from \"./index\"\nconst globalPaths: string[] = [\n\t\"/context\",\n\t\"/profile\", \n\t\"/oidc-callback\",\n\t\"/oidc-callback-error\",\n\t\"/oidc-silent-renew\",\n\t\"/logout\",\n]\n\nexport default async ({ to, from, next, store, router }: middlewareContext): Promise => {\n\tif (store.state.config.loggerMiddleware) console.log(\"%c[NAV]\", guardColor.info)\n\n\tconst paths = store.state.nav.allowedPaths.length !== 0 ? globalPaths.concat(store.state.nav.allowedPaths) : globalPaths;\n\n\tif (!paths.includes(to.path)) {\n\t\tif (store.state.config.loggerMiddleware)\n\t\t\tconsole.log(`%c[NAV - ROUTE NOT ALLOWED]`, guardColor.error)\n\t\t// eslint-disable-next-line\n\t\trouter.push({ path: from.path }).catch(() => {})\n\t\treturn;\n\t} else {\n\t\tnext()\n\t}\n}","import { middlewareContext } from \"./types\"\nimport { guardColor } from \"./index\"\nimport Vue from \"vue\"\nimport { UnionItemDefinition } from \"@/types/responses\"\n\nexport default async ({ to, from, next, store, router }: middlewareContext): Promise => {\n\tif (store.state.config.loggerMiddleware) console.log(\"%c[TITLE]\", guardColor.info)\n\n\tconst appTitle = \"Portal\"\n\tconst toRouteName: string = to.name ? to.name : \"\"\n\tlet pageTitle = \"\"\n\tif (toRouteName === \"Context\")\n\t\tpageTitle = \"Context\"\n\tif (toRouteName === \"Home\")\n\t\tpageTitle = \"Home\"\n\n\tconst tryTitle = (item: UnionItemDefinition) => {\n\t\tif (item.subItems.length > 0) {\n\n\t\t\tif (item.moduleName === \"Extensions\") {\n\t\t\t\t\n\t\t\t\tif (toRouteName === \"Extensions\") {\n\t\t\t\t\tpageTitle = item.name\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tconst subHit = item.subItems.find((subItem, subItemIndex) => {\n\t\t\t\t\treturn (subItem.isModule && subItem.moduleName === \"ExtensionItem\" && (parseInt(to.params.extensionItemId) === subItemIndex))\n\t\t\t\t})\n\t\t\t\tif (subHit)\n\t\t\t\t\tpageTitle = subHit.name\n\t\t\t\treturn subHit ? true : false\n\t\t\t} else {\n\t\t\t\tconst subHit = item.subItems.find(subItem => {\n\t\t\t\t\treturn (subItem.isModule && subItem.moduleName === toRouteName)\n\t\t\t\t})\n\t\t\t\tif (subHit) \n\t\t\t\t\tpageTitle = subHit.name\n\t\t\t\treturn subHit ? true : false\n\t\t\t}\n\t\t} else {\n\t\t\tif (item.isModule && item.moduleName === toRouteName) {\n\t\t\t\tpageTitle = item.name\n\t\t\t\treturn true\n\t\t\t} else {\n\t\t\t\treturn false\n\t\t\t}\n\t\t}\n\t}\n\n\tif (store.state.nav.modules && pageTitle === \"\") {\n\t\tstore.state.nav.modules.items.some(item => {\n\t\t\treturn tryTitle(item)\n\t\t})\n\t}\n Vue.nextTick(() => {\n document.title = `${appTitle} | ${pageTitle}`\n });\n\tnext()\n}","import { middlewareContext, middleware } from \"./types\"\nimport oidc from \"./oidc\"\nimport context from \"./context\"\nimport checkroute from \"./checkroute\"\nimport nav from \"./nav\"\nimport title from \"./title\"\n\nexport const guard = {\n\topen: \t\t[oidc, title],\n\tauth: \t\t[oidc, context, nav, title],\n\tcheckroute: [oidc, context, nav, checkroute, title]\n}\n\nexport const guardColor = {\n\theader: \"background: #40E0D0; color: #FFFFFF\",\n\tinfo: \"background: #87CEEB; color: #FFFFFF\",\n\terror: \"background: #FFB6C1; color: #FFFFFF\"\n}\n\nexport function nextFactory(\n\tcontext: middlewareContext,\n\tmiddleware: middleware,\n\tindex: number\n) {\n\tconst subsequentMiddleware = Array.isArray(middleware)\n\t\t? middleware[index]\n\t\t: null\n\tif (!subsequentMiddleware) return context.next\n\n\treturn () => {\n\t\t// Run the default Vue Router `next()` callback first. NO - WHY? - this will triple up with starting renders. Can be seen if adding a beforeRouteEnter in the components..\n\t\t// context.next()\n\t\t// Then run the subsequent Middleware with a new `nextMiddleware()` callback.\n\t\tconst nextMiddleware = nextFactory(\n\t\t\tcontext,\n\t\t\tmiddleware,\n\t\t\tindex + 1\n\t\t)\n\t\tsubsequentMiddleware({ ...context, next: nextMiddleware })\n\t}\n}\n","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('Card',[_c('SubHeader',{attrs:{\"title\":_vm.errorTitle}}),_c('p',{domProps:{\"innerHTML\":_vm._s(_vm.errorMessage)}})],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\nimport Vue from \"vue\"\nexport default Vue.extend({\n\tprops: {\n\t\treload: {\n\t\t\ttype: Function,\n\t\t\trequired: false,\n\t\t},\n\t\terrorMessage: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t\terrorTitle: {\n\t\t\ttype: String,\n\t\t\trequired: false,\n\t\t},\n\t},\n\tmethods: {\n\t\tonReload() {\n\t\t\tthis.reload && this.reload()\n\t\t},\n\t},\n\tcomputed: {\n\t\tcustomerName(): string {\n\t\t\tif (this.$vStore.state.context.selectedCustomer) {\n\t\t\t\treturn this.$vStore.state.context.selectedCustomer.name\n\t\t\t} else {\n\t\t\t\treturn \"none\"\n\t\t\t}\n\t\t},\n\t},\n})\n","import mod from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsyncError.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../node_modules/thread-loader/dist/cjs.js!../../node_modules/babel-loader/lib/index.js!../../node_modules/ts-loader/index.js??ref--14-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsyncError.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./AsyncError.vue?vue&type=template&id=6b9f3b04\"\nimport script from \"./AsyncError.vue?vue&type=script&lang=ts\"\nexport * from \"./AsyncError.vue?vue&type=script&lang=ts\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports","import AsyncError from \"@/components/AsyncError.vue\"\nimport AsyncLoading from \"@/components/AsyncLoading.vue\"\nimport { AsyncComponentPromise, Component } from \"vue/types/options\"\nimport store, { Store } from \"@/store\"\nimport Vue, { VNode } from \"vue\"\nimport { faSpinnerThird } from \"@fortawesome/pro-solid-svg-icons\"\n\nexport const aclWrapper = (componentPromise: AsyncComponentPromise, moduleName: string, preloadedModules?: Array) =>\n\tVue.extend({\n\t\tname: moduleName + \"AclWrapper\",\n\t\tcreated() {\n\t\t\tthis.load()\n\t\t},\n\t\tcomputed: {\n\t\t\tacl(): boolean {\n\t\t\t\treturn this.$vStore.state.acl[moduleName] ? true : false\n\t\t\t},\n\t\t},\n\t\twatch: {\n\t\t\tacl(newPermissions, oldPermissions) {\n\t\t\t\t// always propagate new ACL if ACL flushed\n\t\t\t\tif (newPermissions === false) {\n\t\t\t\t\tthis.component = null // delete the old component to show loading state\n\t\t\t\t\tthis.load()\n\t\t\t\t}\n\t\t\t},\n\t\t},\n\t\tdata(): {\n\t\t\tcomponent: null | Component\n\t\t\terror: boolean\n\t\t\terrorMessage: string\n\t\t\terrorTitle: string\n\t\t} {\n\t\t\treturn {\n\t\t\t\tcomponent: null,\n\t\t\t\terror: false,\n\t\t\t\terrorMessage: \"\",\n\t\t\t\terrorTitle: \"\"\n\t\t\t}\n\t\t},\n\t\tmethods: {\n\t\t\tasync componentImport(componentPromise: AsyncComponentPromise, moduleName: string): Promise {\n\t\t\t\treturn new Promise((resolve, reject) => {\n\t\t\t\t\t(async () => {\n\t\t\t\t\t\ttry {\n\t\t\t\t\t\t\tconst hasPermission = await this.getPermissions(moduleName)\n\t\t\t\t\t\t\tif (!hasPermission) {\n\t\t\t\t\t\t\t\treject(`Access to module \"${moduleName}\" is not allowed`)\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\tif (preloadedModules) {\n\t\t\t\t\t\t\t\tconsole.log('preloading extramodules')\n\t\t\t\t\t\t\t\tawait Promise.all(preloadedModules.map(async (module) => {\n\t\t\t\t\t\t\t\t\tawait this.$vStore.dispatch(\"acl/updateACL\", module)\n\t\t\t\t\t\t\t\t}));\n\t\t\t\t\t\t\t}\n\t\t\t\t\t\t\t(componentPromise(\n\t\t\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\t\t\t(_resolve) => {},\n\t\t\t\t\t\t\t\t// eslint-disable-next-line\n\t\t\t\t\t\t\t\t(_reject) => {}\n\t\t\t\t\t\t\t) as Promise).then((m) => resolve(m))\n\t\t\t\t\t\t} catch (e) {\n\t\t\t\t\t\t\treject(\"Uknown Error fetching permissions: \" + JSON.stringify(e))\n\t\t\t\t\t\t}\n\t\t\t\t\t})()\n\t\t\t\t})\n\t\t\t},\n\t\t\tasync getPermissions(moduleName: string): Promise {\n\t\t\t\t//check if stored\n\t\t\t\tconst hasState =\n\t\t\t\t\t(store as Store).getters[\"acl/getAcl\"][moduleName] &&\n\t\t\t\t\t(store as Store).getters[\"acl/getAcl\"][moduleName].aclDomain &&\n\t\t\t\t\t(store as Store).state.context.selectedCustomer &&\n\t\t\t\t\t(store as Store).getters[\"acl/getAcl\"][moduleName].aclDomain === (store as Store).state.context.selectedCustomer?.id //??\n\t\t\t\tif (hasState) {\n\t\t\t\t\treturn true\n\t\t\t\t}\n\n\t\t\t\tawait this.$vStore.dispatch(\"acl/updateACL\", moduleName)\n\n\t\t\t\t//doublecheck updated state\n\t\t\t\tconst isStored = (store as Store).getters[\"acl/getAcl\"][moduleName]\n\t\t\t\tif (isStored) {\n\t\t\t\t\treturn true\n\t\t\t\t} else {\n\t\t\t\t\treturn false\n\t\t\t\t}\n\t\t\t},\n\t\t\tload(): void {\n\t\t\t\tthis.error = false\n\t\t\t\tthis.componentImport(componentPromise, moduleName)\n\t\t\t\t\t.then((component) => {\n\t\t\t\t\t\tthis.component = component\n\t\t\t\t\t})\n\t\t\t\t\t.catch((reason) => {\n\t\t\t\t\t\tthis.errorTitle = moduleName + \"- NO ACCESS\"\n\t\t\t\t\t\tthis.errorMessage = reason\n\t\t\t\t\t\tthis.error = true\n\t\t\t\t\t})\n\t\t\t},\n\t\t},\n\t\trender(h): VNode {\n\t\t\tif (this.component) {\n\t\t\t\tthis.errorMessage = \"\"\n\t\t\t\treturn h(this.component)\n\t\t\t} else if (this.error) {\n\t\t\t\treturn h(AsyncError, {\n\t\t\t\t\tprops: {\n\t\t\t\t\t\treload: this.load,\n\t\t\t\t\t\terrorMessage: this.errorMessage,\n\t\t\t\t\t\terrorTitle: this.errorTitle\n\t\t\t\t\t},\n\t\t\t\t})\n\t\t\t} else {\n\t\t\t\tthis.errorMessage = \"\"\n\t\t\t\tthis.errorTitle = \"\"\n\t\t\t\treturn h(AsyncLoading)\n\t\t\t}\n\t\t},\n\t})\n","import Vue from \"vue\"\nimport VueRouter, { RouteConfig } from \"vue-router\"\nimport store, { Store } from \"@/store\"\nimport { nextFactory, guard, guardColor } from \"./middleware\"\nimport { middlewareContext, middleware } from \"@/router/middleware/types\"\nimport { aclWrapper } from \"@/utilities/aclWrapper\"\n\nconst Home = () => import(\"@/views/Home.vue\")\nconst Context = () => import(\"@/views/Context.vue\")\n/*\nconst GenericWrapper = () => import(\"@/views/GenericWrapper.vue\")\nconst PogPaySlips = () => import(\"@/components/powerofficego/PogPaySlips.vue\").then(m => m.default || m)\nconst PogFileArchive = () => import(\"@/components/powerofficego/PogFileArchive.vue\").then(m => m.default || m)\nconst SignantWhitelabelSigning = () => import(\"@/components/documentsigning/SignantWhitelabelSigning.vue\").then(m => m.default || m)\nconst SignyfySigning = () => import(\"@/components/documentsigning/SignifySigning.vue\").then(m => m.default || m)\n*/\nconst GenericWrapper = () => import(\"@/views/GenericWrapper.vue\")\n\nconst PogPaySlips = () => import(\"@/components/powerofficego/PogPaySlips.vue\").then(m => m.default || m)\nconst PogFileArchive = () => import(\"@/components/powerofficego/PogFileArchive.vue\").then(m => m.default || m)\n\nconst Customer = () => import(\"@/views/Customer.vue\").then(m => m.default || m)\nconst PersonClients = () => import(\"@/views/PersonClients.vue\").then(m => m.default || m)\n\nconst Organization = () => import(\"@/views/Organization.vue\").then(m => m.default || m)\nconst ClientInfo = () => import(\"@/views/ClientInfo.vue\").then(m => m.default || m)\nconst Extensions = () => import(\"@/views/Extensions.vue\").then(m => m.default || m)\nconst ExtensionItem = () => import(\"@/views/ExtensionItem.vue\").then(m => m.default || m)\n//const Profile = () => import(\"@/views/Profile.vue\")\nconst LinkCollection = () => import(\"@/views/LinkCollection.vue\").then(m => m.default || m)\n\nconst OidcCallback = () => import(\"@/components/OidcCallback.vue\")\nconst OidcCallbackError = () => import(\"@/components/OidcCallbackError.vue\")\nconst OidcCallbackSilentRenew = () => import(\"@/components/OidcCallbackSilentRenew.vue\")\nconst Logout = () => import(\"@/views/Logout.vue\")\n\n\nconst AccountOverview = () => import(\"@/views/AccountView.vue\").then(m => m.default || m)\nconst AccountRemove = () => import(\"@/views/AccountRemove.vue\").then(m => m.default || m)\n\nconst GenericView = () => import(\"@/views/GenericView.vue\").then(m => m.default || m)\nconst Registrations = () => import(\"@/views/Registrations.vue\").then(m => m.default || m)\nconst Invitation = () => import(\"@/views/Invitation.vue\").then(m => m.default || m)\n\nconst ManageTenants = () => import(\"@/views/ManageTenants.vue\").then(m => m.default || m)\nVue.use(VueRouter)\n\nconst routes: Array = [\n\t{\n\t\tpath: \"/\",\n\t\tname: \"Home\",\n\t\tcomponent: Home,\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t},\n\t},\n\t{\n\t\tpath: \"/context\",\n\t\tname: \"Context\",\n\t\tcomponent: Context,\n\t\tmeta: {\n\t\t\tmiddleware: guard.open,\n\t\t\tmiddlewareName: \"CONTEXT\",\n\t\t},\n\t},\n {\n path: \"/tenant\",\n name: \"Manage Organizations\",\n component: ManageTenants,\n meta: {\n middleware: guard.open,\n middlewareName: \"CONTEXT\",\n featureFlag: \"manage-tenants\"\n },\n },\n\t{\n\t\tpath: \"/manageaccount\",\n\t\tname: \"Manage Account\",\n\t\tcomponent: GenericView, // Change to generic view\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n {\n\t\t\n\t\tpath: \"/manageaccount/remove\",\n\t\tname: \"Remove Account\",\n\t\tcomponent: AccountRemove,\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n\t{\n\t\t\n\t\tpath: \"/manageaccount/overview\",\n\t\tname: \"Account Overview\",\n\t\tcomponent: AccountOverview,\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n {\n\t\tpath: \"/invitations\",\n\t\tname: \"Invitations\",\n\t\tcomponent: GenericView, // Change to generic view\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n {\n\t\tpath: \"/invitations/provision\",\n\t\tname: \"Invitation\",\n\t\tcomponent: aclWrapper(Invitation, \"Invitation\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n {\n\t\tpath: \"/invitations/linkonboarding\",\n\t\tname: \"Registrations\",\n\t\tcomponent: aclWrapper(Registrations, \"Customer\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n\n/* \t{\n\t\tpath: \"/invitation\",\n\t\tname: \"Invitation\",\n\t\tcomponent: aclWrapper(Invitation, \"Invitation\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t}, */\n\t{\n\t\tpath: \"/customer\",\n\t\tname: \"Customer\",\n\t\tcomponent: aclWrapper(Customer, \"Customer\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t}\n\t},\n\t{\n\t\tpath: \"/clientorganization\",\n\t\tname: \"ClientOrganization\",\n\t\tcomponent: aclWrapper(PersonClients, \"ClientOrganization\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\"\n\t\t}\n\t},\n\t{\n\t\tpath: \"/organization\",\n\t\tname: \"Organization\",\n\t\tcomponent: aclWrapper(Organization, \"Organization\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\"\n\t\t}\n\t},\n\t{\n\t\tpath: \"/clientinfo\",\n\t\tname: \"ClientInfo\",\n\t\tcomponent: aclWrapper(ClientInfo, \"ClientInfo\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\"\n\t\t}\n\t},\n\t/*\n\tThese will probably be root router components when enabled in Extensions (and then dissappaer in Extensions because it's activated)\n\t{\n\t\tpath: 'pogpayslips',\n\t\tname: \"PogPaySlips\",\n\t\tcomponent: aclWrapper(PogPaySlips, \"PogPaySlips\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t},\n\t},\n\t{\n\t\tpath: 'pogfilearchive',\n\t\tname: \"PogFileArchive\",\n\t\tcomponent: aclWrapper(PogFileArchive, \"PogFileArchive\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t},\n\t},\n\t{\n\t\tpath: 'signantwhitelabelsigning',\n\t\tname: \"SignantWhitelabelSigning\",\n\t\tcomponent: aclWrapper(SignantWhitelabelSigning, \"SignantWhiteLabelSigning\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t},\n\t},\n\t{\n\t\tpath: 'signifysigning',\n\t\tname: \"SignyfySigning\",\n\t\tcomponent: aclWrapper(SignyfySigning, \"SignifySigning\"),\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t},\n\t},\n\t\n\t{\n\t\tpath: \"/extensions\",\n\t\tname: \"Extensions\",\n\t\tcomponent: Extensions,\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n\t{\n\t\t\n\t\tpath: \"/extensions/:extensionItemId\",\n\t\tname: \"ExtensionItem\",\n\t\tcomponent: ExtensionItem,\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n */\n\t{\n\t\tpath: \"/securitybundle\",\n\t\tname: \"Security Bundle\",\n\t\tcomponent: LinkCollection,\n\t\tmeta: {\n\t\t\tmiddleware: guard.auth,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t}\n\t},\n\t/*\n\t{\n\t\tpath: \"/profile\",\n\t\tname: \"Profile\",\n\t\tcomponent: Profile,\n\t\tmeta: {\n\t\t\tmiddleware: guard.open,\n\t\t\tmiddlewareName: \"AUTH\",\n\t\t},\n\t},\n\t*/\n\t{\n\t\tpath: \"/oidc-callback\", // Needs to match redirect_uri in your oidcSettings\n\t\tname: \"OidcCallback\",\n\t\tcomponent: OidcCallback,\n\t\tmeta: {\n\t\t\tisOidcCallback: true,\n\t\t\tisPublic: true,\n\t\t},\n\t},\n\t{\n\t\tpath: \"/oidc-callback-error\", // Needs to match redirect_uri in you oidcSettings\n\t\tname: \"OidcCallbackError\",\n\t\tcomponent: OidcCallbackError,\n\t\tmeta: {\n\t\t\tisPublic: true,\n\t\t},\n\t},\n\t{\n\t\tpath: \"/oidc-silent-renew\", // Needs to match redirect_uri in you oidcSettings\n\t\tname: \"OidcCallbackSilentRenew\",\n\t\tcomponent: OidcCallbackSilentRenew,\n\t\tmeta: {\n\t\t\tisPublic: true,\n\t\t},\n\t},\n\t{\n\t\tpath: \"/logout\",\n\t\tname: \"Logout\",\n\t\tcomponent: Logout\n\t},\n\t{\n\t\tpath: \"*\",\n\t\tmeta: {\n\t\t\tmiddleware: guard.checkroute,\n\t\t\tmiddlewareName: \"404\",\n\t\t},\n\t},\n]\n\nconst router = new VueRouter({\n\troutes,\n\tmode: \"history\"\n})\n\n/* Apply middleware guards */\nrouter.beforeEach(async (to, from, next) => {\n\tif (to.meta && to.meta.middleware) {\n\t\tif ((store as Store).state.config.loggerMiddleware && to.meta.middlewareName && typeof to.meta.middlewareName === \"string\") console.log(`%c[***** MIDDLEWARE ${to.meta.middlewareName} *****]`, guardColor.header)\n\t\tconst middleware = Array.isArray(to.meta.middleware) ? to.meta.middleware : [to.meta.middleware]\n\t\tconst context: middlewareContext = {\n\t\t\tto,\n\t\t\tfrom,\n\t\t\tnext,\n\t\t\tstore: store as Store,\n\t\t\trouter,\n\t\t}\n\t\tconst nextMiddleware = nextFactory(context, ((middleware as unknown) as middleware\n\t\t), 1)\n\t\treturn middleware[0]({ ...context, next: nextMiddleware })\n\t}\n\n\treturn next()\n})\n\nexport default router\n","/* Font Awesome with tree-shaking\n *\n * 1. Import needed Icon (Regular/outlined, Solid, Brand etc..)\n * 2. Add imported Icon to library\n */\n\nimport Vue from \"vue\"\nimport { library } from \"@fortawesome/fontawesome-svg-core\"\nimport { IconsOptions } from \"vuetify/types/services/icons\"\nimport { FontAwesomeIcon, FontAwesomeLayers, FontAwesomeLayersText } from \"@fortawesome/vue-fontawesome\"\n\nVue.component(\"fa\", FontAwesomeIcon)\nVue.component(\"font-awesome-icon\", FontAwesomeIcon)\nVue.component(\"fa-layers\", FontAwesomeLayers)\nVue.component(\"fa-layers-text\", FontAwesomeLayersText)\n\n/*********\n *** 1 ***\n ********/\n\n// Solid icons\nimport { faDotCircle, faCheckCircle, faCircle, faCog, faEye, faEyeSlash } from \"@fortawesome/pro-solid-svg-icons\"\n\n// Override Vuetify's hardcoded prefix for radio buttons\nfaDotCircle.prefix = \"far\"\nfaCheckCircle.prefix = \"far\"\nfaCircle.prefix = \"far\"\nfaCog.prefix = \"fas\"\nfaEye.prefix = \"fas\"\nfaEyeSlash.prefix = \"fas\"\n\n// PRO light icons overrided as FAR\nimport {\n\tfaSquare,\n} from \"@fortawesome/pro-light-svg-icons\"\n// Override Vuetify's hardcoded prefix\nfaSquare.prefix = \"far\"\n\n// PRO light icons\nimport {\n\tfaRetweet,\n\tfaFile,\n\tfaList,\n\tfaFileSignature,\n\tfaSignOut,\n\tfaUser,\n\tfaUserClock,\n\tfaUserTimes,\n\tfaShield,\n\tfaShieldAlt,\n\tfaUserShield,\n\tfaUserCheck,\n faUserPlus,\n\tfaUserFriends,\n\tfaUserEdit,\n\tfaUsers,\n\tfaUsersCog,\n\tfaChevronDown,\n\tfaChevronUp,\n\tfaExchangeAlt,\n\tfaPen,\n\tfaHome,\n\tfaLockOpen,\n\tfaExclamation,\n\tfaExclamationTriangle,\n\tfaCaretLeft,\n\tfaCaretRight,\n\tfaCaretDown,\n\tfaCaretUp,\n\tfaSortUp,\n\tfaSortDown,\n\tfaCopy,\n\tfaChevronLeft,\n\tfaChevronRight,\n\tfaCheckSquare,\n\tfaCircleNotch,\n\tfaPaperclip,\n\tfaSearch,\n\tfaBars,\n\tfaPlus,\n\tfaCloudDownloadAlt,\n\tfaCloudUploadAlt,\n\tfaShare,\n\tfaEnvelope,\n\tfaCheck,\n\tfaCamera,\n\tfaTimes,\n\tfaTimesCircle,\n\tfaHandPointLeft,\n\tfaQuestionCircle,\n\tfaSync,\n\tfaInfoCircle\n} from \"@fortawesome/pro-light-svg-icons\"\n\n// Vuetify always expect \"fas\" (Free Font Solid Awesome), but use Pro fonts \"fal\" as \"fas\"\nfaRetweet.prefix = \"fas\"\nfaFile.prefix = \"fas\"\nfaList.prefix = \"fas\"\nfaFileSignature.prefix = \"fas\"\nfaSignOut.prefix = \"fas\"\nfaUser.prefix = \"fas\"\nfaHome.prefix = \"fas\"\nfaLockOpen.prefix = \"fas\"\nfaExclamation.prefix = \"fas\"\nfaExclamationTriangle.prefix = \"fas\"\nfaUserClock.prefix = \"fas\"\nfaUserTimes.prefix =\"fas\"\nfaShieldAlt.prefix = \"fas\"\nfaShield.prefix = \"fas\"\nfaUserShield.prefix = \"fas\"\nfaUserPlus.prefix = \"fas\"\nfaUserCheck.prefix = \"fas\"\nfaUserFriends.prefix = \"fas\"\nfaUserEdit.prefix = \"fas\"\nfaUsers.prefix = \"fas\"\nfaUsersCog.prefix = \"fas\"\nfaChevronDown.prefix =\"fas\"\nfaChevronUp.prefix = \"fas\"\nfaExchangeAlt.prefix = \"fas\"\nfaPen.prefix = \"fas\"\nfaCaretLeft.prefix = \"fas\"\nfaCaretRight.prefix = \"fas\"\nfaCaretDown.prefix = \"fas\"\nfaCaretUp.prefix = \"fas\"\nfaSortUp.prefix = \"fas\"\nfaSortDown.prefix = \"fas\"\nfaCopy.prefix = \"fas\"\nfaChevronLeft.prefix = \"fas\"\nfaChevronRight.prefix = \"fas\"\nfaCheckSquare.prefix = \"fas\"\nfaCircleNotch.prefix = \"fas\"\nfaCheckCircle.prefix = \"fas\"\nfaPaperclip.prefix = \"fas\"\nfaSearch.prefix = \"fas\"\nfaBars.prefix = \"fas\"\nfaPlus.prefix = \"fas\"\nfaCloudDownloadAlt.prefix = \"fas\"\nfaCloudUploadAlt.prefix = \"fas\"\nfaShare.prefix = \"fas\"\nfaEnvelope.prefix = \"fas\"\nfaCheck.prefix = \"fas\"\nfaCamera.prefix = \"fas\"\nfaTimes.prefix = \"fas\"\nfaTimesCircle.prefix = \"fas\"\nfaHandPointLeft.prefix = \"fas\"\nfaQuestionCircle.prefix = \"fas\"\nfaSync.prefix = \"fas\"\nfaUserShield.prefix = \"fas\"\nfaInfoCircle.prefix = \"fas\"\n\n/*********\n *** 2 ***\n ********/\nlibrary.add(\n\t// Solid icons\n\tfaDotCircle,\n\tfaCheckCircle,\n\tfaCircle,\n\tfaCog,\n\n\t// PRO override vuetify FAR\n\tfaSquare,\n\tfaShieldAlt,\n\n\t// PRO light/outlined icons\n\tfaRetweet,\n\tfaFile,\n\tfaList,\n\tfaFileSignature,\n\tfaSignOut,\n\tfaUser,\n\tfaUserClock,\n\tfaUserTimes,\n\tfaShield,\n\tfaUserShield,\n faUserPlus,\n\tfaUserCheck,\n\tfaUserFriends,\n\tfaUserEdit,\n\tfaUsers,\n\tfaUsersCog,\n\tfaChevronDown,\n\tfaChevronUp,\n\tfaExchangeAlt,\n\tfaPen,\n\tfaHome,\n\tfaLockOpen,\n\tfaExclamation,\n\tfaExclamationTriangle,\n\tfaCaretLeft,\n\tfaCaretRight,\n\tfaCaretDown,\n\tfaCaretUp,\n\tfaSortUp,\n\tfaSortDown,\n\tfaCopy,\n\tfaEye,\n\tfaEyeSlash,\n\tfaChevronLeft,\n\tfaChevronRight,\n\tfaCheckSquare,\n\tfaCircleNotch,\n\tfaPaperclip,\n\tfaSearch,\n\tfaBars,\n\tfaPlus,\n\tfaCloudDownloadAlt,\n\tfaCloudUploadAlt,\n\tfaShare,\n\tfaEnvelope,\n\tfaCheck,\n\tfaCamera,\n\tfaTimes,\n\tfaTimesCircle,\n\tfaHandPointLeft,\n\tfaQuestionCircle,\n\tfaSync,\n\tfaInfoCircle\n)\n\n/* For Append-Icons etc - replace custom icons */\n/*\nconst CUSTOM_ICONS = {\n test: {\n component: FontAwesomeIcon,\n props: {\n icon: ['fas', 'eye']\n }\n },\n};\n*/\n\nconst FontAwesomeIcons: IconsOptions = {\n\ticonfont: \"faSvg\",\n}\n\nexport { FontAwesomeIcons }\n","import Vue from \"vue\";\nimport Vuetify from \"vuetify/lib/framework\";\nimport no from \"vuetify/src/locale/no\";\nimport { UserVuetifyPreset } from \"vuetify/types\"\nimport { FontAwesomeIcons } from \"./fontawesome\"\nVue.use(Vuetify);\n\nconst vuetifyOptions: UserVuetifyPreset = {\n /*\n\tlang: {\n locales: { no },\n current: 'no',\n },\n\t*/\n theme: {\n themes: {\n light: {\n\t\t\t\tlighttouch: \"#f5f5f5\",\n primary: \"#73bf45\",\n secondary: \"#dedede\",\n accent: \"#dedede\",\n error: \"#FF5252\",\n info: \"#2196F3\",\n highlight: \"#6698c8\",\n success: \"#73bf45\",\n warning: \"#FFC107\",\n\t\t\t\tdark: \"#231f20\"\n }\n }\n },\n customProperties: true,\n icons: FontAwesomeIcons\n};\n\nexport default new Vuetify(vuetifyOptions);","import { AxiosError, AxiosRequestConfig } from \"axios\"\nimport axios from \"axios\"\nimport router from \"@/router\"\nimport store, { Store } from \"@/store\"\n// TBD: import some notifier/modal/sweetalert or similar\n\n// Request interceptor\n// This is defined in provisioningClient.ts\n/*\naxios.interceptors.request.use(request => {\n\tconst token = (store as Store).state.oidcStore.access_token\n\tif (token) {\n\t\trequest.headers.common['Authorization'] = `Bearer ${token}`\n\t}\n\treturn request\n})\n*/\n\n// Global Error Response Logger interceptor\naxios.interceptors.response.use(\n\t(response) => response,\n\t(error: AxiosError) => {\n\t\tif (!error.response) {\n\t\t\tconsole.error(\"SERVER ERROR! No response\")\n\t\t\treturn\n\t\t}\n\n\t\tconst { status } = error.response\n\t\tconst { data } = error.response\n\t\tconst { code } = error\n\n\t\tif (status === 404) {\n\t\t\tconsole.error(\"NOT FOUND! Code: \" + code, data)\n\t\t}\n\n\t\tif (status === 429) {\n\t\t\tconsole.error(\"TOO MANY REQUESTS! Code: \" + code, data)\n\t\t}\n\n\t\tif (status >= 500) {\n\t\t\tconsole.error(\"SERVER ERROR! Code: \" + code, data)\n\t\t}\n\n\t\tif (status === 401) {\n\t\t\tconsole.error(\"NOT AUTHENTICATED! Code: \" + code, data)\n\t\t\t//router.push({ name: \"Logout\" })\n\t\t}\n\n\t\tif (status === 400) {\n\t\t\tconsole.error(\"BAD REQUEST! Code: \" + code, data)\n\t\t}\n\n\t\treturn Promise.reject(error)\n\t}\n)\n","import Vue from \"vue\"\nimport { upperFirst, camelCase } from \"lodash\"\n\n// Load global components dynamically\nconst requireContext = require.context(\"./\", false, /.*\\.vue$/)\nrequireContext.keys().forEach((file) => {\n\tconst componentConfig = requireContext(file)\n\n\tconst f: string[] = file.split(\"/\")\n\tconst fName: string = f.pop() as string\n\tconst componentName = upperFirst(\n\t\tcamelCase(\n\t\t\t// Gets the file name regardless of folder depth\n\t\t\tfName.replace(/\\.\\w+$/, \"\")\n\t\t)\n\t)\n\n\tif (componentName) {\n\t\t// Register component globally\n\t\tVue.component(\n\t\t\tcomponentName,\n\t\t\t// Look for the component options on `.default`, which will\n\t\t\t// exist if the component was exported with `export default`,\n\t\t\t// otherwise fall back to module's root.\n\t\t\tcomponentConfig.default || componentConfig\n\t\t)\n\t}\n})\n","import { LocaleMessages } from \"vue-i18n\"\n\nexport function loadLocaleMessages(): LocaleMessages {\n\tconst locales = require.context(\"../lang\", true, /[A-Za-z0-9-_,\\s]+\\.json$/i)\n\tconst messages: LocaleMessages = {}\n\tlocales.keys().forEach((key) => {\n\t\tconst matched = key.match(/([A-Za-z0-9-_]+)\\./i)\n\t\tif (matched && matched.length > 1) {\n\t\t\tconst locale = matched[1]\n\t\t\tmessages[locale] = locales(key)\n\t\t}\n\t})\n\treturn messages\n}","import Vue from \"vue\"\nimport VueCookies from 'vue-cookies';\nVue.use(VueCookies);\nimport App from \"./App.vue\"\n//import \"./registerServiceWorker\"\n//remove \"register-service-worker\": \"^1.7.1\"\nimport router from \"./router\"\nimport store, { Store } from \"./store\"\nimport \"./assets/css/styles.scss\"\nimport vuetify from \"./plugins/vuetify\"\nimport \"@/plugins\"\nimport \"./components/global\"\nimport { vuexOidcCreateStoreModule, VuexOidcErrorPayload, VuexOidcStoreListeners } from \"vuex-oidc\"\nimport { Config } from \"@/types/config\"\nimport { createLogger } from \"vuex\"\n// eslint-disable-next-line @typescript-eslint/ban-ts-ignore\n//@ts-ignore\nimport VueTelInputVuetify from 'vue-tel-input-vuetify/lib';\nVue.use(VueTelInputVuetify, { vuetify });\nVue.config.devtools = process.env.NODE_ENV === \"development\" ? true : false\nVue.config.productionTip = false\nimport VueI18n from \"vue-i18n\"\nVue.use(VueI18n)\nimport { loadLocaleMessages } from \"./plugins/i18n\"\nimport { VerjiGrowthBook } from \"./utilities/growthbook\";\nexport const i18n = new VueI18n({\n\tlocale: \"en\",\n\tfallbackLocale: \"en\",\n\tmessages: loadLocaleMessages(),\n})\n\nfetch(process.env.BASE_URL + \"config.json\").then((response) => {\n\tresponse.json().then(async (config: Config) => {\n\t\tVue.prototype.$config = config;\n\t\t(store as Store).dispatch(\"config/updateConfig\", config);\n\n\t\tconst oidcSettings = {\n\t\t\tauthority: config.authority,\n\t\t\tclientId: config.clientId,\n\t\t\tredirectUri: config.redirectUri,\n\t\t\tresponseType: config.responseType,\n\t\t\tscope: config.scope,\n\t\t\tsilentRedirectUri: config.silentRedirectUri,\n\t\t\tautomaticSilentRenew: config.automaticSilentRenew,\n\t\t\tautomaticSilentSignin: config.automaticSilentSignin,\n\t\t}\n\t\tconst oidcListeners: VuexOidcStoreListeners | undefined = config.loggerOidc\n\t\t\t? {\n\t\t\t\t\tuserLoaded: (user) => {\n\t\t\t\t\t\tconsole.log(\"OIDC user is loaded\", user);\n VerjiGrowthBook.getInstance().setGrowthBookUser(user?.profile?.sub ?? \"\")\n\t\t\t\t\t},\n\t\t\t\t\tuserUnloaded: () => console.log(\"OIDC user is unloaded\"),\n\t\t\t\t\taccessTokenExpiring: () => console.log(\"Access token will expire\"),\n\t\t\t\t\taccessTokenExpired: () => console.log(\"Access token did expire\"),\n\t\t\t\t\tsilentRenewError: () => console.log(\"OIDC user is unloaded - could not renew\"),\n\t\t\t\t\tuserSignedOut: () => console.log(\"OIDC user is signed out\"),\n\t\t\t\t\toidcError: (payload) => console.log(`An error occured at ${(payload as VuexOidcErrorPayload).context}:`, (payload as VuexOidcErrorPayload).error),\n\t\t\t}\n\t\t\t: {\n\t\t\t\tuserLoaded: (user) => {\n\t\t\t\t\tconsole.log(\"OIDC user is loaded\", user);\n VerjiGrowthBook.getInstance().setGrowthBookUser(user?.profile?.sub ?? \"\")\n\t\t\t\t}\n\t\t\t}\n\t\tstore.registerModule(\n\t\t\t\"oidcStore\",\n\t\t\tvuexOidcCreateStoreModule(\n\t\t\t\toidcSettings,\n\t\t\t\t{\n\t\t\t\t\tnamespaced: true,\n\t\t\t\t\tdispatchEventsOnWindow: true,\n\t\t\t\t},\n\t\t\t\toidcListeners\n\t\t\t)\n\t\t)\n\n\t\tif (Vue.prototype.$config.loggerVuex) {\n\t\t\tconst logger = createLogger({\n\t\t\t\tcollapsed: false,\n\t\t\t\tlogMutations: true,\n\t\t\t\tlogActions: false,\n\t\t\t})\n\t\t\tlogger(store)\n\t\t}\n\n // Create VerjiGrowthbook and load feature flags\n await VerjiGrowthBook.getInstance().loadFeatures({ autoRefresh: true }).catch((e: unknown) => {console.error(\"Something went wrong fetching the featureflag values...\", e); return false});\n \n\t\tnew Vue({\n\t\t\trouter,\n\t\t\tstore,\n\t\t\ti18n,\n\t\t\tvuetify,\n\t\t\trender: (h) => h(App),\n\t\t}).$mount(\"#app\")\n\t})\n})\n\n\n","var render = function render(){var _vm=this,_c=_vm._self._c;return _vm._m(0)\n}\nvar staticRenderFns = [function (){var _vm=this,_c=_vm._self._c;return _c('div',{staticClass:\"card\"},[_c('div',{staticClass:\"wrapper fade-transition\"},[_c('div',{staticClass:\"comment br animate\"})])])\n}]\n\nexport { render, staticRenderFns }","import { render, staticRenderFns } from \"./AsyncLoading.vue?vue&type=template&id=6df96c84&scoped=true\"\nvar script = {}\nimport style0 from \"./AsyncLoading.vue?vue&type=style&index=0&id=6df96c84&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"6df96c84\",\n null\n \n)\n\nexport default component.exports","var render = function render(){var _vm=this,_c=_vm._self._c,_setup=_vm._self._setupProxy;return _c('v-app-bar',{attrs:{\"app\":\"\",\"color\":\"secondary\",\"dense\":\"\",\"elevation\":\"0\",\"clipped-left\":\"\"}},[_c('v-row',{staticClass:\"justify-flex-end\"},[_c('div',{staticClass:\"align-self-center\"},[_c('v-tooltip',{attrs:{\"right\":\"\"},scopedSlots:_vm._u([{key:\"activator\",fn:function({ on, attrs }){return [_c('span',{staticClass:\"handhover\",on:{\"click\":function($event){_vm.$router.push('/').catch(() => {})}}},[_c('v-img',_vm._g(_vm._b({staticClass:\"shrink ml-1\",attrs:{\"alt\":\"Vuetify Logo\",\"contain\":\"\",\"src\":_vm.logo(),\"transition\":\"scale-transition\",\"width\":_vm.logoWidth()}},'v-img',attrs,false),on))],1)]}}])},[_c('span',[_vm._v(\"Home\")])])],1),_c('div',{staticClass:\"mr-auto\"}),_c('div',{staticClass:\"align-self-center mr-2\"},[_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\",\"color\":\"dark\"},on:{\"click\":_vm.supportRedirect}},[_c('fa',{attrs:{\"icon\":\"question-circle\",\"size\":\"2x\"}})],1)],1),_c('div',{staticClass:\"mr-1 align-self-center\"},[_c('user-menu',{staticClass:\"mr-2\"}),(_vm.hasContext && _vm.$vuetify.breakpoint.xsOnly)?_c('v-btn',{attrs:{\"small\":\"\",\"icon\":\"\",\"color\":\"dark\"},on:{\"click\":function($event){_vm.$vStore.dispatch('nav/toggleNav', !_vm.$vStore.state.nav.isOpen)\n\t\t\t\t\t_vm.$vStore.dispatch('nav/toggleNavMini', false)}}},[_c('fa',{attrs:{\"icon\":\"bars\",\"size\":\"2x\"}})],1):_vm._e()],1)])],1)\n}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","export const toggleWidget = () => {\n const iframe = document.getElementById('widget-frame');\n if (iframe) {\n window.FreshworksWidget('close');\n } else {\n window.FreshworksWidget('open');\n }\n}\n\nconst init = () => {\n window.fwSettings={\n 'widget_id': 80000005404,\n 'locale': 'en'\n };\n \n\tconst anonFunc = () => {\n\t\tif(typeof window.FreshworksWidget !== \"function\" ) {\n\t\t\t// eslint-disable-next-line\n const n = function() { (n as any).q.push(arguments)};\n\t\t\t// eslint-disable-next-line\n\t\t\t(n as any).q=[],window.FreshworksWidget=n\n }\n\t}\n\n if (anonFunc)\n\t\tanonFunc()\n\n window.FreshworksWidget('hide', 'launcher');\n}\n\ninit();","\nimport Vue from \"vue\"\nimport { toggleWidget } from \"@/scripts/freshworks\"\nconst UserMenu = () => import(\"@/components/profile/UserMenu.vue\")\nexport default Vue.extend({\n\tname: \"NavBar\",\n\tcomponents: {\n\t\tUserMenu,\n\t},\n\tcomputed: {\n\t\thasContext(): boolean {\n\t\t\treturn this.$vStore.state.context.selectedCustomer !== null\n\t\t},\n\t},\n\tmethods: {\n\t\tlogo(): void {\n\t\t\tif (!this.$vuetify.breakpoint.xsOnly) {\n\t\t\t\treturn require(\"@/assets/verji/verji_connections_logo_long.svg\")\n\t\t\t} else {\n\t\t\t\treturn require(\"@/assets/verji/verji.svg\")\n\t\t\t}\n\t\t},\n\t\tlogoWidth(): number {\n\t\t\treturn !this.$vuetify.breakpoint.xsOnly ? 160 : 70\n\t\t},\n\t\tsupportRedirect(): void {\n\t\t\ttoggleWidget();\n\t\t}\n\t},\n})\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--14-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/babel-loader/lib/index.js!../../../node_modules/ts-loader/index.js??ref--14-3!../../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./NavBar.vue?vue&type=script&lang=ts\"","import { render, staticRenderFns } from \"./NavBar.vue?vue&type=template&id=38bb13dd&scoped=true\"\nimport script from \"./NavBar.vue?vue&type=script&lang=ts\"\nexport * from \"./NavBar.vue?vue&type=script&lang=ts\"\nimport style0 from \"./NavBar.vue?vue&type=style&index=0&id=38bb13dd&prod&lang=scss&scoped=true\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n \"38bb13dd\",\n null\n \n)\n\nexport default component.exports","export * from \"-!../../node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/vue-loader/lib/loaders/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/vue-loader/lib/index.js??vue-loader-options!./AsyncLoading.vue?vue&type=style&index=0&id=6df96c84&prod&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/picto_5.3c9e8c05.svg\";"],"sourceRoot":""}