{"version":3,"sources":["webpack:///$_lazy_route_resource lazy namespace object","webpack:///node_modules/moment/locale sync ^\\.\\/.*$","webpack:///src/app/app-routing.module.ts","webpack:///src/app/app.component.html","webpack:///src/app/app.component.ts","webpack:///src/app/app.module.ts","webpack:///src/app/change-password/change-password.component.html","webpack:///src/app/change-password/change-password.component.ts","webpack:///src/app/components/dropdown-menu/dropdown-menu.component.html","webpack:///src/app/components/dropdown-menu/dropdown-menu.component.ts","webpack:///src/app/components/header-customer/header-customer.component.html","webpack:///src/app/components/header-customer/header-customer.component.ts","webpack:///src/app/components/header/header.component.html","webpack:///src/app/components/header/header.component.ts","webpack:///src/app/components/page-not-found/page-not-found.component.html","webpack:///src/app/components/page-not-found/page-not-found.component.ts","webpack:///src/app/directive/sort.directive.ts","webpack:///src/app/forgot-migration-client-password/forgot-migration-client-password.component.html","webpack:///src/app/forgot-migration-client-password/forgot-migration-client-password.component.ts","webpack:///src/app/forgot-password/forgot-password.component.html","webpack:///src/app/forgot-password/forgot-password.component.ts","webpack:///src/app/guard/authentication.guard.ts","webpack:///src/app/inception-custom-web-page/inception-custom-web-page.component.html","webpack:///src/app/inception-custom-web-page/inception-custom-web-page.component.ts","webpack:///src/app/inception/company/company-manage/company-manage.component.html","webpack:///src/app/inception/company/company-manage/company-manage.component.ts","webpack:///src/app/inception/company/company.component.html","webpack:///src/app/inception/company/company.component.ts","webpack:///src/app/login/login.component.html","webpack:///src/app/login/login.component.ts","webpack:///src/app/models/request/cabinet-request.ts","webpack:///src/app/models/request/company-request.ts","webpack:///src/app/models/request/document-type-document-request.ts","webpack:///src/app/models/request/docuware-master-request.ts","webpack:///src/app/models/request/metadata-search-request.ts","webpack:///src/app/models/request/migration-client-request.ts","webpack:///src/app/models/request/test-docuware-connection-model.ts","webpack:///src/app/models/request/userInfo-request.ts","webpack:///src/app/models/response/access-token-response.ts","webpack:///src/app/models/response/company-response.ts","webpack:///src/app/models/response/document-type-document-response.ts","webpack:///src/app/models/response/document-type-response.ts","webpack:///src/app/models/response/forgot-password.ts","webpack:///src/app/models/response/migration-client-response.ts","webpack:///src/app/my-profile/my-profile.component.html","webpack:///src/app/my-profile/my-profile.component.ts","webpack:///src/app/new-workflow-design/configuration/configuration-routing.module.ts","webpack:///src/app/new-workflow-design/configuration/configuration.component.html","webpack:///src/app/new-workflow-design/configuration/configuration.component.ts","webpack:///src/app/new-workflow-design/configuration/configuration.module.ts","webpack:///src/app/new-workflow-design/migration-client/manage-migration-client/manage-migration-client.component.html","webpack:///src/app/new-workflow-design/migration-client/manage-migration-client/manage-migration-client.component.ts","webpack:///src/app/new-workflow-design/migration-client/migration-client.component.html","webpack:///src/app/new-workflow-design/migration-client/migration-client.component.ts","webpack:///src/app/reset-migration-client-password/reset-migration-client-password.component.html","webpack:///src/app/reset-migration-client-password/reset-migration-client-password.component.ts","webpack:///src/app/reset-password/reset-password.component.html","webpack:///src/app/reset-password/reset-password.component.ts","webpack:///src/app/services/base.service.ts","webpack:///src/app/services/company.service.ts","webpack:///src/app/services/document-cabinet.service.ts","webpack:///src/app/services/docuware-cabinet.service.ts","webpack:///src/app/services/migration-client.service.ts","webpack:///src/app/services/user.service.ts","webpack:///src/app/services/web-storage.service.ts","webpack:///src/app/shared/base.component.ts","webpack:///src/app/shared/common-functions.ts","webpack:///src/app/shared/constants.ts","webpack:///src/app/shared/custom-validator.ts","webpack:///src/app/shared/enum.ts","webpack:///src/app/shared/headers.interceptor.ts","webpack:///src/app/shared/shared.module.ts","webpack:///src/app/util/sort.ts","webpack:///src/environments/environment.ts","webpack:///src/main.ts","webpack:///zlib (ignored)","webpack:///fs (ignored)","webpack:///http (ignored)","webpack:///https (ignored)","webpack:///url (ignored)"],"names":["webpackEmptyAsyncContext","req","Promise","resolve","then","e","Error","code","keys","module","exports","id","map","webpackContext","webpackContextResolve","__webpack_require__","o","webpackContextKeys","Object","m","routes","path","component","canActivate","children","loadChildren","redirectTo","pathMatch","AppRoutingModule","AppComponent","title","AppModule","ChangePasswordComponent","formBuilder","userService","webStorageService","router","unsubscriber","progress","displayMessage","message","formFields","oldPassword","newPassword","confirmPassword","validationMessages","required","password","minlength","invalid","validPasswordMatch","next","complete","buildForm","currentUserToken","getCurrentUserToken","userId","isCustomer","role","enumCustomer","form","markFormAsTouched","reqModel","get","value","ChangePassword","pipe","loading","subscribe","result","processResult","IsSuccess","ResponseModel","timeoutFunct","reset","Message","httpResponseError","msg","isSuccess","messageClass","setTimeout","messageLifeSpan","enumAdmin","navigate","url","companyId","formGroup","group","addControl","control","validators","whitespace","updateOn","formControlUpdateStrategy","blur","minLength","passwordPattern","setValidators","passwordMatch","DropdownMenuComponent","isMigrationAdmin","notifyParent","currentToken","userName","document","on","removeClass","length","dropdown","stopPropagation","hasClass","addClass","emit","status","signOut","HeaderCustomerComponent","companyName","isDocuware","organization","name","isCompanyPage","HeaderComponent","companyService","activatedRoute","companyFromHeader","isCustomerAdmin","companies","Array","getAllCompanies","enumCustomerAdmin","params","createdURL","includes","sort","a","b","CompanyName","toLowerCase","localeCompare","selectedHeaderCompany","find","x","CompanyId","InterfaceWith","enumDocuware","filter","event","dropdownparent","hide","PageNotFoundComponent","SortDirective","renderer","targetElement","elem","nativeElement","order","getAttribute","type","property","appSort","startSort","setAttribute","ForgotMigrationClientPasswordComponent","migrationService","h2title","email","validemail","forgotPassword","ForgotPasswordComponent","AuthenticationGuard","jwtHelper","http","route","state","token","isTokenExpired","tryRefreshingTokens","isRefreshSuccess","usertoken","refreshtoken","credentials","JSON","stringify","accessToken","refreshToken","apiBaseUrl","reject","post","headers","res","error","_","refreshRes","deleteCurrentUserToken","userauthmodel","groupId","GroupId","UserId","Role","Email","userFirstName","FirstName","userLastName","LastName","Group","IsDocuware","userPermission","UserPermissions","groupPermission","GroupPermissions","storeCurrentUserToken","InceptionCustomWebPageComponent","docuwareCabinetService","sanitizer","documentCabinetService","cd","queryString","cardImageBase64","documentViewerLink","displayClearButton","viewerLoader","customLoader","totalRecordCount","pageCount","pageSize","displayPagination","isInitialEmptyState","isMore","config","format","searchLoader","showSearchPanel","forSepcialCompanyDb","fileName","fileExtension","fullTextSearch","optionList","yearRange","routeReuseStrategy","shouldReuseRoute","that","cabinetRequestModel","DocuwareFieldData","docuFieldData","searchableFieldModel","forEach","searchBox","searchValue","FieldName","FieldType","momentDateValue","dateValue","FieldValue","DisplayAs","push","searchInputList","label","undefined","ServerURL","docuwareRecordsModel","records","searchRecords","docuwareRecord","record","DocuwareDocumentId","DocuwareFields","field","prop","searchFilterData","headerName","fieldType","sequence","IsDisplay","DisplaySequence","startRecord","PageNo","endRecord","paginationPage","DocumentTypeId","documentTypeResponseModel","SearchText","GetDocumentTypeDocumentIdsForFullText","listOfFullTextSearchedDocIds","fullTextSearchedRecords","docId","selectedRecord","backupRecords","obj","toString","DocumentTypeInboxId","metadataSearchModel","searchRecordsTemp","searchInMetadata","searchFilterDataTemp","enumInteger","parseInt","FieldValueFrom","FieldValueTo","enumDecimal","enumCurrency","parseFloat","enumDate","forCustomPage","MetadataSearch","GetMetadataSearchData","BackupSearchRecords","backupSearchRecords","filteredRecords","o1","some","o2","filterResposniveEvent","Date","getFullYear","forgotPasswordRequestModel","charAt","encryptedString","authenticateCustomPage","attr","pagenumber","getFileCabinetRecordsById","setValue","searchValue1","DocumentTypeMetadataId","query","FilteredValues","GetFilterDataForSearch","FilterValues","fieldName","GetFilterData","console","log","lst","SearchFieldValuesFiltered","GetFilterDataForSpecialCompanies","SearchableFieldId","FilterValuesForSpecialCompanies","countKeys","searchDataItem","searchValueFrom","searchValueTo","momentDateValueFrom","dateValueFrom","momentDateValueTo","dateValueTo","filterInAppDocs","recordList","searchFieldName","searchedRecords","DocumentId","generateDocumentViewerLink","window","open","base64String","foundDoc","DocumentViewerPopup","DocumentPath","split","pop","forFileName","documents","ActualDocumentName","baseUrl","selectedFileId","StrFileName","StrCompanyId","companyResponseModel","StrDocumentTypeId","DownloadFromInbox","GetBase64ForViewer","isImage","isPdf","binaryData","Uint8Array","from","atob","c","charCodeAt","tiff","Tiff","buffer","canvas","toCanvas","jpgBase64Data","toDataURL","replace","bypassSecurityTrustResourceUrl","documentPath","DownloadFile","file","Blob","blobURL","URL","createObjectURL","iframe","createElement","body","appendChild","style","display","src","onload","focus","contentWindow","print","data","data1","data2","value1","value2","toLocaleLowerCase","datevalue1","datevalue2","match","floatvalue1","floatvalue2","selectedDocumentType","routerUrl","DocumentTypeURL","relativeTo","customAuthResponseModel","Company","DocumentType","LogoImage","CabinetId","DocuwareCabinetId","OrganizationName","DocuwareMasters","UserName","Password","PassPhrase","PageSize","getSearchableFieldsFromDb","getSearchControlValues","getHeadersForAppDb","getAllDocumentTypeDocument","getAllDocumentTypeList","getSearchableFieldsByCabinetId","isSearchHasData","DocumentTypeMetadatas","metadata","DisplayName","DocumentTypeMetadataOptions","filterDropdownSuggestion","isCustomPage","GetRawDataForDynamicObject","searchControls","Documents","SearchInput","GetAllDocumentTypeList","DocumentCabinetId","documentTypeList","getDocuwareFileCabinetRecords","docuwareRecordsBackup","pageNumber","getSearchControlValue","docuwareSearchControlModel","TotalRecordCount","Math","ceil","pageArray","searchModel","IsSearch","forFulltext","Sequence","item","searchInput","SearchSequence","Values","rec","repeated","trim","stuff","count","change","DocumentViewerModel","CompanyManageComponent","isCompanyListUpdated","close","isSelectedDbDocuware","isEditMode","OrganizationInformation","isActive","OrganizationContactInformation","Integration","enumDatabaseType","showStorageInput","ManageCompany","customerOrganizationName","websiteURL","contactFirstName","contactLastName","contactEmail","contactPhone","documentIntegration","allowedStorage","organizationName","serverURL","passphrase","active","validCharacters","validNumber","databaseOptions","enumSelector","appendthis","click","preventDefault","append","fadeTo","modalBox","fadeIn","resize","css","top","height","outerHeight","left","width","outerWidth","changes","getCompanyById","resetCompanyForm","updateValidationForDocuware","company","updateValueAndValidity","controls","clearValidators","onlyNumbers","companyRequestModel","CompanyWebsiteURL","ContactFirstName","ContactLastName","ContactEmail","ContactPhone","docuwareMaster","DocuwareId","IsActive","enumInApp","AllowedDocumentStorage","category","where","touchedCount","markAsTouched","testConnectionModel","testDocuwareConnection","getValuesFromForm","manageCompany","updateCompany","addCompany","response","closeDeletePopup","closePopup","setValuesToForm","onlyCharacters","fadeOut","CompanyComponent","companyCount","noRecordFound","showClearFilter","DeletePopup","selectedCompanyId","statusList","key","enumNone","interfaceList","populateCompanyList","search","companyBackup","selectedStatus","enumActive","searchByStatusAndInterface","getStorageByCompanyId","getStorageInfoByCompanyId","selectedCompany","selectedInterface","searchText","enumInactive","navigateByUrl","deleteCompany","companyID","LoginComponent","cookieService","rememberMe","userInfoReq","expiredDate","setDate","getDate","set","cookie","signIn","check","CabinetRequestModel","DocuwareCabinetReuestModel","CompanyRequestModel","DocumentTypeDocumentRequestModel","DocumentTypeDocumentSearchRequestModel","DocuwareMasterRequestModel","MetadataSearchRequestModel","MetadataSearchModel","MigrationClientRequestModel","TestDocuwareConnectionModel","UserInfoRequestModel","UserAuthResponseModel","AccessTokenResponseModel","CompanyResponseModel","DocumentTypeDocumentResponseModel","DocumentDisplayModel","SPDocumentsByDocType","DocumentTypeDocumentResponse","DocumentTypeDocumentModelForSearch","SearchInputModel","LabelValueModel","SPFullTextModel","FilterValueModel","DocumentTypeResponseModel","DocumentTypeListResponseModel","SearchDialogDetail","DocumentTypeUserGroupResponseModel","DocumentTypePermissionsResponseModel","DocumentTypePermissionDisplayModel","SPDocumentTypesByCompanyIdResponseModel","DocumentTypeWithDocNumberResponseModel","ForgotPasswordModel","ResetPasswordModel","ChangePasswordModel","MigrationClientResponseModel","MyProfileComponent","isAdminHeader","firstName","lastName","onReset","updateProfile","authToken","ConfigurationRoutingModule","ConfigurationComponent","ConfigurationModule","ManageMigrationCLientComponent","migrationClientService","isClientListUpdated","manageClient","storageLabel","StorageButton","isShowStorage","validUpgradeStorage","PhoneNo","SubscriptionStartDate","SubscriptionEndDate","UpgradeStorage","min","clientId","getClientById","resetClientForm","phoneNumber","onlyDecimals","getMigrationClientInfo","clientResponseModel","subscriptionEndDate","subscriptionStartDate","UsedDocumentStorage","formatBytes","clientRequestModel","ClientId","toLocaleDateString","DateTimeCreated","DateTimeLastModified","IsForgotPassword","IsLinkExpired","IsDeleted","UpgradeType","ModifiedBy","updateMigrationClient","addMigrationClient","bytes","decimals","k","dm","sizes","i","floor","pow","toFixed","MigrationCLientComponent","ResendLink","populateClientList","clients","selectedClientId","roleList","getAllMigrationClients","getAllMigrationClientInfo","clientsBackup","clientID","clientCount","selectedRole","searchByStatusAndRole","client","deleteClient","deleteMigrationClient","closeMessagePopup","ClosePopup","selectedUser","selectedEmail","resendPasswordResetLink","ResetMigrationClientPasswordComponent","passwordresetSuccessful","resetPasswordModel","authenticatePaswordChangeRequest","authenticateForgotPasswordRequest","displayForm","resetPassword","ResetPasswordComponent","BaseService","httpClient","httpHeaders","getApiUrl","responseType","getConfigUrl","httpOptions","CompanyService","httpService","DocumentCabinetService","documentCabinetId","documentTypeId","documentTypeDocumentId","documentId","documentTypeDocument","documentTypeInboxId","documentTypeMetadtaId","downloadBlobFile","cabinetId","forCustom","documentTypeMetadataId","searchableFieldId","DocuwareCabinetService","MigrationClientService","migrationClient","UserService","username","userData","redirectUrl","WebStorageService","parse","getItem","setItem","removeItem","localStorage","clear","BaseComponent","noRecordsFoundMessage","onSuccess","onError","controlName","validator","touched","dirty","hasError","exceptionMessage","CommonFunctions","definition","stringEnum","keyValue","Number","Constants","Menu","submit","CustomValidator","controlValue","TEXT_REGEXP","test","PHONE_REGEXP","validURL","validStrongPassword","passwordFieldId","confirmPasswordFieldId","passwordField","confirmPasswordField","NUMBER_REGEXP","UserRole","enumPermission","enumCompanyStatus","enumPermissionMappingWithId","enumFieldTypes","enumMigrationClientStatus","enumMigrationClientRole","HeadersInterceptor","urls","IsValid","request","clone","setHeaders","Authorization","handle","SharedModule","Sort","sortOrder","collator","Intl","Collator","numeric","sensitivity","sortData","compare","environment","production","webUrl","successMessageLifeTime","warningMessageLifeTime","errorMessageLifeTime","sessionTimeOut","err"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,aAASA,wBAAT,CAAkCC,GAAlC,EAAuC;AACtC;AACA;AACA,aAAOC,OAAO,CAACC,OAAR,GAAkBC,IAAlB,CAAuB,YAAW;AACxC,YAAIC,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,SAAC,CAACE,IAAF,GAAS,kBAAT;AACA,cAAMF,CAAN;AACA,OAJM,CAAP;AAKA;;AACDL,4BAAwB,CAACQ,IAAzB,GAAgC,YAAW;AAAE,aAAO,EAAP;AAAY,KAAzD;;AACAR,4BAAwB,CAACG,OAAzB,GAAmCH,wBAAnC;AACAS,UAAM,CAACC,OAAP,GAAiBV,wBAAjB;AACAA,4BAAwB,CAACW,EAAzB,GAA8B,yCAA9B;;;;;;;;;;;;;;ACZA,QAAIC,GAAG,GAAG;AACT,cAAQ,oCADC;AAET,iBAAW,oCAFF;AAGT,cAAQ,oCAHC;AAIT,iBAAW,uCAJF;AAKT,oBAAc,uCALL;AAMT,iBAAW,uCANF;AAOT,oBAAc,uCAPL;AAQT,iBAAW,uCARF;AAST,oBAAc,uCATL;AAUT,iBAAW,uCAVF;AAWT,oBAAc,uCAXL;AAYT,iBAAW,uCAZF;AAaT,oBAAc,uCAbL;AAcT,iBAAW,uCAdF;AAeT,oBAAc,uCAfL;AAgBT,iBAAW,oCAhBF;AAiBT,cAAQ,oCAjBC;AAkBT,iBAAW,oCAlBF;AAmBT,cAAQ,oCAnBC;AAoBT,iBAAW,oCApBF;AAqBT,cAAQ,oCArBC;AAsBT,iBAAW,oCAtBF;AAuBT,cAAQ,oCAvBC;AAwBT,iBAAW,oCAxBF;AAyBT,cAAQ,oCAzBC;AA0BT,iBAAW,uCA1BF;AA2BT,oBAAc,uCA3BL;AA4BT,iBAAW,oCA5BF;AA6BT,cAAQ,oCA7BC;AA8BT,iBAAW,oCA9BF;AA+BT,cAAQ,oCA/BC;AAgCT,iBAAW,oCAhCF;AAiCT,cAAQ,oCAjCC;AAkCT,iBAAW,oCAlCF;AAmCT,cAAQ,oCAnCC;AAoCT,iBAAW,oCApCF;AAqCT,cAAQ,oCArCC;AAsCT,iBAAW,oCAtCF;AAuCT,cAAQ,oCAvCC;AAwCT,iBAAW,oCAxCF;AAyCT,cAAQ,oCAzCC;AA0CT,iBAAW,oCA1CF;AA2CT,cAAQ,oCA3CC;AA4CT,iBAAW,oCA5CF;AA6CT,cAAQ,oCA7CC;AA8CT,iBAAW,uCA9CF;AA+CT,oBAAc,uCA/CL;AAgDT,iBAAW,uCAhDF;AAiDT,oBAAc,uCAjDL;AAkDT,iBAAW,oCAlDF;AAmDT,cAAQ,oCAnDC;AAoDT,iBAAW,oCApDF;AAqDT,cAAQ,oCArDC;AAsDT,iBAAW,oCAtDF;AAuDT,iBAAW,uCAvDF;AAwDT,oBAAc,uCAxDL;AAyDT,iBAAW,uCAzDF;AA0DT,oBAAc,uCA1DL;AA2DT,iBAAW,uCA3DF;AA4DT,oBAAc,uCA5DL;AA6DT,iBAAW,uCA7DF;AA8DT,oBAAc,uCA9DL;AA+DT,iBAAW,uCA/DF;AAgET,oBAAc,uCAhEL;AAiET,iBAAW,uCAjEF;AAkET,oBAAc,uCAlEL;AAmET,iBAAW,uCAnEF;AAoET,oBAAc,uCApEL;AAqET,iBAAW,uCArEF;AAsET,oBAAc,uCAtEL;AAuET,cAAQ,oCAvEC;AAwET,iBAAW,oCAxEF;AAyET,cAAQ,oCAzEC;AA0ET,iBAAW,uCA1EF;AA2ET,oBAAc,uCA3EL;AA4ET,iBAAW,uCA5EF;AA6ET,oBAAc,uCA7EL;AA8ET,iBAAW,uCA9EF;AA+ET,oBAAc,uCA/EL;AAgFT,iBAAW,oCAhFF;AAiFT,cAAQ,oCAjFC;AAkFT,iBAAW,oCAlFF;AAmFT,cAAQ,oCAnFC;AAoFT,iBAAW,oCApFF;AAqFT,cAAQ,oCArFC;AAsFT,iBAAW,oCAtFF;AAuFT,cAAQ,oCAvFC;AAwFT,iBAAW,oCAxFF;AAyFT,eAAS,qCAzFA;AA0FT,kBAAY,qCA1FH;AA2FT,cAAQ,oCA3FC;AA4FT,iBAAW,oCA5FF;AA6FT,cAAQ,oCA7FC;AA8FT,iBAAW,uCA9FF;AA+FT,oBAAc,uCA/FL;AAgGT,iBAAW,uCAhGF;AAiGT,oBAAc,uCAjGL;AAkGT,iBAAW,oCAlGF;AAmGT,cAAQ,oCAnGC;AAoGT,iBAAW,oCApGF;AAqGT,cAAQ,oCArGC;AAsGT,iBAAW,oCAtGF;AAuGT,cAAQ,oCAvGC;AAwGT,iBAAW,oCAxGF;AAyGT,cAAQ,oCAzGC;AA0GT,iBAAW,oCA1GF;AA2GT,oBAAc,0CA3GL;AA4GT,uBAAiB,0CA5GR;AA6GT,oBAAc,0CA7GL;AA8GT,uBAAiB,0CA9GR;AA+GT,cAAQ,oCA/GC;AAgHT,iBAAW,oCAhHF;AAiHT,cAAQ,oCAjHC;AAkHT,iBAAW,oCAlHF;AAmHT,cAAQ,oCAnHC;AAoHT,iBAAW,oCApHF;AAqHT,cAAQ,oCArHC;AAsHT,iBAAW,oCAtHF;AAuHT,cAAQ,oCAvHC;AAwHT,iBAAW,oCAxHF;AAyHT,iBAAW,uCAzHF;AA0HT,oBAAc,uCA1HL;AA2HT,cAAQ,oCA3HC;AA4HT,iBAAW,oCA5HF;AA6HT,cAAQ,oCA7HC;AA8HT,iBAAW,oCA9HF;AA+HT,cAAQ,oCA/HC;AAgIT,iBAAW,uCAhIF;AAiIT,oBAAc,uCAjIL;AAkIT,iBAAW,oCAlIF;AAmIT,cAAQ,oCAnIC;AAoIT,iBAAW,oCApIF;AAqIT,cAAQ,oCArIC;AAsIT,iBAAW,oCAtIF;AAuIT,cAAQ,oCAvIC;AAwIT,iBAAW,oCAxIF;AAyIT,cAAQ,oCAzIC;AA0IT,iBAAW,oCA1IF;AA2IT,cAAQ,oCA3IC;AA4IT,iBAAW,oCA5IF;AA6IT,cAAQ,oCA7IC;AA8IT,iBAAW,oCA9IF;AA+IT,cAAQ,oCA/IC;AAgJT,iBAAW,oCAhJF;AAiJT,cAAQ,oCAjJC;AAkJT,iBAAW,oCAlJF;AAmJT,cAAQ,oCAnJC;AAoJT,iBAAW,oCApJF;AAqJT,cAAQ,oCArJC;AAsJT,iBAAW,oCAtJF;AAuJT,cAAQ,oCAvJC;AAwJT,iBAAW,oCAxJF;AAyJT,cAAQ,oCAzJC;AA0JT,iBAAW,oCA1JF;AA2JT,cAAQ,oCA3JC;AA4JT,iBAAW,oCA5JF;AA6JT,cAAQ,oCA7JC;AA8JT,iBAAW,oCA9JF;AA+JT,cAAQ,oCA/JC;AAgKT,iBAAW,oCAhKF;AAiKT,cAAQ,oCAjKC;AAkKT,iBAAW,oCAlKF;AAmKT,cAAQ,oCAnKC;AAoKT,iBAAW,oCApKF;AAqKT,cAAQ,oCArKC;AAsKT,iBAAW,oCAtKF;AAuKT,cAAQ,oCAvKC;AAwKT,iBAAW,oCAxKF;AAyKT,cAAQ,oCAzKC;AA0KT,iBAAW,uCA1KF;AA2KT,oBAAc,uCA3KL;AA4KT,iBAAW,oCA5KF;AA6KT,cAAQ,oCA7KC;AA8KT,iBAAW,oCA9KF;AA+KT,cAAQ,oCA/KC;AAgLT,iBAAW,oCAhLF;AAiLT,cAAQ,oCAjLC;AAkLT,iBAAW,oCAlLF;AAmLT,cAAQ,oCAnLC;AAoLT,iBAAW,oCApLF;AAqLT,cAAQ,oCArLC;AAsLT,iBAAW,uCAtLF;AAuLT,oBAAc,uCAvLL;AAwLT,iBAAW,oCAxLF;AAyLT,cAAQ,oCAzLC;AA0LT,iBAAW,oCA1LF;AA2LT,kBAAY,wCA3LH;AA4LT,qBAAe,wCA5LN;AA6LT,iBAAW,uCA7LF;AA8LT,oBAAc,uCA9LL;AA+LT,cAAQ,oCA/LC;AAgMT,iBAAW,oCAhMF;AAiMT,cAAQ,oCAjMC;AAkMT,iBAAW,uCAlMF;AAmMT,oBAAc,uCAnML;AAoMT,iBAAW,oCApMF;AAqMT,cAAQ,oCArMC;AAsMT,iBAAW,oCAtMF;AAuMT,cAAQ,oCAvMC;AAwMT,iBAAW,oCAxMF;AAyMT,cAAQ,oCAzMC;AA0MT,iBAAW,oCA1MF;AA2MT,cAAQ,oCA3MC;AA4MT,iBAAW,oCA5MF;AA6MT,cAAQ,oCA7MC;AA8MT,iBAAW,oCA9MF;AA+MT,cAAQ,oCA/MC;AAgNT,iBAAW,oCAhNF;AAiNT,cAAQ,oCAjNC;AAkNT,iBAAW,oCAlNF;AAmNT,cAAQ,oCAnNC;AAoNT,iBAAW,oCApNF;AAqNT,cAAQ,oCArNC;AAsNT,mBAAa,yCAtNJ;AAuNT,sBAAgB,yCAvNP;AAwNT,iBAAW,oCAxNF;AAyNT,cAAQ,oCAzNC;AA0NT,iBAAW,oCA1NF;AA2NT,cAAQ,oCA3NC;AA4NT,iBAAW,oCA5NF;AA6NT,cAAQ,oCA7NC;AA8NT,iBAAW,oCA9NF;AA+NT,cAAQ,oCA/NC;AAgOT,iBAAW,oCAhOF;AAiOT,cAAQ,oCAjOC;AAkOT,iBAAW,oCAlOF;AAmOT,eAAS,qCAnOA;AAoOT,kBAAY,qCApOH;AAqOT,cAAQ,oCArOC;AAsOT,iBAAW,oCAtOF;AAuOT,cAAQ,oCAvOC;AAwOT,iBAAW,oCAxOF;AAyOT,cAAQ,oCAzOC;AA0OT,iBAAW,oCA1OF;AA2OT,iBAAW,uCA3OF;AA4OT,oBAAc,uCA5OL;AA6OT,eAAS,qCA7OA;AA8OT,kBAAY,qCA9OH;AA+OT,cAAQ,oCA/OC;AAgPT,iBAAW,oCAhPF;AAiPT,eAAS,qCAjPA;AAkPT,kBAAY,qCAlPH;AAmPT,eAAS,qCAnPA;AAoPT,oBAAc,0CApPL;AAqPT,uBAAiB,0CArPR;AAsPT,kBAAY,qCAtPH;AAuPT,iBAAW,uCAvPF;AAwPT,oBAAc,uCAxPL;AAyPT,cAAQ,oCAzPC;AA0PT,iBAAW,oCA1PF;AA2PT,cAAQ,oCA3PC;AA4PT,iBAAW,oCA5PF;AA6PT,cAAQ,oCA7PC;AA8PT,mBAAa,yCA9PJ;AA+PT,sBAAgB,yCA/PP;AAgQT,iBAAW,oCAhQF;AAiQT,cAAQ,oCAjQC;AAkQT,iBAAW,oCAlQF;AAmQT,oBAAc,0CAnQL;AAoQT,uBAAiB,0CApQR;AAqQT,cAAQ,oCArQC;AAsQT,iBAAW,oCAtQF;AAuQT,iBAAW,uCAvQF;AAwQT,oBAAc,uCAxQL;AAyQT,iBAAW,uCAzQF;AA0QT,oBAAc,uCA1QL;AA2QT,iBAAW,uCA3QF;AA4QT,oBAAc,uCA5QL;AA6QT,iBAAW,uCA7QF;AA8QT,oBAAc;AA9QL,KAAV;;AAkRA,aAASC,cAAT,CAAwBZ,GAAxB,EAA6B;AAC5B,UAAIU,EAAE,GAAGG,qBAAqB,CAACb,GAAD,CAA9B;AACA,aAAOc,mBAAmB,CAACJ,EAAD,CAA1B;AACA;;AACD,aAASG,qBAAT,CAA+Bb,GAA/B,EAAoC;AACnC,UAAG,CAACc,mBAAmB,CAACC,CAApB,CAAsBJ,GAAtB,EAA2BX,GAA3B,CAAJ,EAAqC;AACpC,YAAII,CAAC,GAAG,IAAIC,KAAJ,CAAU,yBAAyBL,GAAzB,GAA+B,GAAzC,CAAR;AACAI,SAAC,CAACE,IAAF,GAAS,kBAAT;AACA,cAAMF,CAAN;AACA;;AACD,aAAOO,GAAG,CAACX,GAAD,CAAV;AACA;;AACDY,kBAAc,CAACL,IAAf,GAAsB,SAASS,kBAAT,GAA8B;AACnD,aAAOC,MAAM,CAACV,IAAP,CAAYI,GAAZ,CAAP;AACA,KAFD;;AAGAC,kBAAc,CAACV,OAAf,GAAyBW,qBAAzB;AACAL,UAAM,CAACC,OAAP,GAAiBG,cAAjB;AACAA,kBAAc,CAACF,EAAf,GAAoB,wDAApB;;;;;;;;;;;;;;;;ACjSA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;aAsJsB,S,EAAA;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,wEAAmDP,IAAnD,CAAwD,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,oBAAN;AAAA,OAAzD,CAAN;AAAA,K;QAAiF,KAIjF,SAJiF,EAIjF;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,0EAAqDf,IAArD,CAA0D,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,qBAAN;AAAA,OAA3D,CAAN;AAAA,K;QAAoF,KAIpF,SAJoF,EAIpF;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,wFAAmEf,IAAnE,CAAwE,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,4BAAN;AAAA,OAAzE,CAAN;AAAA,K;QAAyG,KAIzG,SAJyG,EAIzG;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,8HAAyGf,IAAzG,CAA8G,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,sCAAN;AAAA,OAA/G,CAAN;AAAA,K;QAAyJ,KAIzJ,SAJyJ,EAIzJ;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,kHAA6Ff,IAA7F,CAAkG,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,iCAAN;AAAA,OAAnG,CAAN;AAAA,K;QAAwI,KAIxI,SAJwI,EAIxI;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,wHAAmGf,IAAnG,CAAwG,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,mCAAN;AAAA,OAAzG,CAAN;AAAA,K;QAAgJ,KAIhJ,SAJgJ,EAIhJ;AAAA,aAAM;AAAA;AAAA;AAAA;AAAA,oHAA+Ff,IAA/F,CAAoG,UAAAe,CAAC;AAAA,eAAIA,CAAC,CAAC,iCAAN;AAAA,OAArG,CAAN;AAAA,K;;AAlJtB,QAAMC,MAAM,GAAW,CACrB;AACEC,UAAI,EAAE,OADR;AAEEC,eAAS,EAAE;AAFb,KADqB,EAKrB;AACED,UAAI,EAAE,iBADR;AAEEC,eAAS,EAAE;AAFb,KALqB,EASrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACED,UAAI,EAAE,6BADR;AAEEC,eAAS,EAAE;AAFb,KAlCqB,EAsCrB;AACED,UAAI,EAAE,YADR;AAEEE,iBAAW,EAAE,CAAC,+EAAD,CAFf;AAGED,eAAS,EAAE;AAHb,KAtCqB,EA2CrB;AACED,UAAI,EAAE,iBADR;AAEEE,iBAAW,EAAE,CAAC,+EAAD,CAFf;AAGED,eAAS,EAAE;AAHb,KA3CqB,EAgDrB;AACED,UAAI,EAAE,6BADR;AAEEC,eAAS,EAAE;AAFb,KAhDqB,EAoDrB;AACED,UAAI,EAAE,iCADR;AAEEC,eAAS,EAAE;AAFb,KApDqB,EAwDrB;AACED,UAAI,EAAE,oCADR;AAEEC,eAAS,EAAE;AAFb,KAxDqB,EA4DrB;AACED,UAAI,EAAE,wBADR;AAEEC,eAAS,EAAE;AAFb,KA5DqB,EAgErB;AACED,UAAI,EAAE,SADR;AAEEE,iBAAW,EAAE,CAAC,+EAAD,CAFf;AAGEC,cAAQ,EAAE,CACR;AAAEH,YAAI,EAAG,EAAT;AAAcC,iBAAS,EAAE;AAAzB,OADQ,EAER;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACED,YAAI,EAAE,WADR;AAEEI,oBAAY,EAAE;AAFhB,OArDQ,EAyDR;AACEJ,YAAI,EAAE,YADR;AAEEI,oBAAY,EAAE;AAFhB,OAzDQ,EA6DR;AACEJ,YAAI,EAAE,mBADR;AAEEI,oBAAY,EAAE;AAFhB,OA7DQ,EAiER;AACEJ,YAAI,EAAE,4CADR;AAEEI,oBAAY,EAAE;AAFhB,OAjEQ,EAqER;AACEJ,YAAI,EAAE,uCADR;AAEEI,oBAAY,EAAE;AAFhB,OArEQ,EAyER;AACEJ,YAAI,EAAE,0CADR;AAEEI,oBAAY,EAAE;AAFhB,OAzEQ,EA6ER;AACEJ,YAAI,EAAE,wCADR;AAEEI,oBAAY,EAAE;AAFhB,OA7EQ;AAHZ,KAhEqB,EAsJrB;AACEJ,UAAI,EAAE,KADR;AAEEC,eAAS,EAAE;AAFb,KAtJqB,EA0JrB;AACED,UAAI,EAAE,EADR;AAEEK,gBAAU,EAAE,QAFd;AAGEC,eAAS,EAAE;AAHb,KA1JqB,EA+JrB;AACEN,UAAI,EAAE,IADR;AAEEK,gBAAU,EAAE;AAFd,KA/JqB,CAAvB;;QAyKaE,gB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECvMb,yI,GAAA,8a,GAAA;AAAA;AAA+B,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACO/B;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,Y,GALb;AAAA;;AAME,WAAAC,KAAA,GAAQ,yBAAR;AACD,K;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC4ED;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;aAiIsC,8D,EA5HtC;AACA;AACA;AACA;AACA;AACA;;QA2HaC,S;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECzNX,mU,GAAA,4b,GAAA;AAAA;AAA6C,O,EAAA,I;AAAA;;;qEAC7C,gY,GAAA,4U,GAAA;AAAA;AAA8D,O,EAAA,I;AAAA;;;qEAepD,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAAoI,UAApI;;AAAmD;;;;;AAAnD;AAAA,oB,IAAiF,2K,IAA8C;AAAA;AAF5H;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEASR,2I,IAAyE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA2C,O;AAAA;;;qEAqBpH,2I,IAA0E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEAC9G,2I,IAA2E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEACpH,2I,IAAsF,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEAOjI,2I,IAA6E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+C,O;AAAA;;;qEAC5H,0J,IAA+E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyD,O;AAAA;;;qEA1D5J,gJ,IACE,yH,GAAA;AAAA;AAAA,c,GACA,yH,GAAA;AAAA;AAAA,c,GACE,2J,IACI,+I,IACI,gJ,IACE,uH,IACE;AAAA;AAAA,oBAIQ,UAJR;;AAAqB;;;;;AAArB;AAAA,oB,IACE,oP,IACE,8V,IAEI,2F,IAMZ,yH,GAAA;AAAA;AAAA,c,GAIA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;kcACE,mJ,IACE,iJ,IACE,kJ,IACE,mJ,IAA2B,0F,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;4aACA,yH,GAAA;AAAA;AAAA,c,GAEA,oJ,IACE,6N,IACA,wJ,IACI,wH,IAAI,8F,IACJ,wH,IAAI,uG,IACJ,wH,IAAI,uG,IACJ,wH,IAAI,6F,IACJ,wH,IAAI,wG,IACJ,wH,IAAI,mG,IAIZ,uJ,IAIA,kJ,IACE,mJ,IAA2B,uF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;4aACA,yH,GAAA;AAAA;AAAA,c,GACI,yH,GAAA;AAAA;AAAA,c,GACA,yH,GAAA;AAAA;AAAA,c,GAGN,kJ,IACE,mJ,IAA2B,0F,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;4aAEA,yH,GAAA;AAAA;AAAA,c,GACA,yH,GAAA;AAAA;AAAA,c,GAIJ,kJ,IACE;AAAA;AAAA,oBAA8E,UAA9E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,gF,IAAM;AAAA;AA9DzE,4BAAmB,WAAnB;;AAAZ,sBAAY,SAAZ;;AACqB,2BAAkB,WAAlB;;AAArB,sBAAqB,SAArB;;AAe8E,2BAAsB,eAAtB;;AAApE,uBAAoE,SAApE;;AAIM,4BAAkB,KAAlB;;AAAN,uBAAM,UAAN;;AAK8D;;AAAtD,uBAAsD,UAAtD;;AACoB;;AAApB,uBAAoB,UAApB;;AAoBsD;;AAAtD,uBAAsD,UAAtD;;AACoB;;AAApB,uBAAoB,UAApB;;AACwB;;AAApB,uBAAoB,UAApB;;AACoB;;AAApB,uBAAoB,UAApB;;AAKkD;;AAAtD,uBAAsD,UAAtD;;AAEoB;;AAApB,uBAAoB,UAApB;;AACmC;;AAAnC,uBAAmC,UAAnC;AAA8E,O,EAAA;AArCtF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKQ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAqBA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwF,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCnC/FC,uB;;;;;AAsCX,uCAAoBC,WAApB,EAAsDC,WAAtD,EACUC,iBADV,EACwDC,MADxD,EACwE;AAAA;;AAAA;;AACtE;AAFkB,cAAAH,WAAA,GAAAA,WAAA;AAAkC,cAAAC,WAAA,GAAAA,WAAA;AAC5C,cAAAC,iBAAA,GAAAA,iBAAA;AAA8C,cAAAC,MAAA,GAAAA,MAAA;AArChD,cAAAC,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,cAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAIR,cAAAC,cAAA,GAA0B,KAA1B;AACA,cAAAC,OAAA,GAAiB,EAAjB;AAGA,cAAAC,UAAA,GACA;AACEC,qBAAW,EAAE,aADf;AAEEC,qBAAW,EAAE,aAFf;AAGEC,yBAAe,EAAE;AAHnB,SADA;AAOA,cAAAC,kBAAA,GAAqB;AACnBH,qBAAW,EAAE;AACXI,oBAAQ,EAAE;AADC,WADM;AAMnBC,kBAAQ,EAAE;AACRD,oBAAQ,EAAE,0BADF;AAERE,qBAAS,EAAE,8CAFH;AAGRC,mBAAO,EAAE;AAHD,WANS;AAWnBL,yBAAe,EAAE;AACfE,oBAAQ,EAAE,8BADK;AAEfG,mBAAO,EAAE,8BAFM;AAGfD,qBAAS,EAAE,kDAHI;AAIfE,8BAAkB,EAAE;AAJL;AAXE,SAArB;AAqBwE;AAEvE;;;;sCAEU;AACT,cAAI,KAAKb,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAEO;AACN,eAAKC,SAAL;AACA,eAAKC,gBAAL,GAAwB,KAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;AAEA,eAAKC,MAAL,GAAc,KAAKF,gBAAL,CAAsBE,MAApC;AACA,eAAKC,UAAL,GAAkB,KAAKH,gBAAL,CAAsBI,IAAtB,KAA+B,sDAASC,YAAxC,GAAuD,IAAvD,GAA8D,KAAhF;AACD;;;4CAEgB;AACf,eAAKpB,cAAL,GAAsB,KAAtB;AACD;;;mCAEU;AAAA;;AAET,cAAG,KAAKqB,IAAL,CAAUX,OAAb,EAAqB;AACnB,iBAAKY,iBAAL;AACA;AACD;;AAED,cAAMC,QAAQ,GAAG,IAAI,oFAAJ,EAAjB;AACAA,kBAAQ,CAACN,MAAT,GAAkB,KAAKA,MAAvB;AACAM,kBAAQ,CAACpB,WAAT,GAAuB,KAAKkB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBC,WAA9B,EAA2CsB,KAAlE;AACAF,kBAAQ,CAACnB,WAAT,GAAuB,KAAKiB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBE,WAA9B,EAA2CqB,KAAlE;AAEA,eAAK9B,WAAL,CAAiB+B,cAAjB,CAAgCH,QAAhC,EACCI,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,MAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAAgC;AACzC,kBAAI,CAACC,aAAL,CAA4BD,MAA5B,EAAoC;AAAA,qBAAY;AAAA;AAAA;AAAA;AAAA;AAE9C,4BAAIA,MAAM,CAACE,SAAP,IAAoB,CAAAF,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,KAAyB,IAAjD,EAAuD;AAErD,+BAAKC,YAAL,CAAkB,+BAAlB,EAAmD,IAAnD;AACA,+BAAKb,IAAL,CAAUc,KAAV;AAED,yBALD,MAKO;AACL,+BAAKD,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AAT6C;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAZ;AAAA,aAApC;AAWD,WAdD,EAcG,UAACC,iBAAD,EAAuB;AACxB,kBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAhBD;AAkBD;;;qCAGYqC,G,EAAMC,S,EAAoB;AAAA;;AACrC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,kBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,kBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;kCAGS;AACR,eAAKrB,IAAL,CAAUc,KAAV;AACD;;;iCAEQ;AACP;AACA;AACA;AACA;AACA;AACA;AACA,cAAG,KAAKpB,gBAAL,CAAsBI,IAAtB,KAA+B,sDAASwB,SAA3C,EAAsD;AACpD,iBAAK9C,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,UAAD,CAArB;AACD,WAFD,MAEO;AACL;AACA,gBAAIC,GAAG,GAAG,cAAc,KAAK9B,gBAAL,CAAsB+B,SAApC,GAA+C,2DAAzD;AACA,iBAAKjD,MAAL,CAAY+C,QAAZ,CAAqB,CAACC,GAAD,CAArB;AACD;AACF;;;oCAEmB;AAClB,cAAME,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AAEAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBC,WAArC,EAAkD,KAAKT,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgB6C,UAAtC,CAAd;AAC7EC,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AAD+B,WAA7B,CAAlD;AAGAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBE,WAArC,EAAkD,KAAKV,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAClD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,0DAAWiD,SAAX,CAAqB,CAArB,CAAtB,EAA+C,yEAAgBJ,UAA/D,EAA0E,yEAAgBK,eAA1F,CAAd;AACEJ,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AADhD,WADkD,CAAlD;AAIAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBG,eAArC,EAAsD,KAAKX,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACtD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgB6C,UAAtC,EAAkD,yEAAgBK,eAAlE,CAAd;AACUJ,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AADxD,WADsD,CAAtD;AAIAR,mBAAS,CAACW,aAAV,CAAwB,yEAAgBC,aAAhB,CAA8B,aAA9B,EAA6C,iBAA7C,CAAxB;AAEA,eAAKtC,IAAL,GAAY0B,SAAZ;AACH;;;;MAlJ4C,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECGvC,wH,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WACE,ia,IAEV,4H,IACA,2H,IACA,2H,IACA,4qB,IAKA,khC,IAQA,y2B,IAOA,gtB,IAKA,s1B,IAMA,wR,IAEA,oN,IACA,stB,IAQM,2G,IAEE;AAlD8B;;AAA9B,sBAA8B,SAA9B;;AAA4E;;AAA5E,sBAA4E,SAA5E;AAAqG,O,EAAA;AAArG;;AAAA;;AAAA;AAkDI,O;AAAA;;;qEA9DZ,iJ,IACE;AAAA;;AAA8B;;;;;AAA9B;AAAA,oB,IAAoE,mN,IAA6E,gJ,IAEnJ,ia,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,GACE,oJ,IACE,wH,IAEE,uH,IAAI,wH,IAAI,kF,IACR,wH,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAAiF,8I,IAA0B,qF,IAE7G,uH,GAAA;AAAA;AAAA,c,GAqDA,wH,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAAsF,kJ,IAA8B,0F,IAEtH,wH,IAEE;AAAA;AAAA,oBAAsF,UAAtF;;AAA8B;;;;;AAA9B;AAAA,oB,IAAiD,6I,IAAyB,kF,IAAQ;AAAA;AAlE1E;AAA2C;;AAA3D,sBAAgB,SAAhB,EAA2D,SAA3D;;AAMsC;;AAA9B,uBAA8B,SAA9B;;AAAuD;;AAAvD,uBAAuD,SAAvD;;AAEE,2BAAwB,iBAAxB;;AAAJ,uBAAI,SAAJ;;AAsDgC;;AAA9B,uBAA8B,UAA9B;;AAA4D;;AAA5D,uBAA4D,UAA5D;AAAqF,O,EAAA;AAAA;AA1D/E;;AAAA;;AAEN;;AAAA;;AAAA;;AAwDA;;AAAA;;AAAA;AAAwI,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC7EhJ;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAWaa,qB;AAKX,qCAAoBjE,WAApB,EAAsDC,iBAAtD,EAA4F;AAAA;;AAAxE,aAAAD,WAAA,GAAAA,WAAA;AAAkC,aAAAC,iBAAA,GAAAA,iBAAA;AAFtD,aAAAiE,gBAAA,GAA4B,KAA5B;AACU,aAAAC,YAAA,GAAkC,IAAI,0DAAJ,EAAlC;AACqF;;;;mCAEvF;AAEN,cAAMC,YAAY,GAAG,KAAKnE,iBAAL,CAAuBoB,mBAAvB,EAArB;;AACA,cAAG+C,YAAH,EAAgB;AACd,iBAAKC,QAAL,GAAgBD,YAAY,CAACC,QAA7B;AACD;;AAED,cAAID,YAAY,CAAC5C,IAAb,IAAqB,sDAASwB,SAAlC,EACE,KAAKkB,gBAAL,GAAwB,IAAxB,CADF,KAGE,KAAKA,gBAAL,GAAwB,KAAxB;AAEF,6CAAC,CAACI,QAAD,CAAD,CAAYC,EAAZ,CAAe,OAAf,EAAwB,YAAY;AAClC,+CAAC,CAAC,oBAAD,CAAD,CAAwBtD,IAAxB,GAA+BuD,WAA/B,CAA2C,QAA3C;AACA,+CAAC,CAAC,oBAAD,CAAD,CAAwBA,WAAxB,CAAoC,QAApC;AACD,WAHD;;AAKA,cAAI,mCAAC,CAAC,aAAD,CAAD,CAAiBC,MAArB,EAA6B;AAC3B,gBAAMC,QAAQ,GAAG,mCAAC,CAAC,aAAD,CAAlB;AAEAA,oBAAQ,CAACH,EAAT,CAAY,OAAZ,EAAqB,UAAUpG,CAAV,EAAa;AAChCA,eAAC,CAACwG,eAAF;;AACA,kBAAI,CAACD,QAAQ,CAACzD,IAAT,GAAgB2D,QAAhB,CAAyB,QAAzB,CAAL,EAAyC;AACvCF,wBAAQ,CAACzD,IAAT,GAAgB4D,QAAhB,CAAyB,QAAzB;AACD,eAFD,MAEO;AACLH,wBAAQ,CAACzD,IAAT,GAAgBuD,WAAhB,CAA4B,QAA5B;AACD;AACF,aAPD;AASA,+CAAC,CAAC,uBAAD,CAAD,CAA2BA,WAA3B,CAAuC,QAAvC;AACD;AAGF;;;uCAEW;AACV,eAAKL,YAAL,CAAkBW,IAAlB;AACD;;;qCAES;AACR,eAAKC,MAAL,GAAc,CAAC,KAAKA,MAApB;AACD;;;iCAEQ;AACP,eAAK/E,WAAL,CAAiBgF,OAAjB;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECtCe,uH,IAAwB;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WACpB,mP,IACI,mhC,IACM,gF,IACG;AAAA;;AAJU;;AAAH,sBAAG,SAAH;;AAA6C;;AAA7C,sBAA6C,SAA7C;AAAsE,O,EAAA;AAAtE;;AAAA;;AAAA;AAIH,O;AAAA;;;qEAErB,uH,IAAwB;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WACpB,mP,IACI,kmB,IACM,iF,IACA;AAAA;;AAJwC;;AAA9B,sBAA8B,SAA9B;;AAAyE;;AAAzE,sBAAyE,SAAzE;AAAkG,O,EAAA;AAAlG;;AAAA;;AAAA;AAIN,O;AAAA;;;qEAfpC,gJ,IACE,+I,IACI,uJ,IACI,8I,IACI,wH,IACI,yH,GAAA;AAAA;AAAA,c,GAMA,yH,GAAA;AAAA;AAAA,c,GAMA,uH,IAAI;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;;UAAmI;AAAA;AAAA,Q,GACnI,oP,IACI,qzG,IACM,wF,IACO;AAAA;AAhBjB,4BAAmB,WAAnB;;AAAJ,sBAAI,SAAJ;;AAMI,4BAAmB,WAAnB;;AAAJ,sBAAI,SAAJ;;AAMkC;;AAA9B,uBAA8B,SAA9B;;AAAmI;;AAA1B;;AAAzG,uBAAmI,SAAnI,EAAyG,SAAzG;AAAkI,O,EAAA;AAAlI;;AAAA;;AAAA;AAIqB,O;AAAA;;;qEAtC3C,+I,IACE,+I,IACE,mJ,IACE,yI,IAGE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAAyI,mL,IAE3I,oJ,IACE,ke,GAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,GAEA,6V,GAAA,0U,GAMR,yH,GAAA;AAAA;AAAA,c,GA4BM;AAAA;;AAvC8C;;AAA5C,sBAA4C,SAA5C;;AAG4G;AAA3C;AAAkB,2BAAwB,aAAxB;;AAAnF,uBAA4G,SAA5G,EAAiE,SAAjE,EAAmF,SAAnF;;AAEA;;AAMgB,4BAAsB,cAAtB;;AAAxB,uBAAwB,SAAxB;AAA8C,O,EAAA;AAXtC;;AAAA;;AAAA;;AAGA;;AAAA;;AAAA;AAA4I,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVpJ;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;QAaaC,uB;AASX,uCAAoBhF,iBAApB,EAAkEC,MAAlE,EAAkF;AAAA;;AAA9D,aAAAD,iBAAA,GAAAA,iBAAA;AAA8C,aAAAC,MAAA,GAAAA,MAAA;AAChE,YAAMkE,YAAY,GAAG,KAAKnE,iBAAL,CAAuBoB,mBAAvB,EAArB;;AACA,YAAI+C,YAAJ,EAAkB;AAChB,eAAKc,WAAL,GAAmBd,YAAY,CAACc,WAAhC;AACA,eAAK/B,SAAL,GAAiBiB,YAAY,CAACjB,SAA9B;AACA,eAAKgC,UAAL,GAAkBf,YAAY,CAACe,UAA/B;AACD;;AACD,aAAKC,YAAL,GAAoB,CAClB;AAAEC,cAAI,EAAE,KAAKH,WAAb;AAA0B7G,cAAI,EAAE,KAAK6G;AAArC,SADkB,CAApB;AAID;;;;mCAEO;AAEN,6CAAC,CAACZ,QAAD,CAAD,CAAYC,EAAZ,CAAe,OAAf,EAAwB,YAAY;AAClC,+CAAC,CAAC,uBAAD,CAAD,CAA2BtD,IAA3B,GAAkCuD,WAAlC,CAA8C,QAA9C;AACA,+CAAC,CAAC,uBAAD,CAAD,CAA2BA,WAA3B,CAAuC,QAAvC;AACD,WAHD;;AAKA,cAAI,mCAAC,CAAC,gBAAD,CAAD,CAAoBC,MAAxB,EAAgC;AAC9B,gBAAMC,QAAQ,GAAG,mCAAC,CAAC,gBAAD,CAAlB;AACAA,oBAAQ,CAACH,EAAT,CAAY,OAAZ,EAAqB,UAAUpG,CAAV,EAAa;AAChCA,eAAC,CAACwG,eAAF;;AACA,kBAAI,CAACD,QAAQ,CAACzD,IAAT,GAAgB2D,QAAhB,CAAyB,QAAzB,CAAL,EAAyC;AACvCF,wBAAQ,CAACzD,IAAT,GAAgB4D,QAAhB,CAAyB,QAAzB;AACD,eAFD,MAEO;AACLH,wBAAQ,CAACzD,IAAT,GAAgBuD,WAAhB,CAA4B,QAA5B;AACD;AACF,aAPD;AAQD;;AAED,cAAG,KAAKtE,MAAL,CAAYgD,GAAZ,KAAoB,UAApB,IAAkC,KAAKhD,MAAL,CAAYgD,GAAZ,KAAoB,aAAtD,IAAuE,KAAKhD,MAAL,CAAYgD,GAAZ,KAAoB,kBAA9F,EACA;AACE,iBAAKoC,aAAL,GAAqB,KAArB;AACD,WAHD,MAGO;AACL,iBAAKA,aAAL,GAAqB,IAArB;AACD;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECrDa;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAA6F,mL,IAAuD;AAA7E;;AAAvE,sBAAuE,SAAvE;AAA4F,O,EAAA;AAA5F;;AAAA;;AAAA;AAAwJ,O;AAAA;;;qEACxJ,yK,IAAuE,8E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAgB,O;AAAA;;;qEAE3F,iJ,IACI;AAAA;AAAA,oBAEwF,UAFxF;;AAEI;;;;;AAFJ;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA,c,EAAA,wL,EAAA,kN,GAEwF;AAAA;AADT;AADnD;AAC6B,4BAAqB,UAArB;;AADzD,sBAC+E,SAD/E,EAA4B,UAA5B,EACyD,UADzD;;AAA4B;AAEa,4BAAiC,sBAAjC;;AAFzC,sBAA4B,UAA5B,EAEyC,UAFzC;AAE0E,O,EAAA;AAF1E;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAEwF,O;AAAA;;;qEAuBpF,uH,IAA0C;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WACtC,mP,IACI,mhC,IACM,gF,IACG;AAAA;;AAJ4B;;AAAH,sBAAG,SAAH;;AAA6C;;AAA7C,sBAA6C,SAA7C;AAAsE,O,EAAA;AAAtE;;AAAA;;AAAA;AAIrB,O;AAAA;;;qEAOrB,uH,IACI;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WACA,mP,IACI,kmB,IACM,iF,IACA;AAAA;;AAJoB;;AAA9B,sBAA8B,SAA9B;;AAAyE;;AAAzE,sBAAyE,SAAzE;AAAkG,O,EAAA;AAAlG;;AAAA;;AAAA;AAIc,O;AAAA;;;qEAQlB,uH,IAA2B;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WACvB,mP,IACI,ozG,IACM,wF,IACO;AAAA;;AAJoC;;AAA9B,sBAA8B,SAA9B;;AAAyG;;AAAzG,sBAAyG,SAAzG;AAAkI,O,EAAA;AAAA;;AAAC,2BAA2B,SAA3B;;AAAnI;;AAAA;;AAAA,sBAAmI,SAAnI;AAIF,O;AAAA;;;qEAKjC,8I,IACI;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAAyB,mP,IACrB,4V,IACM,4F,IACW;AAHlB;;AAAH,sBAAG,SAAH;AAAwB,O,EAAA;AAAxB;;AAAA;;AAAA;AAGyB,O;AAAA;;;qEAhDzC,gJ,IACI,+I,IACI,uJ,IACI,mL,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAqD;AAAA;AAAA,Q,GACjD,uH,IAOI,iH,GAAA;AAAA;AAAA,c,GAWA,iH,GAAA;AAAA;AAAA,c,GAaA,iH,GAAA;AAAA;AAAA,c,GASR,iH,GAAA;AAAA;AAAA,c,GAKM;AAAA;;AA9C+C;;AAA/B;;AAAtB,sBAAqD,SAArD,EAAsB,SAAtB;;AAQY,kDAAqC,WAArC;;AAAJ,uBAAI,SAAJ;;AAWI,kDAAqC,WAArC;;AAAJ,uBAAI,SAAJ;;AAaI,4BAAsB,cAAtB;;AAAJ,uBAAI,SAAJ;;AASe,kDAA0C,gBAA1C;;AAAvB,uBAAuB,SAAvB;AAAiE,O,EAAA,I;AAAA;;;;;WApE7E,oJ,IACA,+I,IACI,+I,IACI,mJ,IACI,sJ,IACA,yI,IACI,iH,GAAA;AAAA;AAAA,c,GACA,iH,GAAA;AAAA;AAAA,c,GAEJ,iH,GAAA;AAAA;AAAA,c,GAOA,qJ,IACI;AAAA;AAAA,oBAA4E,UAA5E;;AAAmB;;;;;AAAnB;AAAA,0O,GAAA;AAAA;AAAA,Q,GAOhB,iH,GAAA;AAAA;AAAA,c,GAoDM;AAAA;AAtEa;;AAAH,sBAAG,SAAH;;AACG;;AAAH,uBAAG,SAAH;;AAEsB,4BAAsB,cAAtB;;AAA1B,uBAA0B,SAA1B;;AAQI;;AAOQ,4BAAsB,cAAtB;;AAAxB,uBAAwB,SAAxB;AAA8C,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCRjCC,e;;;;;AAsBX,+BAAoBC,cAApB,EAA4DtF,MAA5D,EAAoFuF,cAApF,EAA4HxF,iBAA5H,EAAkK;AAAA;;AAAA;;AAChK;AADkB,eAAAuF,cAAA,GAAAA,cAAA;AAAwC,eAAAtF,MAAA,GAAAA,MAAA;AAAwB,eAAAuF,cAAA,GAAAA,cAAA;AAAwC,eAAAxF,iBAAA,GAAAA,iBAAA;AApBlH,eAAAyF,iBAAA,GAAoB,IAAI,0DAAJ,EAApB;AAGF,eAAAvF,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,eAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAQR,eAAAkF,aAAA,GAAyB,KAAzB;AAIA,eAAAK,eAAA,GAA2B,KAA3B;AACA,eAAAR,UAAA,GAAsB,KAAtB;AAGkK;AAEjK;;;;sCACU;AACT,cAAI,KAAKhF,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAEgB;;;;;;;;;AACf,yBAAKgE,WAAL,GAAmB,EAAnB;AACA,yBAAKU,SAAL,GAAiB,IAAIC,KAAJ,EAAjB;AACA,yBAAKzE,gBAAL,GAAwB,KAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;;0BAGI,KAAKnB,MAAL,CAAYgD,GAAZ,KAAoB,UAApB,IAAkC,KAAKhD,MAAL,CAAYgD,GAAZ,KAAoB,aAAtD,IAAuE,KAAKhD,MAAL,CAAYgD,GAAZ,KAAoB,kBAA3F,IAAiH,KAAKhD,MAAL,CAAYgD,GAAZ,KAAoB,kC;;;;;AACvI,yBAAKoC,aAAL,GAAqB,KAArB;;AACA,2BAAM,KAAKQ,eAAL,EAAN;;;;;;;AAGA,yBAAK3C,SAAL,GAAiB,KAAK/B,gBAAL,CAAsB+B,SAAvC;AACA,yBAAKmC,aAAL,GAAqB,IAArB;;;AAGF,wBAAI,KAAKlE,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASuE,iBAA5C,EAA+D;AAC7D,2BAAKb,WAAL,GAAmB,KAAK9D,gBAAL,CAAsB8D,WAAzC;AACA,2BAAKS,eAAL,GAAuB,IAAvB;AACD;;AAED,wBAAI,KAAKxC,SAAL,KAAmB,CAAvB,EAA0B,CAExB;AACA;AAED;;AAED,yBAAKsC,cAAL,CAAoBO,MAApB,CACGhE,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EAEG+B,SAFH,CAEa,UAAC8D,MAAD,EAAoB;AAC7B,4BAAI,CAAC7C,SAAL,GAAiB6C,MAAM,CAAC,IAAD,CAAvB;AACD,qBAJH;AAMA,uDAAC,CAAC1B,QAAD,CAAD,CAAYC,EAAZ,CAAe,OAAf,EAAwB,YAAY;AAClC,yDAAC,CAAC,uBAAD,CAAD,CAA2BtD,IAA3B,GAAkCuD,WAAlC,CAA8C,QAA9C;AACA,yDAAC,CAAC,uBAAD,CAAD,CAA2BA,WAA3B,CAAuC,QAAvC;AACD,qBAHD;;AAKA,wBAAI,mCAAC,CAAC,gBAAD,CAAD,CAAoBC,MAAxB,EAAgC;AACxBC,8BADwB,GACb,mCAAC,CAAC,gBAAD,CADY;AAE9BA,8BAAQ,CAACH,EAAT,CAAY,OAAZ,EAAqB,UAAUpG,CAAV,EAAa;AAChCA,yBAAC,CAACwG,eAAF;;AACA,4BAAI,CAACD,QAAQ,CAACzD,IAAT,GAAgB2D,QAAhB,CAAyB,QAAzB,CAAL,EAAyC;AACvCF,kCAAQ,CAACzD,IAAT,GAAgB4D,QAAhB,CAAyB,QAAzB;AACD,yBAFD,MAEO;AACLH,kCAAQ,CAACzD,IAAT,GAAgBuD,WAAhB,CAA4B,QAA5B;AACD;AACF,uBAPD;AAQD;;;;;;;;;AAEF;;;mCAEU;AACT,cAAMyB,UAAU,GAAG,aAAa,KAAK9C,SAAlB,GAA8B,iBAAjD;AACA,iBAAO,KAAKjD,MAAL,CAAYgD,GAAZ,CAAgBgD,QAAhB,CAAyBD,UAAzB,CAAP;AACD;;;0CAGuB;;;;;;;;AAEtB,yBAAKT,cAAL,CAAoBM,eAApB,GACG9D,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,6BAAM,MAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,qBAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA+C;AACxD,4BAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,4BAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,8BAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,kCAAI,CAACsD,SAAL,GAAiBzD,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAzB;;AACA,gCAAI,MAAI,CAACsD,SAAL,CAAenB,MAAf,GAAwB,CAAxB,IAA6B,MAAI,CAACtB,SAAtC,EAAiD;AAC/C,oCAAI,CAACyC,SAAL,GAAiB,MAAI,CAACA,SAAL,CAAeO,IAAf,CAAoB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AAC7C,uCAAOD,CAAC,CAACE,WAAF,CAAcC,WAAd,GAA4BC,aAA5B,CAA0CH,CAAC,CAACC,WAAF,CAAcC,WAAd,EAA1C,CAAP;AACD,+BAFgB,CAAjB;AAGA,oCAAI,CAACE,qBAAL,GAA6B,IAAI,6FAAJ,EAA7B;AACA,oCAAI,CAACA,qBAAL,GAA6B,MAAI,CAACb,SAAL,CAAec,IAAf,CAAoB,UAAAC,CAAC;AAAA,uCAAIA,CAAC,CAACC,SAAF,IAAe,MAAI,CAACzD,SAAxB;AAAA,+BAArB,CAA7B;;AAEA,kCAAI,aAAI,CAACsD,qBAAL,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEI,aAA5B,MAA8C,qEAAiBC,YAAnE,EAAiF;AAC/E,sCAAI,CAAC3B,UAAL,GAAkB,IAAlB;AACD;AACF;;AAED,gCAAI,MAAI,CAAC/D,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASuE,iBAA5C,EAA+D;AAC7D,oCAAI,CAACH,SAAL,GAAiB,MAAI,CAACA,SAAL,CAAemB,MAAf,CAAsB,UAAAJ,CAAC;AAAA,uCAAIA,CAAC,CAACC,SAAF,KAAgB,MAAI,CAACxF,gBAAL,CAAsB+B,SAA1C;AAAA,+BAAvB,CAAjB;AACD;AACF;AAEF,yBArBD,MAsBK;AACH,gCAAI,CAAClB,OAAL,GAAe,KAAf;;AACA,gCAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,uBA3BD;AA4BD,qBA/BH,EA+BK,UAACC,iBAAD,EAAuB;AACxB,4BAAI,CAACT,OAAL,GAAe,KAAf;;AACA,4BAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,qBAlCH;;;;;;;;;AAmCD;;;wCAEe0G,K,EAAY;AAE1B,eAAKtB,iBAAL,CAAuBZ,IAAvB,CAA4BkC,KAAK,CAAClF,KAAlC;AACD;;;oCAEWkF,K,EAAO;AACjB,eAAKC,cAAL,CAAoBC,IAApB;AACD;;;qCAEYvE,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAsB,IAAtB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,kBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,kBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;;MArJkC,2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECpBrC,iK,IACE,+I,IACI,6J,IACI,kK,IACI,8N,IACA,uH,IACA,uH,IAAI,6E,IACJ,uH,IAAI,wF,IACJ,uH,IAAG,qH,IAEH;AAAA;AAAA,oBAKW,UALX;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,qF,IAC7D,oP,IACA,6hC,IACA,goB,IAAkf,I,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACTlgB;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAOaoE,qB;AAMX,qCAAoBlH,iBAApB,EAAkEC,MAAlE,EAAkF;AAAA;;AAA9D,aAAAD,iBAAA,GAAAA,iBAAA;AAA8C,aAAAC,MAAA,GAAAA,MAAA;AAAmB;;;;mCAE7E;AACN,eAAKkB,gBAAL,GAAwB,KAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;AACA,eAAK8D,UAAL,GAAkB,KAAK/D,gBAAL,CAAsB+D,UAAxC;AACA,eAAKhC,SAAL,GAAiB,KAAK/B,gBAAL,CAAsB+B,SAAvC;AACD;;;mCAEU;AACT,cAAG,KAAK/B,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASC,YAA3C,EAAyD;AACvD;AAEA,gBAAMyB,GAAG,GAAG,CAAC,KAAKiC,UAAN,GAAmB,cAAc,KAAKhC,SAAnB,GAA+B,QAAlD,GAA6D,cAAc,KAAKA,SAAnB,GAA+B,2DAAxG;AACA,iBAAKjD,MAAL,CAAY+C,QAAZ,CAAqB,CAACC,GAAD,CAArB;AAED,WAND,MAMO;AACL,iBAAKhD,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,UAAD,CAArB;AACD;AACF;;;;;;;;;;;;;;;;;;;;;AClCH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAKamE,a;AAGX,6BAAoBC,QAApB,EAAiDC,aAAjD,EAA4E;AAAA;;AAAxD,aAAAD,QAAA,GAAAA,QAAA;AAA6B,aAAAC,aAAA,GAAAA,aAAA;AAA8B;;;;mCAGpE;AACT,cAAMnB,IAAI,GAAG,IAAI,+CAAJ,EAAb;AAEA,cAAMoB,IAAI,GAAG,KAAKD,aAAL,CAAmBE,aAAhC;AAEA,cAAMC,KAAK,GAAGF,IAAI,CAACG,YAAL,CAAkB,YAAlB,CAAd;AAEA,cAAMC,IAAI,GAAGJ,IAAI,CAACG,YAAL,CAAkB,WAAlB,CAAb;AAEA,cAAME,QAAQ,GAAGL,IAAI,CAACG,YAAL,CAAkB,WAAlB,CAAjB;;AAEA,cAAID,KAAK,KAAK,MAAd,EAAsB;AACpB,iBAAKI,OAAL,CAAa1B,IAAb,CAAkBA,IAAI,CAAC2B,SAAL,CAAeF,QAAf,EAAyBH,KAAzB,EAAgCE,IAAhC,CAAlB;AACAJ,gBAAI,CAACQ,YAAL,CAAkB,YAAlB,EAAgC,KAAhC;AACD,WAHD,MAGO;AACL,iBAAKF,OAAL,CAAa1B,IAAb,CAAkBA,IAAI,CAAC2B,SAAL,CAAeF,QAAf,EAAyBH,KAAzB,EAAgCE,IAAhC,CAAlB;AACAJ,gBAAI,CAACQ,YAAL,CAAkB,YAAlB,EAAgC,MAAhC;AACD;AACF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECnBK,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAAmI,UAAnI;;AAAkD;;;;;AAAlD;AAAA,oB,IAAgF,2K,IAA8C;AAAA;AAF3H;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAWV,2I,IAAkE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAqC,O;AAAA;;;qEACvG,2I,IAA+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEAvBpH,iJ,IACI,wJ,IACE,6J,IAIE,yI,IACE,uL,IAEF,mJ,IAA4B,6E,IAC5B,wI,GAAA;AAAA;AAAA,c,GAIA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;8bACE,iJ,IACE,uH,IAAG,qI,IAEL,wJ,IACE,mJ,IAA2B,+E,IAC3B,sJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,wI,GAAA;AAAA;AAAA,c,GACA,wI,GAAA;AAAA;AAAA,c,GAGJ,oL,IACE,qJ,IAA6B;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAA4E,uF,IACzG;AAAA;AAAA,oBAA8E,UAA9E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,gF,IAAM;AAAA;AAlBL,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAIM,2BAAkB,KAAlB;;AAAN,uBAAM,SAAN;;AAOa;;AAAP,uBAAO,UAAP;;AACM;;AAAN,uBAAM,UAAN;;AACM;;AAAN,uBAAM,UAAN;;AAImF;;AAAxD,uBAAwD,UAAxD;;AAA8B;;AAA9B,uBAA8B,UAA9B;AAAuD,O,EAAA;AAAA;AAlB5D;;AAAA;;AAK5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOM;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAM2B;;AAAA;;AAAA;AAA6F,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCVzHC,sC;;;;;AAsBX,sDAAoBjI,WAApB,EAAsDkI,gBAAtD,EAAwG/H,MAAxG,EAAwH;AAAA;;AAAA;;AACtH;AADkB,eAAAH,WAAA,GAAAA,WAAA;AAAkC,eAAAkI,gBAAA,GAAAA,gBAAA;AAAkD,eAAA/H,MAAA,GAAAA,MAAA;AApBxG,eAAAN,KAAA,GAAQ,yBAAR;AACA,eAAAsI,OAAA,GAAU,kBAAV;AAEA,eAAA7H,cAAA,GAA0B,KAA1B;AACA,eAAAC,OAAA,GAAiB,EAAjB;AAGQ,eAAAH,YAAA,GAAe,IAAI,4CAAJ,EAAf;AAER,eAAAI,UAAA,GAAa;AACX4H,eAAK,EAAE;AADI,SAAb;AAIA,eAAAxH,kBAAA,GAAqB;AACnBwH,eAAK,EAAE;AACLvH,oBAAQ,EAAE,mBADL;AAELwH,sBAAU,EAAE;AAFP;AADY,SAArB;AAOwH;AAEvH;;;;mCAEO;AACN,eAAKjH,SAAL;AACD;;;sCAEU;AACT,cAAI,KAAKhB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;AACF;;;mCACO;AAAA;;AACN,cAAI,KAAKQ,IAAL,CAAUX,OAAd,EAAuB;AACrB,iBAAKY,iBAAL;AACA;AACD;;AAED,cAAM0G,cAAc,GAAG,IAAI,oFAAJ,EAAvB;AACAA,wBAAc,CAACF,KAAf,GAAuB,KAAKzG,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4H,KAA9B,EAAqCrG,KAA5D;AAEA,eAAKmG,gBAAL,CAAsBI,cAAtB,CAAqCA,cAArC,EACCrG,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,MAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4B;AACrC,kBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC;AAAA,qBAAY;AAAA;AAAA;AAAA;AAAA;AAE1C,4BAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB;AACA,+BAAKE,YAAL,CAAkB,oEAAlB,EAAwF,IAAxF;AACAO,oCAAU,CAAC,YAAM,CACf;AACA;AACD,2BAHS,EAGP,yEAAYC,eAHL,CAAV;AAID,yBAPD,MAOM;AACJ,+BAAKR,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AAXyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAZ;AAAA,aAAhC;AAaD,WAhBD,EAgBG,UAACC,iBAAD,EAAuB;AACxB,kBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAlBD;AAmBD;;;qCAEYqC,G,EAAMC,S,EAAoB;AAAA;;AACrC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEgB;AACf,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;oCAGgB;AACf,cAAM+C,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AAEAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB4H,KAArC,EAA4C,KAAKpI,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgBuH,KAAtC,CAAd;AAA4DzE,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AAA1G,WAA7B,CAA5C;AAEA,eAAKlC,IAAL,GAAY0B,SAAZ;AACD;;;;MAvFyD,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECVpD,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAAmI,UAAnI;;AAAkD;;;;;AAAlD;AAAA,oB,IAAgF,2K,IAA8C;AAAA;AAF3H;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAWV,2I,IAAkE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAqC,O;AAAA;;;qEACvG,2I,IAA+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEArBpH,iJ,IACI,wJ,IACE,6J,IAEE,yI,IACE,uL,IAEF,mJ,IAA4B,6E,IAC5B,yH,GAAA;AAAA;AAAA,c,GAIA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;8bACE,iJ,IACE,uH,IAAG,qI,IAEL,wJ,IACE,mJ,IAA2B,+E,IAC3B,sJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,yH,GAAA;AAAA;AAAA,c,GACA,yH,GAAA;AAAA;AAAA,c,GAGJ,oL,IACE,qJ,IAA6B;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAA4E,uF,IACzG;AAAA;AAAA,oBAA8E,UAA9E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,gF,IAAM;AAAA;AAlBL,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAIM,2BAAkB,KAAlB;;AAAN,uBAAM,SAAN;;AAOa;;AAAP,uBAAO,UAAP;;AACM;;AAAN,uBAAM,UAAN;;AACM;;AAAN,uBAAM,UAAN;;AAImF;;AAAxD,uBAAwD,UAAxD;;AAA8B;;AAA9B,uBAA8B,UAA9B;AAAuD,O,EAAA;AAAA;AAlB5D;;AAAA;;AAK5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOM;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAM2B;;AAAA;;AAAA;AAA6F,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCPzHkF,uB;;;;;AAqBX,uCAAoBvI,WAApB,EAAsDC,WAAtD,EAAwFE,MAAxF,EAAwG;AAAA;;AAAA;;AACtG;AADkB,gBAAAH,WAAA,GAAAA,WAAA;AAAkC,gBAAAC,WAAA,GAAAA,WAAA;AAAkC,gBAAAE,MAAA,GAAAA,MAAA;AApBxF,gBAAAN,KAAA,GAAQ,kBAAR;AACA,gBAAAsI,OAAA,GAAU,kBAAV;AAEA,gBAAA7H,cAAA,GAA0B,KAA1B;AACA,gBAAAC,OAAA,GAAiB,EAAjB;AAGQ,gBAAAH,YAAA,GAAe,IAAI,4CAAJ,EAAf;AAER,gBAAAI,UAAA,GAAa;AACX4H,eAAK,EAAE;AADI,SAAb;AAIA,gBAAAxH,kBAAA,GAAqB;AACnBwH,eAAK,EAAE;AACLvH,oBAAQ,EAAE,mBADL;AAELwH,sBAAU,EAAE;AAFP;AADY,SAArB;AAOwG;AAEvG;;;;mCAEO;AACN,eAAKjH,SAAL;AACD;;;sCAEU;AACT,cAAI,KAAKhB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;AACF;;;mCACO;AAAA;;AACN,cAAI,KAAKQ,IAAL,CAAUX,OAAd,EAAuB;AACrB,iBAAKY,iBAAL;AACA;AACD;;AAED,cAAM0G,cAAc,GAAG,IAAI,oFAAJ,EAAvB;AACAA,wBAAc,CAACF,KAAf,GAAuB,KAAKzG,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4H,KAA9B,EAAqCrG,KAA5D;AAEA,eAAK9B,WAAL,CAAiBqI,cAAjB,CAAgCA,cAAhC,EACCrG,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4B;AACrC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC;AAAA,qBAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAE1C,4BAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB;AACA,+BAAKE,YAAL,CAAkB,oEAAlB,EAAwF,IAAxF;AACAO,oCAAU,CAAC,YAAM;AACf,mCAAI,CAAC5C,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACD,2BAFS,EAEP,yEAAYF,eAFL,CAAV;AAGD,yBAND,MAMM;AACJ,+BAAKR,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AAVyC;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAZ;AAAA,aAAhC;AAYD,WAfD,EAeG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAjBD;AAkBD;;;qCAEYqC,G,EAAMC,S,EAAoB;AAAA;;AACrC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEgB;AACf,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;oCAGgB;AACf,cAAM+C,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AAEAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB4H,KAArC,EAA4C,KAAKpI,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgBuH,KAAtC,CAAd;AAA4DzE,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AAA1G,WAA7B,CAA5C;AAEA,eAAKlC,IAAL,GAAY0B,SAAZ;AACD;;;;MArF0C,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCHhCmF,mB;AACX,mCAAoBtI,iBAApB,EAAkEuI,SAAlE,EAAuGtI,MAAvG,EACYuI,IADZ,EAC8B;AAAA;;AADV,aAAAxI,iBAAA,GAAAA,iBAAA;AAA8C,aAAAuI,SAAA,GAAAA,SAAA;AAAqC,aAAAtI,MAAA,GAAAA,MAAA;AAC3F,aAAAuI,IAAA,GAAAA,IAAA;AAAqB;;;;oCAG/BC,K,EACAC,K,EAA4B;;;;;;;AAGtBvH,oC,GAAmB,KAAKnB,iBAAL,CAAuBoB,mBAAvB,E;;yBACrBD,gB;;;;;AAEIwH,yB,GAAQxH,gBAAgB,CAACwH,K;;0BAC3BA,KAAK,IAAI,CAAC,KAAKJ,SAAL,CAAeK,cAAf,CAA8BD,KAA9B,C;;;;;sDAEL,I;;;;AAGgB,2BAAM,KAAKE,mBAAL,CAAyBF,KAAzB,CAAN;;;AAAnBG,oC;;AACN,wBAAI,CAACA,gBAAL,EAAuB;AACrB,2BAAK7I,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACD;;sDACM8F,gB;;;AAGP;AACA,yBAAK7I,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,QAAD,CAArB;;;;;;;;;AAEH;;;4CAEiC2F,K,EAAa;;;;;;;;;;;AAC7C;AACMI,6B,GAAY,KAAK/I,iBAAL,CAAuBoB,mBAAvB,E;;0BACd,CAAC2H,SAAS,CAACJ,KAAX,IAAoB,CAACI,SAAS,CAACC,Y;;;;;sDAC1B,K;;;AAGHC,+B,GAAcC,IAAI,CAACC,SAAL,CAAe;AAAEC,iCAAW,EAAEL,SAAS,CAACJ,KAAzB;AAAgCU,kCAAY,EAAEN,SAAS,CAACC;AAAxD,qBAAf,C;AAEhB/F,uB,GAAM,sEAAYqG,UAAZ,GAAyB,e;;AAChB,2BAAM,IAAIvL,OAAJ,CAA8C,UAACC,OAAD,EAAUuL,MAAV,EAAqB;AAC1F,6BAAI,CAACf,IAAL,CAAUgB,IAAV,CAAiDvG,GAAjD,EAAsDgG,WAAtD,EAAmE;AACjEQ,+BAAO,EAAE,IAAI,gEAAJ,CAAgB;AACvB,0CAAgB;AADO,yBAAhB;AADwD,uBAAnE,EAIGxH,SAJH,CAIa;AACXjB,4BAAI,EAAE,cAAC0I,GAAD;AAAA,iCAA2C1L,OAAO,CAAC0L,GAAD,CAAlD;AAAA,yBADK;AAEXC,6BAAK,EAAE,eAACC,CAAD,EAAO;AAAEL,gCAAM;AAAET,0CAAgB,GAAG,KAAnB;AAA2B;AAFxC,uBAJb;AAQD,qBATwB,CAAN;;;AAAbe,8B;;AAUN,wBAAIA,UAAU,CAACzH,SAAf,EAA0B;AACxB,2BAAKpC,iBAAL,CAAuB8J,sBAAvB;AACMC,mCAFkB,GAEF,IAAI,4FAAJ,EAFE;AAGxBA,mCAAa,CAAC7G,SAAd,GAA0B,CAAH,KAAG2G,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEsE,SAArD;AACAoD,mCAAa,CAAC9E,WAAd,GAA4B,CAAH,KAAG4E,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEgE,WAAvD;AACA0D,mCAAa,CAACC,OAAd,GAAwB,CAAH,KAAGH,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE4H,OAAnD;AACAF,mCAAa,CAAC1I,MAAd,GAAuB,CAAH,KAAGwI,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE6H,MAAlD;AACAH,mCAAa,CAACxI,IAAd,GAAqB,CAAH,KAAGsI,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE8H,IAAhD;AACAJ,mCAAa,CAAC7B,KAAd,GAAsB,CAAH,KAAG2B,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE+H,KAAjD;AACAL,mCAAa,CAACM,aAAd,GAA8B,CAAH,KAAGR,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEiI,SAAzD;AACAP,mCAAa,CAACQ,YAAd,GAA6B,CAAH,KAAGV,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEmI,QAAxD;AACAT,mCAAa,CAAC3F,QAAd,GAAyB,OAAAyF,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEiI,SAA3B,IAAuC,GAAvC,IAA0C,MAAGT,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAf,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEmI,QAAxE,CAAzB;AACAT,mCAAa,CAAC3G,KAAd,GAAsB,CAAH,KAAGyG,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEoI,KAAjD;;AAEA,0BAAI,OAAAZ,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE8H,IAA3B,KAAmC,sDAAS3I,YAAhD,EAA8D;AAC5DuI,qCAAa,CAAC7E,UAAd,GAA2B,CAAH,KAAG2E,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEqI,UAAtD;AACA,4BAAI,OAAAb,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEoI,KAA3B,KAAoC,IAAxC,EACEV,aAAa,CAACY,cAAd,GAA+B,CAAH,KAAGd,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEuI,eAA1D,CADF,KAEK,IAAI,OAAAf,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEoI,KAA3B,KAAoC,IAAxC,EACHV,aAAa,CAACc,eAAd,GAAgC,CAAH,KAAGhB,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEyI,gBAA3D;AACH;;AAEDf,mCAAa,CAACpB,KAAd,GAAsB,CAAH,KAAGkB,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEsG,KAAjD;AACAoB,mCAAa,CAACf,YAAd,GAA6B,CAAH,KAAGa,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAExH,aAAZ,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE2G,YAAxD;AACA,2BAAKhJ,iBAAL,CAAuB+K,qBAAvB,CAA6ChB,aAA7C;AACD;;AACDjB,oCAAgB,GAAG,IAAnB;sDACOA,gB;;;;;;;;;AACR;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEClFG,sJ,IAAsE,8E,IAAI,I,EAAA,I;AAAA;;;qEAC1E;AAAA;AAAA,oBAA6E,UAA7E;;AAAiD;;;;;AAAjD;AAAA,oB,IAA6E,I,EAAA;AAAA;AAA5B,2BAAyB,gBAAzB;;AAAjD,sBAAiD,SAAjD;AAA0E,O;AAAA;;;qEAK9E,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAEI,UAFJ;;AAAkD;;;;;AAAlD;AAAA,oB,IACE,2K,IAA8C;AAAA;AAH7C;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAUZ,2J,IACE,kJ,IAA2B,uF,IAC3B;AAAA;AAAA,oBAE+D,UAF/D;;AAA4D;;;;;AACc;;;;;AAD1E;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAA+F;AAAA;AAAA,Q,EAA/F,wL,EAAA,mN,GAE+D;AAAA;AAFnC;AAAhB;AACY;AACL;AAAnB;AAD6C,4BAA4B,iBAA5B;;AAD7C,sBAA4B,SAA5B,EAAY,UAAZ,EACwB,UADxB,EAEmB,UAFnB,EAEA,UAFA,EAC6C,UAD7C;;AAA4D,4BAAkC,qBAAlC;;AAAmC;;AAA/F,sBAA4D,UAA5D,EAA+F,UAA/F;AAAoI,O,EAAA;AAApI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAE+D,O;AAAA;;;qEAcrD;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACqE;AAAxC;;AAD7B,sBAC6B,SAD7B;AACkE,O,EAAA;AADlE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACqE,O;AAAA;;;qEAUrE;AAAA;AAAA,oBAGa,UAHb;;AACyD;;;;;AADzD;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAGa;AADqC;AAFtB;AAAhB;AACwB;AACiD;AAAnB;AADtD,2BAAuB,OAAvB,CAAuB,OAAvB,CAAuB,SAAvB,CAAuB,MAAvB;;AADZ,sBAEkD,SAFlD,EAA4B,UAA5B,EAAY,UAAZ,EACoC,UADpC,EAEqF,UAFrF,EAEkE,UAFlE,EACY,UADZ;;AAEY;;AAFZ,sBAEY,UAFZ;AAEiD,O,EAAA;AAFjD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAGa,O;AAAA;;;qEASb;AAAA;AAAA,oBAA4Q,UAA5Q;;AAAsN;;;;;AAAtN;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAA4Q;AAAA;AAAxE;AAA/G;AAAxE;AAAwB;AAAuB,4BAAuB,UAAvB;;AAA5D,sBAAoM,SAApM,EAAqF,UAArF,EAAa,UAAb,EAAqC,UAArC,EAA4D,UAA5D;;AAA8J;;AAA9J,sBAA8J,UAA9J;AAAmM,O,EAAA;AAAnM;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA4Q,O;AAAA;;;qEA1BhR,0H,IACE,gJ,IACE,kJ,IAA2B,6E,IAC3B,iI,GAAA;AAAA;AAAA,c,GAWA,iI,GAAA;AAAA;AAAA,c,GAYA,kI,GAAA;AAAA;AAAA,c,GAeA,gF,IAEJ;AAxCW;;AAAP,sBAAO,SAAP;;AAWoF;;AAApF,sBAAoF,SAApF;;AAYqG;;AAArG,sBAAqG,SAArG;AAAsI,O,EAAA;AAAA;AAxB3G;;AAAA;;AAuC3B;;AAAA;AAEJ,O;AAAA;;;qEA7CF,yH,IACE,uH,IAAI,gF,IACJ,iI,GAAA;AAAA;AAAA,c,GA2Ce,4E,IAAA;AAAA;AA3CD,2BAAoE,gBAApE;;AAAd,sBAAc,SAAd;AAAkF,O,EAAA,I;AAAA;;;qEAmD9E;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACqE;AAAxC;;AAD7B,sBAC6B,SAD7B;AACkE,O,EAAA;AADlE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACqE,O;AAAA;;;qEASrE;AAAA;AAAA,oBAIiB,UAJjB;;AAEgB;;;;;AACA;;;;;AAA0C;;;;;AAH1D;AAAA,0P,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAIiB;AAAA;AAF2E;AACM;AADpB;AADA,4BAA4B,aAA5B;;AAD9E,sBAE4F,SAF5F,EAGkG,UAHlG,EAE8E,UAF9E,EAC8E,UAD9E;;AACgB;;AADhB,sBACgB,UADhB;AACqD,O,EAAA;AADrD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAIiB,O;AAAA;;;qEAEjB;AAAA;AAAA,oBAMa,UANb;;AAIY;;;;;AAJZ;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,qM,EAAA,kN,GAMa;AAAA;AADe;AAAhB;AAA0E;AAAoB;;AAA9D,gGAAyC,OAAzC,CAAyC,MAAzC,CAAyC,OAAzC,CAAyC,SAAzC,CAAyC,SAAzC;;AAL5C,sBAK4B,SAL5B,EAKY,UALZ,EAKsF,UALtF,EAK0G,UAL1G,EAK4C,UAL5C;;AAGY,iGAA8C,OAA9C,CAA8C,MAA9C,CAA8C,OAA9C,CAA8C,SAA9C,CAA8C,SAA9C;;AAHZ,sBAGY,UAHZ;AAG0D,O,EAAA;AAH1D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAMa,O;AAAA;;;qEAxBf,gJ,IACE,kJ,IAA2B,6E,IAC3B,kI,GAAA;AAAA;AAAA,c,GAUA,kI,GAAA;AAAA;AAAA,c,GAMA,kI,GAAA;AAAA;AAAA,c,GAMa;AAtBN;;AAAP,sBAAO,SAAP;;AAU2C;;AAA3C,sBAA2C,SAA3C;;AAOY;;AADZ,sBACY,SADZ;AAC2C,O,EAAA;AAlBhB;;AAAA;AAAkB,O;AAAA;;;qEA8B7C;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaAAqI;AAAjD;;AAApF,sBAAoF,SAApF;AAAkI,O,EAAA;AAAlI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAqI,O;AAAA;;;qEACrI,+mB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAA2O;AAAA;AAA/B;AAAxH;AAAxE;AAAwB;AAAuB,4BAAuB,UAAvB;;AAA3D,sBAA4M,SAA5M,EAAoF,UAApF,EAAY,UAAZ,EAAoC,UAApC,EAA2D,UAA3D;;AAA6J;;AAA7J,sBAA6J,UAA7J;AAA2M,O,EAAA;AAA3M;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA2O,O;AAAA;;;qEAJ7O,gJ,IAEE,kJ,IAA2B,6E,IAC3B,kI,GAAA;AAAA;AAAA,c,GACA,kI,GAAA;AAAA;AAAA,c,GAA2O;AADxN;;AAAnB,sBAAmB,SAAnB;;AACoG;;AAApG,sBAAoG,SAApG;AAAqI,O,EAAA;AAF1G;;AAAA;AAA4B,O;AAAA;;;qEAMvD;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaAAmI;AAA/C;;AAApF,sBAAoF,SAApF;AAAgI,O,EAAA;AAAhI;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAmI,O;AAAA;;;qEACnI,+mB,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAA0O;AAAA;AAA/B;AAAtH;AAAxE;AAAwB;AAAuB,4BAAuB,UAAvB;;AAA5D,sBAA2M,SAA3M,EAAqF,UAArF,EAAa,UAAb,EAAqC,UAArC,EAA4D,UAA5D;;AAA8J;;AAA9J,sBAA8J,UAA9J;AAA0M,O,EAAA;AAA1M;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0O,O;AAAA;;;qEAH5O,gJ,IACE,kJ,IAA2B,6E,IAC3B,kI,GAAA;AAAA;AAAA,c,GACA,kI,GAAA;AAAA;AAAA,c,GAA0O;AADvN;;AAAnB,sBAAmB,SAAnB;;AACqG;;AAArG,sBAAqG,SAArG;AAAsI,O,EAAA;AAF3G;;AAAA;AAA0B,O;AAAA;;;qEApCzD,yH,IACE,kI,GAAA;AAAA;AAAA,c,GA4BA,kI,GAAA;AAAA;AAAA,c,GAMA,kI,GAAA;AAAA;AAAA,c,GAKM,+E,IAER;AAzC2B;;AAAzB,sBAAyB,SAAzB;;AA4ByB;;AAAzB,sBAAyB,SAAzB;;AAMyB;;AAAzB,sBAAyB,SAAzB;AAA2J,O,EAAA;AAAA;AAKrJ;;AAAA;AAER,O;AAAA;;;qEA5CF,yH,IACE,uH,IAAI,gF,IACJ,kI,GAAA;AAAA;AAAA,c,GA0Ce,4E,IAAA;AAAA;AA1CD,2BAAoE,gBAApE;;AAAd,sBAAc,SAAd;AAAkF,O,EAAA,I;AAAA;;;qEAiD9E;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACqE;AAAxC;;AAD7B,sBAC6B,SAD7B;AACkE,O,EAAA;AADlE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACqE,O;AAAA;;;qEAOrE;AAAA;AAAA,oBAMiB,UANjB;;AAGgB;;;;;AACgB;;;;;AAChB;;;;;AALhB;AAAA,0P,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,8E,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAMiB;AAAA;AAFD;AACiE;AAAxB;AAFwC;AADnB,4BAA+C,gCAA/C;;AAF9E,sBAIgB,SAJhB,EAKiF,UALjF,EAKyD,UALzD,EAGiG,UAHjG,EAE8E,UAF9E;;AAEgB;;AAFhB,sBAEgB,UAFhB;AAEqD,O,EAAA;AAFrD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAMiB,O;AAAA;;;qEAGjB;AAAA;AAAA,oBAMa,UANb;;AAIY;;;;;AAJZ;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,qM,EAAA,kN,GAMa;AAAA;AADe;AAAhB;AAA0E;AAAoB;;AAA9D,yFAAyC,OAAzC,CAAyC,OAAzC,CAAyC,SAAzC,CAAyC,SAAzC;;AAL5C,sBAK4B,SAL5B,EAKY,UALZ,EAKsF,UALtF,EAK0G,UAL1G,EAK4C,UAL5C;;AAGY,0FAA8C,OAA9C,CAA8C,OAA9C,CAA8C,SAA9C,CAA8C,SAA9C;;AAHZ,sBAGY,UAHZ;AAG0D,O,EAAA;AAH1D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAMa,O;AAAA;;;qEAEb;AAAA;AAAA,oBAA4P,UAA5P;;AAAsM;;;;;AAAtM;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAA4P;AAAA;AAAxE;AAAvK;AAAwB;AAAuB,4BAAuB,UAAvB;;AAA5D,sBAAoL,SAApL,EAAa,UAAb,EAAqC,UAArC,EAA4D,UAA5D;;AAA8I;;AAA9I,sBAA8I,UAA9I;AAAmL,O,EAAA;AAAnL;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA4P,O;AAAA;;;qEA5BhQ,0H,IACE,iJ,IACE,kJ,IAA2B,6E,IAC3B,kI,GAAA;AAAA;AAAA,c,GAQA,kI,GAAA;AAAA;AAAA,c,GASA,kI,GAAA;AAAA;AAAA,c,GAQA,kI,GAAA;AAAA;AAAA,c,GACI,gF,IAER;AA5BW;;AAAP,sBAAO,SAAP;;AASgB;;AADhB,sBACgB,SADhB;;AAUY;;AADZ,sBACY,SADZ;;AAQqF;;AAArF,uBAAqF,SAArF;AAAsH,O,EAAA;AAAA;AA1B3F;;AAAA;;AA2BvB;;AAAA;AAER,O;AAAA;;;qEAjCF,yH,IACE,uH,IAAI,gF,IACJ,kI,GAAA;AAAA;AAAA,c,GA+Be,4E,IAAA;AAAA;AA/BD,2BAAyE,qBAAzE;;AAAd,sBAAc,SAAd;AAAuF,O,EAAA,I;AAAA;;;qEAqCzF;AAAA;AAAA,oBAAgH,UAAhH;;AAAmF;;;;;AAAnF;AAAA,oB,IAAuG,+E,IAAK,I,EAAA,I;AAAA;;;qEAF9G,qJ,IACE;AAAA;AAAA,oBAAiJ,UAAjJ;;AAAgC;;;;;AAAhC;AAAA,oB,GAAA;AAAA;AAAA,c,EAAqD;AAAA;AAAA,Q,GAA6E,gF,IAClI,kI,GAAA;AAAA;AAAA,c,GAAgH;AAAA;;AAD3D,wFAA4E,0BAA5E,CAA4E,cAA5E;;AAArD,sBAAqD,SAArD;;AAC8B,2BAA0B,mBAA1B;;AAA9B,sBAA8B,SAA9B;AAAwD,O,EAAA,I;AAAA;;;qEA3I9D,0H,IACE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;6bACE,4K,IAIE,iI,GAAA;AAAA;AAAA,c,GAgDA,kI,GAAA;AAAA;AAAA,c,GA8CA,kI,GAAA;AAAA;AAAA,c,GAqCF,kI,GAAA;AAAA;AAAA,c,GAGM;AAAA;AA3IW,2BAAkB,KAAlB;;AAAnB,sBAAmB,SAAnB;;AAKkB,gIAAyE,WAAzE;;AAAd,sBAAc,SAAd;;AAgDc,sMAAuG,WAAvG;;AAAd,uBAAc,SAAd;;AA8Cc,+GAA+D,oBAA/D;;AAAd,uBAAc,UAAd;;AAqC4B,6BAAqB,aAArB;;AAA9B,uBAA8B,UAA9B;AAAmD,O,EAAA;AAxIrD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAiJO,O;AAAA;;;qEA+BK,iK,GAAA;AAAA;AAAA,c,EACE;AAAA;AAAA;AAAA,Q,GAA6I,gF,IAE/I;AAAA;;AAFE,4LAA4I,0BAA5I,CAA4I,kBAA5I;;AADF,sBACE,SADF;AAC8I,O,EAAA,I;AAAA;;;qEAK5I;AAAA;AAAA;;AAAA;;;;;AAEE;;;;;AAFF;AAAA,oB,GAAA;AAAA;AAAA,c,EACE;AAAA;AAAA;AAAA,Q,EADF;AAAA;AAAA,c,GAGgD,+E,IAEhD;AAAA;;AAJE,4LAA4I,0BAA5I,CAA4I,kBAA5I;;AADF,sBACE,SADF;;AAEE,2BAA2B,cAA3B;;AAFF,sBAEE,SAFF;AAE6B,O,EAAA;AAAmB,0BAAoC,OAApC,CAAoC,MAApC,CAAoC,OAApC,CAAoC,SAApC,CAAoC,UAApC;;AAFhD,sBAEgD,SAFhD;;AAGgD;;AAAA;AAEhD,O;AAAA;;;qEANF,yH,IACE,kI,GAAA;AAAA;AAAA,c,GAKK,4E,IAAA;AAFH;;AAHF,sBAGE,SAHF;AAG+C,O,EAAA,I;AAAA;;;qEAVnD,yH,IACE,kI,GAAA;AAAA;AAAA,c,GAKA,kI,GAAA;AAAA;AAAA,c,GAOe,4E,IAAA;AAZqB;;AAApC,sBAAoC,SAApC;;AAKc;;AAAd,sBAAc,SAAd;AAAkD,O,EAAA,I;AAAA;;;qEATzD,yH,IACC,0H,GAAA;AAAA;AAAA,c,EAAO;AAAA;AAAA,Q,GACL,uH,IACE,kI,GAAA;AAAA;AAAA,c,GAee;AAAA;;AAjBZ,wFAAgF,0BAAhF,CAAgF,kBAAhF;;AAAP,sBAAO,SAAP;;AAEkB,2BAA8B,QAA9B;;AAAd,sBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;qEAyC1C,uH,IACkH,+E,IAAA,I,EAAA;AAAA;;AAAA;AAElH,O;AAAA;;;qEAEA,uH,IACiH,+E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;AAEjH,O;AAAA;;;qEATF,yH,IACE,kI,GAAA;AAAA;AAAA,c,GAKA,kI,GAAA;AAAA;AAAA,c,GAGK,4E,IAAA;AAPH;;AADF,sBACE,SADF;;AAME;;AADF,sBACE,SADF;AACgH,O,EAAA,I;AAAA;;;qEAzBpH,wH,IACE,gJ,IACE;AAAA;AAAA,oBAaI,UAbJ;;AAAgB;;;;;AAAhB;AAAA,oB,IAQM,wT,IAAwJ,2H,IACtJ,yQ,IAA8I,kQ,IAC9I,yQ,IAA8I,2Q,IAC9I,uT,IAA4L,sS,IAA0K,03B,IAKhX,kI,GAAA;AAAA;AAAA,c,GAWe;AAAA;AAXD,2BAA8B,QAA9B;;AAAd,uBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;qEAnBhD,yH,IACE,kI,GAAA;AAAA;AAAA,c,GA8BK,4E,IAAA;AAAA;AA9BD,2BAAoC,cAApC;;AAAJ,sBAAI,SAAJ;AAAwC,O,EAAA,I;AAAA;;;qEAiC1C,yH,IACE,uH,IACE,kL,IAAqD,2F,IAAiB,I,EAAA,I;AAAA;;;qEAK5E,yH,IAA0E,4F,IAE1E,I,EAAA,I;AAAA;;;qEACA,yH,IAC4B,2G,IAE5B,I,EAAA,I;AAAA;;;qEAzEJ,sJ,IACE,2M,IACG,kI,GAAA;AAAA;AAAA,c,GAsBD,0H,IAEE,kI,GAAA;AAAA;AAAA,c,GAkCA,kI,GAAA;AAAA;AAAA,c,GAOF,kI,GAAA;AAAA;AAAA,c,GAGA,kI,GAAA;AAAA;AAAA,c,GAGe;AAAA;AAvEA;;AAAd,sBAAc,SAAd;;AAwBe;;AAAd,sBAAc,SAAd;;AAkCc;;AAAd,sBAAc,SAAd;;AAOY,kEAA2D,oBAA3D;;AAAd,uBAAc,SAAd;;AAGc,iEAAyD,oBAAzD;;AAAd,uBAAc,SAAd;AAAuE,O,EAAA,I;AAAA;;;qEAe/D,+J,GAAA;AAAA;AAAA,c,EACA;AAAA;AAAA;AAAA,Q,GAA6I,gF,IAE7I;AAAA;;AAFA,4LAA4I,0BAA5I,CAA4I,kBAA5I;;AADA,sBACA,SADA;AAC4I,O,EAAA,I;AAAA;;;qEAK1I;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;gBACA;AAAA;AAAA;AAAA,Q,EADA;AAAA;AAAA,c,GAC6I,+E,IAE7I;AAAA;;AAFA,4LAA4I,0BAA5I,CAA4I,kBAA5I;;AADA,sBACA,SADA;;AAAkD,0BAAqC,OAArC,CAAqC,MAArC,CAAqC,OAArC,CAAqC,SAArC,CAAqC,UAArC;;AAAlD,sBAAkD,SAAlD;AAAuF,O,EAAA;AAAvF;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAC6I;;AAAA;AAE7I,O;AAAA;;;qEAJF,yH,IACE,kI,GAAA;AAAA;AAAA,c,GAGK,4E,IAAA;AAHD;;AAAJ,sBAAI,SAAJ;AAAiD,O,EAAA,I;AAAA;;;qEAPrD,yH,IACE,kI,GAAA;AAAA;AAAA,c,GAKA,kI,GAAA;AAAA;AAAA,c,GAKe,4E,IAAA;AAVmB;;AAAlC,sBAAkC,SAAlC;;AAKc;;AAAd,sBAAc,SAAd;AAAkD,O,EAAA,I;AAAA;;;qEAPtD,uH,GAAA;AAAA;AAAA,c,EAAI;AAAA;AAAA,Q,GACF,kI,GAAA;AAAA;AAAA,c,GAae;AAAA;;AAdb,wFAAgF,0BAAhF,CAAgF,kBAAhF;;AAAJ,sBAAI,SAAJ;;AACgB,2BAA8B,QAA9B;;AAAd,sBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;qEAD9C,kI,GAAA;AAAA;AAAA,c,GAeK,4E,IAAA;AAAA;AAfgF;;AAArF,sBAAqF,SAArF;AAAsH,O,EAAA,I;AAAA;;;qEA8ClH,uH,IACuJ,8E,IAAA,I,EAAA;AAAA;;AAAA;AACxH,O;AAAA;;;qEAC7B,uH,IAAiF,I,EAAA,I;AAAA;;;qEACjF,uH,IAA2E,+E,IAAA,I,EAAA;AAAA;;AAAA;AAA+B,O;AAAA;;;qEAC5G,uH,IACiH,8E,GAAA,wD,GAAA,I,EAAA;AAAA;;AAAA;AAC7D,O;AAAA;;;qEARtD,yH,IACE,kI,GAAA;AAAA;AAAA,c,GAGE,kI,GAAA;AAAA;AAAA,c,GACA,kI,GAAA;AAAA;AAAA,c,GACF,kI,GAAA;AAAA;AAAA,c,GAEyD,4E,IAAA;AANvD;;AADF,sBACE,SADF;;AAGM,+GAAuE,QAAvE,CAAuE,SAAvE,CAAuE,UAAvE;;AAAJ,sBAAI,SAAJ;;AACI,8GAAsE,QAAtE,CAAsE,SAAtE,CAAsE,UAAtE;;AAAJ,sBAAI,SAAJ;;AAEA;;AADF,sBACE,SADF;AACgH,O,EAAA,I;AAAA;;;qEAlCpH,wH,IACE,8I,IACE;AAAA;AAAA,oBAUI,UAVJ;;AAAgB;;;;;AAAhB;AAAA,oB,IAIE,wT,IAAwJ,2H,IACtJ,yQ,IAA8I,kQ,IAC9I,yQ,IAA8I,2Q,IAC9I,uT,IAA4L,sS,IAA0K,03B,IAkB5W,kI,GAAA;AAAA;AAAA,c,GASe;AAAA;AATD,2BAA8B,QAA9B;;AAAd,uBAAc,SAAd;AAA4C,O,EAAA,I;AAAA;;;qEA3B9C,kI,GAAA;AAAA;AAAA,c,GAqCK,4E,IAAA;AAAA;AArCD;;AAAJ,sBAAI,SAAJ;AAAqC,O,EAAA,I;AAAA;;;qEAyCrC,uH,IACE,sI,IAAqC,4F,IAErC,I,EAAA;AAAA;AAFI,wDAAgC,QAAhC,CAAgC,MAAhC;;AAAJ,sBAAI,SAAJ;AAAoC,O;AAAA;;;qEAFxC,2H,GAAA;AAAA;AAAA,c,GAMc;AAND;;AAAb,sBAAa,SAAb;AAAqC,O,EAAA,I;AAAA;;;qEAQnC,uH,IACE,sI,IAAqC,4F,IAErC,I,EAAA;AAAA;AAFI,wDAAgC,QAAhC,CAAgC,MAAhC;;AAAJ,sBAAI,SAAJ;AAAoC,O;AAAA;;;qEADtC,kI,GAAA;AAAA;AAAA,c,GAIK,4E,IAAA;AAAA;AAJD,4BAAgB,QAAhB;;AAAJ,sBAAI,SAAJ;AAAoB,O,EAAA,I;AAAA;;;qEADtB,2H,GAAA;AAAA;AAAA,c,GAMc;AAND;;AAAb,sBAAa,SAAb;AAAqC,O,EAAA,I;AAAA;;;qEAvE3C,0H,IACE,4K,IACE;AAAA;AAAA,oBA4EU,UA5EV;;AACE;;;;;AADF;AAAA,kN,GAAA,2L,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE,2H,GAAA;AAAA;AAAA,c,GAmBA,2H,GAAA;AAAA;AAAA,c,GAyCA,kI,GAAA;AAAA;AAAA,c,GAOA,kI,GAAA;AAAA;AAAA,c,GAMc;AAAA;AA1EsB;AADT,2BAAuB,cAAvB;AAApB,2BAAmB,QAAnB;;AAAT,sBACsC,SADtC,EAA6B,SAA7B,EAAS,SAAT;;AAEe;;AAAb,sBAAa,SAAb;;AAmBa;;AAAb,sBAAa,SAAb;;AAyCiD,4CAAwC,oBAAxC;;AAAjD,uBAAiD,SAAjD;;AAOiD,2BAA2B,oBAA3B;;AAAjD,uBAAiD,SAAjD;AAA4E,O,EAAA,I;AAAA;;;qEAahF,iJ,IAAmD,yF,IACjD,2H,IAAQ,6E,IAAoB,I,EAAA;AAAA;AADqB;AAAA;;AAAA;;AACzC;;AAAA;AAAoB,O;AAAA;;;qEAI5B,yH,IACE;AAAA;AAAA,oBAA6F,UAA7F;;AAA2C;;;;;AAA3C;AAAA,oB,IAAqE,yH,IAAM,6E,IAAA,I,EAAA;AAAA;;AAAA;AAAO,O;AAAA;;;qEAPxF,qJ,IACE,kI,GAAA;AAAA;AAAA,c,GAGA,qL,IACE;AAAA;AAAA,oBAA8E,UAA9E;;AAA2C;;;;;AAA3C;AAAA,oB,IAAsE,8E,IACtE,kI,GAAA;AAAA;AAAA,c,GAGA;AAAA;AAAA,oBAA8E,UAA9E;;AAA2C;;;;;AAA3C;AAAA,oB,IAAsE,8E,IAAI;AAAA;AARlD,2BAAwB,iBAAxB;;AAA1B,sBAA0B,SAA1B;;AAKgB,2BAA+C,UAA/C;;AAAd,sBAAc,SAAd;AAA6D,O,EAAA,I;AAAA;;;qEAUvE,iJ,IACE,2I,IAA0B,I,EAAA,I;AAAA;;;qEAUtB,iJ,IAA+C,2I,IAA0B,I,EAAA,I;AAAA;;;qEAWjE,yH,IACE,sH,IAAG,6G,IACH;AAAA;AAAA,oBAAwI,UAAxI;;AAA8E;;;;;AAA9E;AAAA,oB,IAAuH,kF,IAAQ,I,EAAA,I;AAAA;;;qEAGjI;AAAA;;AAAA;;;;;;OAAA,E,gHAAA,E,oHAAA,C;;;;;;;;;;;iBAWa;AAAA;AAXa,2BAAoB,aAApB;AAOtB;AALA;AACA;AAGA;AADA;AAJA;AAOA;AACA;AALA;;AAJJ,sBAA0B,SAA1B,EAOI,SAPJ,EAEI,SAFJ,EAGI,SAHJ,EAMI,SANJ,EAKI,SALJ,EACI,SADJ,EAQI,SARJ,EASI,SATJ,EAII,SAJJ;AAIyB,O,EAAA,I;AAAA;;;qEAQzB,gJ,IAAqD,I,EAAA;AAAA;;AAAvB,2BAAsB,aAAtB;;AAA9B,sBAA8B,SAA9B;AAAoD,O;AAAA;;;qEAK9D,yH,IAWe,I,EAAA,I;AAAA;;;qEASb;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;iBACW,+E,IAAK;AAAA;AAD4B;AAA+B,2BAAuB,SAAvB;;AAA3E,sBAA4C,SAA5C,EAA2E,SAA3E;AAAkG,O,EAAA,I;AAAA;;;qEAElG;AAAA;AAAA,oBAAmG,UAAnG;;AAA6C;;;;;AAA7C;AAAA,oB,IAAqF,+E,IAAK,I,EAAA,I;AAAA;;;iPAhclG,yH,IACE,6I,IACA,mM,IACA,0H,IAAO,iF,IAIT,sK,IAEE,8I,GAAA;AAAA;AAAA,c,EAAuB;AAAA;AAAA,Q,GACrB,+I,IACE,iI,GAAA;AAAA;AAAA,c,GACA,iI,GAAA;AAAA;AAAA,c,GACA,2H,IAAO,8E,IAIX,iI,GAAA;AAAA;AAAA,c,GAOA,oJ,GAAA;AAAA;AAAA;AAAA,c,GACE,2J,IACE;AAAA;AAAA,oBAAqJ,UAArJ;;AAAqE;;;;;AAArE;AAAA,oB,IAAkG,4K,IAElG,iI,GAAA;AAAA;AAAA,c,GAOA,iI,GAAA;AAAA;AAAA,c,GA4JF,sK,IACE,uJ,IACE;AAAA;AAAA,oBAEI,UAFJ;;AAAmD;;;;;AAAnD;AAAA,oB,IACE,kO,IAAmF,sV,IAEvF,wH,GAAA;AAAA;AAAA,c,EAAI;AAAA;AAAA,Q,GAAkE,oF,IAItE,wH,GAAA;AAAA;AAAA,c,EAAI;AAAA;AAAA,Q,GAA2E,gF,IAI/E,yJ,IAEE,kI,GAAA;AAAA;AAAA,c,GA6EA,kI,GAAA;AAAA;AAAA,c,GAmFA,kI,GAAA;AAAA;AAAA,c,GAgBN,kI,GAAA;AAAA;AAAA,c,GAOF;AAAA;AAAA,oBAgEW,UAhEX;;AAAmD;;;;;AAAnD;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEI,kM,IACE,0J,IACE,kI,GAAA;AAAA;AAAA,c,GACA,uJ,IACE,wH,IAAI,0F,IAQJ,sJ,IACM,kI,GAAA;AAAA;AAAA,c,GAIA,gJ,IACA,kI,GAAA;AAAA;AAAA,c,GAYA,kI,GAAA;AAAA;AAAA,c,GAKV,kI,GAAA;AAAA;AAAA,c,GAYA,uK,IACE;AAAA;AAAA,oBAMS,UANT;;AAA0C;;;;;AAA1C;AAAA,oB,IACE,oP,IACE,+3B,IAGI,oF,IAER,kI,GAAA;AAAA;AAAA,c,GAEA,kI,GAAA;AAAA;AAAA,c,GAEA;AAAA;AAAA,oBAAwG,UAAxG;;AAAuD;;;;;AAAvD;AAAA,oB,IAAyF,gF,IAAM;AAAA;;AAzb9E,wFAA0E,0BAA1E,CAA0E,aAA1E;;AAAvB,sBAAuB,SAAvB;;AAE6B,4BAA4C,0BAA5C,CAA4C,SAA5C;;AAAzB,uBAAyB,SAAzB;;AACK,2BAA2C,0BAA3C,CAA2C,SAA3C;;AAAL,uBAAK,SAAL;;AAKgE,2BAAsB,eAAtB;;AAApE,uBAAoE,SAApE;;AAOK;AAAsB;;AAA3B,uBAAK,SAAL,EAA2B,SAA3B;;AAIS,mIAA2E,WAA3E;;AAAL,uBAAK,SAAL;;AAOc,2BAAuB,gBAAvB;;AAAd,uBAAc,SAAd;;AAiKI,yFAAiE,0BAAjE,CAAiE,cAAjE;;AAAJ,uBAAI,SAAJ;;AAII,0FAA0E,0BAA1E,CAA0E,uBAA1E;;AAAJ,uBAAI,UAAJ;;AAMgC,4BAAkB,WAAlB;;AAA9B,uBAA8B,UAA9B;;AA6Ec,+CAAgD,0BAAhD;;AAAd,uBAAc,UAAd;;AAmF8B,0EAAwD,WAAxD;;AAA9B,uBAA8B,UAA9B;;AAgBoB,2CAA+B,aAA/B;;AAA1B,uBAA0B,UAA1B;;AAOuH;AAC/G;AAD2E;AAA3E;AAA0F;AAAjD,4BAAiC,oBAAjC;;AAAnD,uBAAyH,UAAzH,EACU,UADV,EAAqF,UAArF,EAAU,UAAV,EAAoG,UAApG,EAAmD,UAAnD;;AAIkC,4BAAoB,aAApB;;AAA1B,uBAA0B,UAA1B;;AAWsB;;AAAd,uBAAc,UAAd;;AAKY,4BAAa,MAAb;;AAAZ,uBAAY,UAAZ;;AAYK,4BAAe,QAAf;;AAAL,uBAAK,UAAL;;AAMR;;AADF,uBACE,UADF;;AAoB8B,4BAAe,QAAf;;AAA5B,uBAA4B,UAA5B;;AAE4B,6BAAgB,QAAhB;;AAA5B,uBAA4B,UAA5B;AAA4C,O,EAAA;AAAA;AAnbvC;;AAAA;;AA2LwE;;AAAA;AAE/E,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACzMN;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA6CakC,+B;;;;;AAwFX,+CAAoB/K,MAApB,EAA4CuF,cAA5C,EAAoFyF,sBAApF,EAA4IC,SAA5I,EACUpL,WADV,EAC4CqL,sBAD5C,EAEUC,EAFV,EAEiC;AAAA;;AAAA;;AAC/B;AAHkB,gBAAAnL,MAAA,GAAAA,MAAA;AAAwB,gBAAAuF,cAAA,GAAAA,cAAA;AAAwC,gBAAAyF,sBAAA,GAAAA,sBAAA;AAAwD,gBAAAC,SAAA,GAAAA,SAAA;AAClI,gBAAApL,WAAA,GAAAA,WAAA;AAAkC,gBAAAqL,sBAAA,GAAAA,sBAAA;AAClC,gBAAAC,EAAA,GAAAA,EAAA;AAvFF,gBAAAlL,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAER,gBAAAkL,WAAA,GAAsB,EAAtB;AACA,gBAAAC,eAAA,GAA0B,EAA1B;AACA,gBAAAC,kBAAA,GAA6B,EAA7B,CAkFiC,CA7DjC;;AACA,gBAAAC,kBAAA,GAA8B,KAA9B;AAEA,gBAAAC,YAAA,GAAwB,KAAxB;AACA,gBAAAC,YAAA,GAAwB,KAAxB;AACA,gBAAAC,gBAAA,GAA2B,CAA3B;AACA,gBAAAC,SAAA,GAAoB,CAApB;AACA,gBAAAC,QAAA,GAAmB,IAAnB;AAKA,gBAAAC,iBAAA,GAA6B,IAA7B;AAEA,gBAAAC,mBAAA,GAA+B,IAA/B;AAaA,gBAAAC,MAAA,GAAkB,KAAlB;AAEA,gBAAA5L,cAAA,GAA0B,KAA1B;AACA,gBAAAC,OAAA,GAAkB,EAAlB;AAEA,gBAAA4L,MAAA,GAA4B;AAC1BC,gBAAM,EAAE;AADkB,SAA5B;AAIA,gBAAAC,YAAA,GAAwB,IAAxB;AACA,gBAAAjH,UAAA,GAAsB,KAAtB;AACA,gBAAAkH,eAAA,GAA2B,KAA3B;AAGA,gBAAAC,mBAAA,GAA+B,KAA/B;AAGA,gBAAAC,QAAA,GAAmB,EAAnB;AACA,gBAAAC,aAAA,GAAwB,EAAxB;AAMA,gBAAAC,cAAA,GAAyB,EAAzB;AAMA,gBAAAC,UAAA,GAAiC,EAAjC;AACA,gBAAAC,SAAA,GAAY,EAAZ,CAGiC,CAG/B;;AACA,gBAAKzM,MAAL,CAAY0M,kBAAZ,CAA+BC,gBAA/B,GAAkD;AAAA,iBAAM,KAAN;AAAA,SAAlD;;AAJ+B;AAKhC;;;;iCAEQ;AAAA;;AACP,eAAKb,mBAAL,GAA2B,KAA3B;AACA,eAAK/J,OAAL,GAAe,IAAf;AACA,eAAK0J,YAAL,GAAoB,IAApB;AACA,cAAImB,IAAI,GAAG,IAAX;AAGA,eAAKC,mBAAL,CAAyBC,iBAAzB,GAA6C,IAAInH,KAAJ,EAA7C;AACA,cAAIoH,aAAa,GAAG,IAAI,iFAAJ,EAApB,CARO,CAUP;AAEA;;AAEA,cAAI,KAAKX,mBAAT,EAA8B;AAC5B,iBAAKY,oBAAL,CAA0BC,OAA1B,CAAkC,UAAAC,SAAS,EAAI;;;AAC7CH,2BAAa,GAAG,IAAI,iFAAJ,EAAhB;AAEA,kBAAII,WAAW,GAAG,CAAH,KAAG,OAAI,CAAC3L,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAtD;;AACA,kBAAIuL,WAAJ,EAAiB;AACf,oBAAID,SAAS,CAACG,SAAV,KAAwB,MAA5B,EAAoC;AAClC,sBAAMC,eAAe,GAAG,oCAAM,CAACH,WAAD,EAAc,YAAd,CAA9B;AACA,sBAAII,SAAS,GAAGD,eAAe,CAACrB,MAAhB,CAAuB,YAAvB,CAAhB;AACAc,+BAAa,CAACK,SAAd,GAA0BF,SAAS,CAACE,SAApC;AACAL,+BAAa,CAACS,UAAd,GAA2BD,SAA3B;AACD,iBALD,MAMK,IAAIL,SAAS,CAACG,SAAV,KAAwB,MAAxB,IAAkCH,SAAS,CAACO,SAAV,IAAuB,WAA7D,EAA0E;AAC7EV,+BAAa,CAACK,SAAd,GAA0BF,SAAS,CAACE,SAApC;AACAL,+BAAa,CAACS,UAAd,GAA2BL,WAA3B;AACD,iBAHI,MAIA;AACHJ,+BAAa,CAACK,SAAd,GAA0BF,SAAS,CAACE,SAApC;AACAL,+BAAa,CAACS,UAAd,GAA2BL,WAAW,CAACK,UAAvC;AACD;;AAED,uBAAI,CAACX,mBAAL,CAAyBC,iBAAzB,CAA2CY,IAA3C,CAAgDX,aAAhD;AACD;AACF,aAtBD;AAuBD,WAxBD,MAyBK;AACH,iBAAKY,eAAL,CAAqBV,OAArB,CAA6B,UAAAC,SAAS,EAAI;;;AACxCH,2BAAa,GAAG,IAAI,iFAAJ,EAAhB;AAEA,kBAAII,WAAW,GAAG,CAAH,KAAG,OAAI,CAAC3L,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAtD;;AACA,kBAAIuL,WAAJ,EAAiB;AAEf,oBAAID,SAAS,CAACG,SAAV,IAAuB,MAA3B,EAAmC;AACjC,sBAAMC,eAAe,GAAG,oCAAM,CAACH,WAAD,EAAc,YAAd,CAA9B;AACA,sBAAII,SAAS,GAAGD,eAAe,CAACrB,MAAhB,CAAuB,YAAvB,CAAhB;AACAc,+BAAa,CAACK,SAAd,GAA0BF,SAAS,CAACE,SAApC;AACAL,+BAAa,CAACS,UAAd,GAA2BD,SAA3B;AACD,iBALD,MAMK,IAAIL,SAAS,CAACG,SAAV,KAAwB,MAAxB,IAAkCH,SAAS,CAACO,SAAV,IAAuB,WAA7D,EAA0E;AAC7EV,+BAAa,CAACK,SAAd,GAA0BF,SAAS,CAACE,SAApC;AACAL,+BAAa,CAACS,UAAd,GAA2BL,WAA3B;AACD,iBAHI,MAIA;AAEH;AACAJ,+BAAa,CAACK,SAAd,GAA0BF,SAAS,CAACE,SAApC,CAHG,CAIH;;AACAL,+BAAa,CAACS,UAAd,GAA2BL,WAAW,CAACS,KAAvC;AACAb,+BAAa,CAACS,UAAd,GAA4BL,WAAW,CAACS,KAAZ,KAAsBC,SAAvB,GAAoCV,WAAW,CAACS,KAAhD,GAAwDT,WAAnF;AACD;;AAED,uBAAI,CAACN,mBAAL,CAAyBC,iBAAzB,CAA2CY,IAA3C,CAAgDX,aAAhD;AACD;AACF,aA3BD;AA4BD;;AAED,cAAI,KAAKF,mBAAL,CAAyBiB,SAAzB,KAAuC,iCAA3C,EAA8E;AAC5Ef,yBAAa,GAAG,IAAI,iFAAJ,EAAhB;AACAA,yBAAa,CAACK,SAAd,GAA0B,eAA1B;AACAL,yBAAa,CAACS,UAAd,GAA2B,QAA3B;AAEA,iBAAKX,mBAAL,CAAyBC,iBAAzB,CAA2CY,IAA3C,CAAgDX,aAAhD;AACD,WA5EM,CA8EP;AACA;AACA;AACA;AACA;;;AACA,eAAK/B,sBAAL,CAA4BuB,cAA5B,CAA2C,KAAKM,mBAAhD,EACG/K,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EAEGiB,SAFH,CAEa,UAACC,MAAD,EAA+C;AACxD,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAAC2L,oBAAL,GAA4B9L,MAAM,CAACG,aAAnC;AAEAwK,sBAAI,CAACoB,OAAL,GAAe,EAAf;AACApB,sBAAI,CAACqB,aAAL,GAAqB,EAArB;;AAEA,yBAAI,CAACF,oBAAL,CAA0Bd,OAA1B,CAAkC,UAAAiB,cAAc,EAAI;AAClD,wBAAMC,MAAM,GAAG,EAAf;AAEAA,0BAAM,CAAC,YAAD,CAAN,GAAuBD,cAAc,CAACE,kBAAtC;AACAF,kCAAc,CAACG,cAAf,CAA8BpB,OAA9B,CAAsC,UAAAqB,KAAK,EAAI;AAC7CH,4BAAM,CAACG,KAAK,CAACb,SAAP,CAAN,GAA0Ba,KAAK,CAACd,UAAhC;AAED,qBAHD;AAKAZ,wBAAI,CAACoB,OAAL,CAAaN,IAAb,CAAkBS,MAAlB;AACD,mBAVD;;AAYAvB,sBAAI,CAACqB,aAAL,GAAqBrB,IAAI,CAACoB,OAA1B;;AAEA,uBAAK,IAAMO,IAAX,IAAmB,OAAI,CAACC,gBAAxB,EAA0C;AACxC,wBAAID,IAAI,KAAK,WAAb,EAA0B;AACxB,6BAAO,OAAI,CAACC,gBAAL,CAAsBD,IAAtB,CAAP;AACD;AACF,mBAxBuB,CA0BxB;AACA;;;AACA,yBAAI,CAAC/E,OAAL,GAAe,EAAf;;AAEA,yBAAI,CAACA,OAAL,CAAakE,IAAb,CAAkB;AAAEe,8BAAU,EAAE,YAAd;AAA4BC,6BAAS,EAAE,SAAvC;AAAkDC,4BAAQ,EAAE,CAAC;AAA7D,mBAAlB;;AACA,yBAAI,CAACnF,OAAL,CAAakE,IAAb,CAAkB;AAAEe,8BAAU,EAAE,MAAd;AAAsBC,6BAAS,EAAE,MAAjC;AAAyCC,4BAAQ,EAAE;AAAnD,mBAAlB;;AACA,+BAAI,CAACZ,oBAAL,CAA0B,CAA1B,OAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEM,cAAF,CAAiBpB,OAAjB,CAAyB,UAAAqB,KAAK,EAAI;AAC5D,wBAAIA,KAAK,CAACM,SAAV,EAAqB;AAEnB,6BAAI,CAACpF,OAAL,CAAakE,IAAb,CAAkB;AAAEe,kCAAU,EAAEH,KAAK,CAACb,SAApB;AAA+BiB,iCAAS,EAAEJ,KAAK,CAACjB,SAAhD;AAA2DsB,gCAAQ,EAAEL,KAAK,CAACO;AAA3E,uBAAlB;AACD;AACF,mBAL2B,CAA5B;AAOA,yBAAI,CAACrF,OAAL,GAAe,OAAI,CAACA,OAAL,CAAavD,IAAb,CAAkB,UAACC,CAAD,EAAIC,CAAJ;AAAA,2BAAUD,CAAC,CAACyI,QAAF,GAAaxI,CAAC,CAACwI,QAAzB;AAAA,mBAAlB,CAAf;AAEA,yBAAI,CAAC9C,iBAAL,GAAyB,IAAzB;AAEA,yBAAI,CAACiD,WAAL,GAAoB,CAAC,OAAI,CAACjC,mBAAL,CAAyBkC,MAAzB,GAAkC,CAAnC,IAAyC,OAAI,CAACnD,QAA/C,GAA4D,CAA/E,CA3CwB,CA4CxB;;AACA,yBAAI,CAACoD,SAAL,GAAiB,OAAI,CAACF,WAAL,GAAmB,OAAI,CAACb,aAAL,CAAmB1J,MAAtC,GAA+C,CAAhE;;AAEA,sBAAI,OAAI,CAACoH,SAAL,IAAkB,OAAI,CAACsD,cAA3B,EAA2C;AACzC,2BAAI,CAACD,SAAL,GAAiB,OAAI,CAACtD,gBAAtB;AACD,mBAjDuB,CAkDxB;;AAED;;AACD,uBAAI,CAACG,iBAAL,GAAyB,KAAzB;AACA,uBAAI,CAAC9J,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC0J,YAAL,GAAoB,KAApB;AAED,eA1DD,MA2DK;AACH,uBAAI,CAAC1J,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC0J,YAAL,GAAoB,KAApB;;AACA,uBAAI,CAACpJ,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAjED;AAkED,WArEH,EAqEK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;AACA,mBAAI,CAAC0J,YAAL,GAAoB,KAApB;;AACA,mBAAI,CAACpJ,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAzEH;AA0ED;;;0CAEiB;AAAA;;;;AAEhB,eAAK0L,mBAAL,GAA2B,KAA3B;AACA,eAAK/J,OAAL,GAAe,IAAf;AACA,eAAK0J,YAAL,GAAoB,IAApB;;AAEA,cAAG,KAAKc,cAAL,KAAwB,EAAxB,IAA8B,KAAKA,cAAL,KAAwB,IAAtD,IAA8D,KAAKA,cAAL,KAAwBsB,SAAzF,EAAoG;AAClG,gBAAMnM,QAAQ,GAAG,IAAI,sHAAJ,EAAjB;AACAA,oBAAQ,CAACwN,cAAT,GAA0B,CAAH,KAAG,KAAKC,yBAAL,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAED,cAA1D;AACAxN,oBAAQ,CAAC0N,UAAT,GAAsB,KAAK7C,cAA3B,CAHkG,CAKlG;;AACA,iBAAKrB,sBAAL,CAA4BmE,qCAA5B,CAAkE3N,QAAlE,EACCI,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,qBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,aAAT,CADpC,EAECiB,SAFD,CAEW,UAACC,MAAD,EAA0C;AACnD,qBAAI,CAACC,aAAL,CAAsCD,MAAtC,EAA8C,YAAM;AAClD,oBAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,sBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,2BAAI,CAACkN,4BAAL,GAAoC,IAAI3J,KAAJ,EAApC;;AACA,wBAAG1D,MAAM,CAACG,aAAP,CAAqBmC,MAArB,GAA8B,CAAjC,EAAoC;AAClC,6BAAI,CAAC+K,4BAAL,GAAoCrN,MAAM,CAACG,aAA3C;AAEA,0BAAImN,uBAAuB,GAAG,IAAI5J,KAAJ,EAA9B,CAHkC,CAIlC;;AAEA,6BAAI,CAAC2J,4BAAL,CAAkCrC,OAAlC,CAA0C,UAAAuC,KAAK,EAAI;AACjD;AACA,4BAAMC,cAAc,GAAG,OAAI,CAACC,aAAL,CAAmB7I,MAAnB,CAA0B,UAAC8I,GAAD,EAAS;;;AAExD,iCAAO,OAAAA,GAAG,CAAC,qBAAD,CAAH,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEC,QAAF,GAAavJ,WAAb,EAA1B,MAAyDmJ,KAAK,CAACK,mBAAN,CAA0BD,QAA1B,GAAqCvJ,WAArC,EAAhE;AACD,yBAHsB,CAAvB,CAFiD,CAOjD;;;AACA,4BAAIoJ,cAAc,KAAK5B,SAAnB,IAAgC4B,cAAc,KAAK,IAAnD,IAA2DA,cAAc,CAAClL,MAAf,GAAwB,CAAvF,EAA0F;AACxFgL,iDAAuB,CAAC7B,IAAxB,CAA6B+B,cAAc,CAAC,CAAD,CAA3C;AACD;AACF,uBAXD;;AAaA,6BAAI,CAACxB,aAAL,GAAqBsB,uBAArB;;AAEA,0BAAI,OAAI,CAACO,mBAAL,CAAyBvL,MAAzB,GAAkC,CAAtC,EAAyC;AACvC;AACA,+BAAI,CAACwL,iBAAL,GAAyBR,uBAAzB;;AACA,+BAAI,CAACS,gBAAL;AACD,uBAJD,MAKK;AACH,+BAAI,CAAC/B,aAAL,GAAqBsB,uBAArB;AACD;AACF,qBA7BD,MA8BK;AACH,6BAAI,CAACtB,aAAL,GAAqB,IAAItI,KAAJ,EAArB;AACD;AAEF;AACF,iBAvCD,MAwCK;AACH,yBAAI,CAAC5D,OAAL,GAAe,KAAf;;AAEA,yBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,eA9CD;AA+CD,aAlDD,EAkDG,UAACC,iBAAD,EAAuB;AACxB,qBAAI,CAACT,OAAL,GAAe,KAAf;;AAEA,qBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,aAtDD;AAwDD,WA9DD,MA8DO;AACH;AACA,iBAAK4P,gBAAL;AACD,WAvEa,CAyEhB;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAIA;AAEA;AAGA;AAEA;AAEA;AAEA;AAEA;;;AAEA,eAAKjO,OAAL,GAAe,KAAf;AACA,eAAK0J,YAAL,GAAoB,KAApB;AACA,eAAKS,YAAL,GAAoB,KAApB;AACD;;;8CAEkB;AAEjB,cAAIU,IAAI,GAAG,IAAX;AACA,eAAKqD,oBAAL,CAA0BhD,OAA1B,CAAkC,UAAArL,KAAK,EAAI;AAEzC,gBAAIA,KAAK,CAACyL,SAAN,KAAoB,6DAAe6C,WAAvC,EAAoD;AAElD,kBAAMjO,MAAM,GAAG2K,IAAI,CAACqB,aAAL,CAAmBpH,MAAnB,CAA0B,UAAC8I,GAAD,EAAS;AAChD,uBAAOQ,QAAQ,CAACR,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAJ,CAAR,IAAkC+C,QAAQ,CAACvO,KAAK,CAACwO,cAAP,CAA1C,IAAoED,QAAQ,CAACR,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAJ,CAAR,IAAkC+C,QAAQ,CAACvO,KAAK,CAACyO,YAAP,CAArH;AACD,eAFc,CAAf;AAGAzD,kBAAI,CAACqB,aAAL,GAAqBhM,MAArB;AACD,aAND,MAOK,IAAIL,KAAK,CAACyL,SAAN,KAAoB,6DAAeiD,WAAnC,IAAkD1O,KAAK,CAACyL,SAAN,KAAoB,6DAAekD,YAAzF,EAAuG;AAEzG,kBAAMtO,OAAM,GAAG2K,IAAI,CAACqB,aAAL,CAAmBpH,MAAnB,CAA0B,UAAC8I,GAAD,EAAS;AAChD,uBAAOa,UAAU,CAACb,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAJ,CAAV,IAAoCoD,UAAU,CAAC5O,KAAK,CAACwO,cAAP,CAA9C,IAAwEI,UAAU,CAACb,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAJ,CAAV,IAAoCoD,UAAU,CAAC5O,KAAK,CAACyO,YAAP,CAA7H;AACD,eAFc,CAAf;;AAGAzD,kBAAI,CAACqB,aAAL,GAAqBhM,OAArB;AACF,aANI,MAOA,IAAIL,KAAK,CAACyL,SAAN,KAAoB,6DAAeoD,QAAvC,EAAiD;AAEpD,kBAAMxO,QAAM,GAAG2K,IAAI,CAACqB,aAAL,CAAmBpH,MAAnB,CAA0B,UAAC8I,GAAD,EAAS;AAChD;AACA,uBAAQ,oCAAM,CAACA,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAJ,EAAuB,YAAvB,CAAN,CAA2CnB,MAA3C,CAAkD,YAAlD,CAAD,IAAsE,oCAAM,CAACrK,KAAK,CAACwO,cAAP,EAAuB,YAAvB,CAAN,CAA2CnE,MAA3C,CAAkD,YAAlD,CAAtE,IAA2I,oCAAM,CAAC0D,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAJ,EAAuB,YAAvB,CAAN,CAA2CnB,MAA3C,CAAkD,YAAlD,CAAD,IAAsE,oCAAM,CAACrK,KAAK,CAACyO,YAAP,EAAqB,YAArB,CAAN,CAAyCpE,MAAzC,CAAgD,YAAhD,CAAvN;AACD,eAHc,CAAf;;AAIAW,kBAAI,CAACqB,aAAL,GAAqBhM,QAArB;AACD,aAPI,MAQA;AACH,kBAAMA,QAAM,GAAG2K,IAAI,CAACqB,aAAL,CAAmBpH,MAAnB,CAA0B,UAAC8I,GAAD,EAAS;;;AAChD,uBAAO,OAAAA,GAAG,CAAC/N,KAAK,CAACwL,SAAP,CAAH,MAAoB,IAApB,IAAoB,aAApB,GAAoB,MAApB,GAAoB,GAAEwC,QAAF,GAAavJ,WAAb,EAApB,MAAmDzE,KAAK,CAACwO,cAAN,CAAqBR,QAArB,GAAgCvJ,WAAhC,EAA1D;AACD,eAFc,CAAf;;AAGAuG,kBAAI,CAACqB,aAAL,GAAqBhM,QAArB;AACD;AAEF,WA/BD;AAgCD;;;2CAEe;AAAA;;AAEd,cAAIP,QAAQ,GAAG,IAAI,mGAAJ,EAAf;AACAA,kBAAQ,CAACwN,cAAT,GAA0B,KAAKC,yBAAL,CAA+BD,cAAzD;AACAxN,kBAAQ,CAACgP,aAAT,GAAyB,IAAzB;AACAhP,kBAAQ,CAACiP,cAAT,GAA0B,KAAKb,mBAA/B;AAEA,eAAK5E,sBAAL,CAA4B0F,qBAA5B,CAAkDlP,QAAlD,EACCI,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADpC,EAECiB,SAFD,CAEW,UAACC,MAAD,EAA2D;AACpE,mBAAI,CAACC,aAAL,CAAuDD,MAAvD,EAA+D,YAAM;;;AACnE,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,sBAAG,OAAAH,MAAM,CAACG,aAAP,CAAqByO,mBAArB,MAAwC,IAAxC,IAAwC,aAAxC,GAAwC,MAAxC,GAAwC,GAAEtM,MAA1C,IAAmD,CAAtD,EAAyD;AACvD;AAEA,wBAAI,EAAE,cAAI,CAAC+K,4BAAL,MAAiC,IAAjC,IAAiC,aAAjC,GAAiC,MAAjC,GAAiC,GAAE/K,MAAnC,IAA4C,CAA5C,IAAiD,cAAI,CAACwL,iBAAL,MAAsB,IAAtB,IAAsB,aAAtB,GAAsB,MAAtB,GAAsB,GAAExL,MAAxB,IAAiC,CAApF,CAAJ,EAA4F;AAE1F;AACA,6BAAI,CAACwL,iBAAL,GAAyB,OAAI,CAACe,mBAA9B;AACD,qBAPsD,CAQvD;AACA;AACA;AACA;AACA;AACA;;;AACA,wBAAIC,eAAe,GAAG,OAAI,CAAChB,iBAAL,CAAuBlJ,MAAvB,CAA8B,UAAUmK,EAAV,EAAc;AAChE;AACA,6BAAO/O,MAAM,CAACG,aAAP,CAAqByO,mBAArB,CAAyCI,IAAzC,CAA8C,UAAUC,EAAV,EAAc;AACjE;AACA,+BAAOF,EAAE,CAAC,qBAAD,CAAF,KAA8BE,EAAE,CAAC,qBAAD,CAAvC,CAFiE,CAEQ;AAC1E,uBAHM,CAAP;AAID,qBANqB,CAAtB;;AAQA,wBAAIH,eAAe,CAACxM,MAAhB,GAAyB,CAA7B,EAAgC;AAC9B,6BAAI,CAAC0J,aAAL,GAAqB8C,eAArB;AACD;AACF,mBAzBD,MA0BK;AACH,2BAAI,CAAC9C,aAAL,GAAqB,IAAItI,KAAJ,EAArB;AACD;AAEF;AACF,eAlCD,MAmCK;AACH,uBAAI,CAAC5D,OAAL,GAAe,KAAf;;AAEA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAzCD;AA0CD,WA7CD,EA6CG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AAEA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAjDD;AAmDD;;;2CAEkB;AACjB,eAAK+Q,qBAAL,GAA6B,CAAC,KAAKA,qBAAnC;AACD;;;sCAEa;AACZ,cAAI,KAAKlR,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAEO;AAAA;;AACN,eAAKyL,SAAL,GAAiB,WAAW,IAAI2E,IAAJ,GAAWC,WAAX,KAA2B,EAAtC,CAAjB;AACA,eAAK7C,gBAAL,GAAwB,EAAxB;AACA,eAAKyB,oBAAL,GAA4B,IAAItK,KAAJ,EAA5B;AACA,eAAK2L,0BAAL,GAAkC,IAAI,oFAAJ,EAAlC;AACA,eAAKnC,yBAAL,GAAiC,IAAI,iGAAJ,EAAjC;AACA,eAAKW,mBAAL,GAA2B,IAAInK,KAAJ,EAA3B;AAEA,eAAKJ,cAAL,CAAoBO,MAApB,CACGhE,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EAEG+B,SAFH,CAEa,UAAC8D,MAAD,EAAoB;AAE7B,mBAAI,CAACsF,WAAL,GAAmBtF,MAAM,CAAC,aAAD,CAAzB;AACD,WALH;;AAOA,cAAI,KAAKsF,WAAT,EAAsB;AACpB,gBAAG,KAAKA,WAAL,CAAiBmG,MAAjB,CAAwB,KAAKnG,WAAL,CAAiB7G,MAAjB,GAA0B,CAAlD,MAAyD,GAA5D,EAAgE;AAC9D,mBAAK+M,0BAAL,CAAgCE,eAAhC,GAAkD,KAAKpG,WAAL,GAAmB,GAArE;AACD,aAFD,MAEO;AACL,mBAAKkG,0BAAL,CAAgCE,eAAhC,GAAkD,KAAKpG,WAAvD;AACD;;AACD,iBAAKqG,sBAAL;AACD;;AAGD,eAAKxC,cAAL,GAAsBkB,QAAQ,CAAC,mCAAC,CAAC,MAAD,CAAD,CAAUuB,IAAV,CAAe,SAAf,CAAD,EAA4B,EAA5B,CAA9B;AAED;;;oCAEWC,U,EAAoB;AAC9B,eAAK9E,mBAAL,CAAyBkC,MAAzB,GAAkC4C,UAAlC;AAEA,eAAKC,yBAAL;AAED,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;;;;uCAEe9K,K,EAAWoG,S,EAAgB;;;AAExC,cAAGpG,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE8G,KAAV,EAAiB;AAEf,iBAAKpM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAA5C;AACA,gBAAIqG,WAAW,GAAG,CAAH,KAAG,KAAK3L,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAtD;;AACA,gBAAIuL,WAAJ,EAAiB;AACf,kBAAG,KAAK8C,oBAAL,IAA6BpC,SAAhC,EAA0C;AACxC,qBAAKoC,oBAAL,GAA4B,IAAItK,KAAJ,EAA5B;AACD;;AACD,mBAAKV,UAAL,GAAkB,KAAKuJ,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,IAA6CN,WAA/D,GAA6E,KAAK8C,oBAAL,CAA0B/C,SAAS,CAACO,SAApC,IAAiDN,WAA9H;AACD,aALD,MAKO,CACL;AACD;AACF,WAZD,MAaK;AACH,gBAAGrG,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE0G,UAAV,EAAsB;AACpB,mBAAKhM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAA5C;AACA,kBAAIgL,YAAY,GAAG,CAAH,KAAG,KAAKtQ,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAvD;;AACF,kBAAIkQ,YAAJ,EAAkB;AAChB,oBAAG,KAAK7B,oBAAL,IAA6BpC,SAAhC,EAA0C;AACxC,uBAAKoC,oBAAL,GAA4B,IAAItK,KAAJ,EAA5B;AACD;;AACD,qBAAKV,UAAL,GAAkB,KAAKuJ,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,IAA6CqE,YAA/D,GAA8E,KAAK7B,oBAAL,CAA0B/C,SAAS,CAACO,SAApC,IAAiDqE,YAA/H;AACD,eALD,MAKO,CACL;AACD;AACA,aAXD,MAWO;AACL,kBAAG,CAAA5E,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAE6E,sBAAX,KAAqC,CAAxC,EAA2C;AACzC,qBAAKvQ,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAAK,CAAClF,KAAlD;AACD,eAFD,MAGK;AACH,oBAAG,KAAKqD,UAAR,EAAoB;AAClB,uBAAKzD,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C,IAA5C;;AACA,sBAAG,YAAK5B,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE1L,MAA3B,IAAoC,CAAvC,EAA0C;AACxC,yBAAKU,UAAL,GAAkB,OAAO,KAAKuJ,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,CAAzB,GAAsE,OAAO,KAAKwC,oBAAL,CAA0B/C,SAAS,CAACO,SAApC,CAA7E;AACD,mBAFD,MAGK;AACH,yBAAKjM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAElF,KAAnD;AACA,yBAAK4M,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,IAA6C,CAAH,KAAG,KAAKjM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAjF;AACD;AACF;AACF;AACF;AACF;AACF;;;yCAEgBkF,K,EAAWoG,S,EAAgB;;;AAEtC,cAAGpG,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAElF,KAAV,EAAiB;AAEf,iBAAKJ,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAAK,CAAClF,KAAlD;AACA,gBAAIuL,WAAW,GAAG,CAAH,KAAG,KAAK3L,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAtD;;AACA,gBAAIuL,WAAJ,EAAiB;AACf,kBAAG,KAAK8C,oBAAL,IAA6BpC,SAAhC,EAA0C;AACxC,qBAAKoC,oBAAL,GAA4B,IAAItK,KAAJ,EAA5B;AACD;;AACD,mBAAKV,UAAL,GAAkB,KAAKuJ,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,IAA6CN,WAA/D,GAA6E,KAAK8C,oBAAL,CAA0B/C,SAAS,CAACO,SAApC,IAAiDN,WAA9H;AACD,aALD,MAKO,CACL;AACD;AACF,WAZD,MAaK;AACH,gBAAGrG,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAE0G,UAAV,EAAsB;AACpB,mBAAKhM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAA5C;AACA,kBAAIgL,YAAY,GAAG,CAAH,KAAG,KAAKtQ,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAvD;;AACF,kBAAIkQ,YAAJ,EAAkB;AAChB,oBAAG,KAAK7B,oBAAL,IAA6BpC,SAAhC,EAA0C;AACxC,uBAAKoC,oBAAL,GAA4B,IAAItK,KAAJ,EAA5B;AACD;;AACD,qBAAKV,UAAL,GAAkB,KAAKuJ,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,IAA6CqE,YAA/D,GAA8E,KAAK7B,oBAAL,CAA0B/C,SAAS,CAACO,SAApC,IAAiDqE,YAA/H;AACD,eALD,MAKO,CACL;AACD;AACA,aAXD,MAWO;AACL,kBAAG,CAAA5E,SAAS,SAAT,IAAAA,SAAS,WAAT,GAAS,MAAT,GAAAA,SAAS,CAAE6E,sBAAX,KAAqC,CAAxC,EAA2C;AACzC,qBAAKvQ,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAAK,CAAClF,KAAlD;AACD,eAFD,MAGK;AACH,oBAAG,KAAKqD,UAAR,EAAoB;AAClB,uBAAKzD,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C,IAA5C;;AACA,sBAAG,YAAK5B,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE1L,MAA3B,IAAoC,CAAvC,EAA0C;AACxC,yBAAKU,UAAL,GAAkB,OAAO,KAAKuJ,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,CAAzB,GAAsE,OAAO,KAAKwC,oBAAL,CAA0B/C,SAAS,CAACO,SAApC,CAA7E;AACD,mBAFD,MAGK;AACH,yBAAKjM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,EAAmCyE,QAAnC,CAA4C/K,KAAK,SAAL,IAAAA,KAAK,WAAL,GAAK,MAAL,GAAAA,KAAK,CAAElF,KAAnD;AACA,yBAAK4M,gBAAL,CAAsBtB,SAAS,CAACO,SAAhC,IAA6C,CAAH,KAAG,KAAKjM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAAjF;AACD;AACF;AACF;AACF;AACF;AACF,S,CAEL;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;;;;qDAE6BkF,K,EAAYoG,S,EAAW;AAAA;;AAElD,cAAI8E,KAAK,GAAGlL,KAAK,CAACkL,KAAlB;;AAEA,cAAGA,KAAK,CAACzN,MAAN,IAAgB,CAAnB,EAAsB;AACpB2I,qBAAS,CAAC+E,cAAV,GAA2B,IAAItM,KAAJ,EAA3B;AAEA,iBAAKuF,sBAAL,CAA4BgH,sBAA5B,CAAmDhF,SAAS,CAAC6E,sBAA7D,EAAqFC,KAArF,EACClQ,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,qBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,aAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA0C;AACnD,qBAAI,CAACC,aAAL,CAAsCD,MAAtC,EAA8C,YAAM;AAClD,uBAAI,CAACF,OAAL,GAAe,IAAf;;AACA,oBAAIE,MAAM,CAACE,SAAX,EAAsB;AACpB+K,2BAAS,CAAC+E,cAAV,GAA2BhQ,MAAM,CAACG,aAAlC;AACA,yBAAI,CAAC+P,YAAL,GAAoBlQ,MAAM,CAACG,aAA3B;AAEA,yBAAI,CAACL,OAAL,GAAe,KAAf;AACD,iBALD,MAKO;AACL,yBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,yBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,eAXD;AAYD,aAfD,EAeG,UAACC,iBAAD,EAAuB;AACxB,qBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,qBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,aAlBD;AAoBD,WAvBD,MAwBK;AACH8M,qBAAS,CAAC+E,cAAV,GAA2B,IAAItM,KAAJ,EAA3B;AACD;AACF;;;iDAEwBuH,S,EAAmBkF,S,EAAmB;AAAA;;AAE7D;AAEE,eAAKlH,sBAAL,CAA4BmH,aAA5B,CAA0CnF,SAA1C,EACCpL,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA0C;AAEnD,mBAAI,CAACC,aAAL,CAAsCD,MAAtC,EAA8C,YAAM;AAClDqQ,qBAAO,CAACC,GAAR,CAAYtQ,MAAM,CAACG,aAAnB;AACA,qBAAI,CAACL,OAAL,GAAe,IAAf;;AAEA,kBAAIE,MAAM,CAACE,SAAX,EAAsB;AAEpBF,sBAAM,CAACG,aAAP,CAAqB6K,OAArB,CACE,UAAAxG,CAAC,EAAG;AACF,yBAAI,CAAC+F,UAAL,CAAgBkB,IAAhB,CAAqB;AAACN,6BAAS,EAAEgF,SAAZ;AAAuBxE,yBAAK,EAAEnH,CAAC,CAACmH,KAAhC;AAAuChM,yBAAK,EAAE6E,CAAC,CAAC7E;AAAhD,mBAArB;AACD,iBAHH;AAMA,uBAAI,CAACG,OAAL,GAAe,KAAf;AACD,eATD,MASO;AACL,uBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAjBD;AAkBD,WAtBD,EAsBG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAzBD;AA2BH;;;qCAEYgS,S,EAAiB;AAE5B,cAAII,GAAG,GAAuB,EAA9B;AACAA,aAAG,CAAC9E,IAAJ,CAAS;AAAEN,qBAAS,EAAEgF,SAAb;AAAwBxE,iBAAK,EAAE,KAA/B;AAAsChM,iBAAK,EAAE;AAA7C,WAAT;AACA,eAAK4K,UAAL,CAAgB3F,MAAhB,CAAuB,UAAAJ,CAAC;AAAA,mBAAIA,CAAC,CAAC2G,SAAF,IAAegF,SAAnB;AAAA,WAAxB,EAAsDnF,OAAtD,CAA8D,UAAAxG,CAAC,EAAI;AACjE+L,eAAG,CAAC9E,IAAJ,CAASjH,CAAT;AACD,WAFD;AAGA,iBAAO+L,GAAP;AACD;;;wEAE+C1L,K,EAAYoG,S,EAAW;AAAA;;AAIrE,cAAI8E,KAAK,GAAGlL,KAAK,CAACkL,KAAlB;;AACA,cAAIA,KAAK,CAACzN,MAAN,GAAe,CAAnB,EAAsB;AACpB;AACA;AACE;AACA;AACA2I,qBAAS,CAACuF,yBAAV,GAAsC,IAAI9M,KAAJ,EAAtC;AACA,iBAAKuF,sBAAL,CAA4BwH,gCAA5B,CAA6DxF,SAAS,CAACyF,iBAAvE,EAA0FX,KAA1F,EACClQ,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,qBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,aAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4D;AACrE,qBAAI,CAACC,aAAL,CAAwDD,MAAxD,EAAgE,YAAM;AACpE,uBAAI,CAACF,OAAL,GAAe,IAAf;;AACA,oBAAIE,MAAM,CAACE,SAAX,EAAsB;AACpB+K,2BAAS,CAAC+E,cAAV,GAA2BhQ,MAAM,CAACG,aAAlC;AACA,yBAAI,CAACwQ,+BAAL,GAAuC3Q,MAAM,CAACG,aAA9C;AAEA,yBAAI,CAACL,OAAL,GAAe,KAAf;AACD,iBALD,MAKO;AACL,yBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,yBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,eAXD;AAYD,aAfD,EAeG,UAACC,iBAAD,EAAuB;AACxB,qBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,qBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,aAlBD;AAmBH,WAzBD,MA0BK;AACH8M,qBAAS,CAACuF,yBAAV,GAAsC,IAAI9M,KAAJ,EAAtC;AACD;AACF;;;sCAEa;yDAAA,CACZ;;;AACA,eAAKsK,oBAAL,GAA4B,IAAItK,KAAJ,EAA5B;AACA,eAAK4F,kBAAL,GAA0B,IAA1B;;AACA,cAAI,KAAKtG,UAAT,EAAqB;AACnB,gBAAIkI,WAAW,GAAG,CAAH,KAAG,KAAK3L,IAAL,CAAUG,GAAV,CAAc,WAAd,OAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEC,KAA9C;;AACA,gBAAIuL,WAAJ,EAAiB;AACf,mBAAKqB,gBAAL,CAAsB,WAAtB,IAAqCrB,WAArC;AACD;;AACD,gBAAM0F,SAAS,GAAG/T,MAAM,CAACV,IAAP,CAAY,KAAKoQ,gBAAjB,CAAlB;;AACA,gBAAIqE,SAAS,CAACtO,MAAV,GAAmB,CAAvB,EAA0B;AAExB;AACA,mBAAKsC,MAAL;AACD,aAJD,MAIO;AACL,mBAAK0E,kBAAL,GAA0B,KAA1B;AACA,mBAAKlJ,YAAL,CAAkB,6BAAlB,EAAiD,KAAjD;AACD;AACF,WAdD,MAeK;AAAA,uDACkB,KAAKsL,eADvB;AAAA;;AAAA;AACH,kEAA2C;AAAA,oBAAnCT,SAAmC;;AACzC,oBAAG,EAAEA,SAAS,CAACE,SAAV,KAAwB,WAA1B,CAAH,EAA2C;AAEzC,sBAAI0F,cAAc,GAAG,EAArB;;AACA,sBAAI5F,SAAS,CAACG,SAAV,KAAwB,6DAAe6C,WAAvC,IAAsDhD,SAAS,CAACG,SAAV,KAAwB,6DAAeiD,WAA7F,IAA4GpD,SAAS,CAACG,SAAV,KAAwB,6DAAekD,YAAvJ,EAAqK;AACnK,wBAAIwC,eAAe,GAAG,CAAH,KAAG,KAAKvR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,MAApC,OAA2C,IAA3C,IAA2C,aAA3C,GAA2C,MAA3C,GAA2C,GAAExL,KAAnE;AACA,wBAAIoR,aAAa,GAAG,CAAH,KAAG,KAAKxR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,IAApC,OAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAExL,KAA/D,CAFmK,CAInK;AACA;;AACA,wBAAI,CAAC,KAAKqO,oBAAL,CAA0BjK,QAA1B,CAAmCkH,SAAS,CAACE,SAA7C,CAAL,EAA8D;AAC5D,0BAAI2F,eAAe,IAAIC,aAAvB,EAAsC;AACpCF,sCAAc,CAAC,WAAD,CAAd,GAA8B5F,SAAS,CAACE,SAAxC;AACA0F,sCAAc,CAAC,WAAD,CAAd,GAA8B5F,SAAS,CAACG,SAAxC;AACAyF,sCAAc,CAAC,gBAAD,CAAd,GAAmCC,eAAnC;AACAD,sCAAc,CAAC,cAAD,CAAd,GAAiCE,aAAjC;AACAF,sCAAc,CAAC,wBAAD,CAAd,GAA2C5F,SAAS,CAAC6E,sBAArD;;AAEA,4BAAGvB,UAAU,CAACuC,eAAD,CAAV,GAA8BvC,UAAU,CAACwC,aAAD,CAA3C,EAA4D;AAC1D,+BAAK3Q,YAAL,CAAkB,8BAA6B6K,SAAS,CAACE,SAAvC,GAAkD,QAApE,EAA8E,KAA9E;AACA;AACD;;AAED,6BAAK6C,oBAAL,CAA0BvC,IAA1B,CAA+BoF,cAA/B;AACD,uBAbD,MAcK,IAAGC,eAAe,IAAI,CAACC,aAAvB,EAAsC;AACzC,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,YAA1D,EAAwE,KAAxE;AACA;AACD,uBAHI,MAIA,IAAG,CAAC2F,eAAD,IAAoBC,aAAvB,EAAsC;AACzC,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,cAA1D,EAA0E,KAA1E;AACA;AACD;AACF;AAEF,mBA/BD,MAgCK,IAAIF,SAAS,CAACG,SAAV,KAAwB,6DAAeoD,QAA3C,EAAqD;AACxD,wBAAIsC,eAAe,GAAG,CAAH,KAAG,KAAKvR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,MAApC,OAA2C,IAA3C,IAA2C,aAA3C,GAA2C,MAA3C,GAA2C,GAAExL,KAAnE;AACA,wBAAIoR,aAAa,GAAG,CAAH,KAAG,KAAKxR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,IAApC,OAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAExL,KAA/D;;AAEA,wBAAI,CAAC,KAAKqO,oBAAL,CAA0BjK,QAA1B,CAAmCkH,SAAS,CAACE,SAA7C,CAAL,EAA8D;AAC5D,0BAAI2F,eAAe,IAAIC,aAAvB,EAAsC;AACpCF,sCAAc,CAAC,WAAD,CAAd,GAA8B5F,SAAS,CAACE,SAAxC;AACA0F,sCAAc,CAAC,WAAD,CAAd,GAA8B5F,SAAS,CAACG,SAAxC;AACAyF,sCAAc,CAAC,wBAAD,CAAd,GAA2C5F,SAAS,CAAC6E,sBAArD;AAEA,4BAAMkB,mBAAmB,GAAG,oCAAM,CAACF,eAAD,EAAkB,YAAlB,CAAlC;AACA,4BAAIG,aAAa,GAAGD,mBAAmB,CAAChH,MAApB,CAA2B,YAA3B,CAApB;AACA6G,sCAAc,CAAC,gBAAD,CAAd,GAAmCI,aAAnC;AACA,4BAAMC,iBAAiB,GAAG,oCAAM,CAACH,aAAD,EAAgB,YAAhB,CAAhC;AACA,4BAAII,WAAW,GAAGD,iBAAiB,CAAClH,MAAlB,CAAyB,YAAzB,CAAlB;AACA6G,sCAAc,CAAC,cAAD,CAAd,GAAiCM,WAAjC;;AAEA,4BAAGF,aAAa,GAAGE,WAAnB,EAAgC;AAC9B,+BAAK/Q,YAAL,CAAkB,qCAAlB,EAAyD,KAAzD;AACA;AACD;;AAED,6BAAK4N,oBAAL,CAA0BvC,IAA1B,CAA+BoF,cAA/B;AACD,uBAlBD,MAmBK,IAAIC,eAAe,IAAI,CAACC,aAAxB,EAAuC;AAC1C,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,YAA1D,EAAwE,KAAxE;AACA;AACD,uBAHI,MAIA,IAAI,CAAC2F,eAAD,IAAoBC,aAAxB,EAAuC;AAC1C,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,cAA1D,EAA0E,KAA1E;AACA;AACD;AACF;AACF,mBAjCI,MAkCA;AACH,wBAAID,WAAW,GAAG,kBAAK3L,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAApC,MAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAEgM,KAA3C,IAAmD,CAAD,WAAC,KAAKpM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,CAAD,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAExL,KAApC,MAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAEgM,KAA9F,GAAsG,CAAD,KAAC,KAAKpM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAA5J;;AAEA,wBAAI,CAAC,KAAKqO,oBAAL,CAA0BjK,QAA1B,CAAmCkH,SAAS,CAACE,SAA7C,CAAL,EAA8D;AAC5D,0BAAID,WAAJ,EAAiB;AACf2F,sCAAc,CAAC,WAAD,CAAd,GAA8B5F,SAAS,CAACE,SAAxC;AACA0F,sCAAc,CAAC,WAAD,CAAd,GAA8B5F,SAAS,CAACG,SAAxC;AACAyF,sCAAc,CAAC,gBAAD,CAAd,GAAmC3F,WAAnC;AACA2F,sCAAc,CAAC,cAAD,CAAd,GAAiC3F,WAAjC;AACA2F,sCAAc,CAAC,wBAAD,CAAd,GAA2C5F,SAAS,CAAC6E,sBAArD;AACA,6BAAK9B,oBAAL,CAA0BvC,IAA1B,CAA+BoF,cAA/B;AACD;AACF;AACF;AACF,iBAnFD,MAoFK;AACH,uBAAKvG,cAAL,GAAsB,CAAH,KAAG,KAAK/K,IAAL,CAAUG,GAAV,CAAc,WAAd,OAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEC,KAAlD;AACD,iBAvFwC,CA0FzC;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAED;AAlHE;AAAA;AAAA;AAAA;AAAA;;AAmHH,gBAAI,KAAKqO,oBAAL,CAA0B1L,MAA1B,GAAmC,CAAnC,IAAwC,KAAKgI,cAAL,KAAwB,EAApE,EAAwE;AACtE,mBAAK8G,eAAL;AACD,aAFD,MAEO;AACL,mBAAK9H,kBAAL,GAA0B,KAA1B;AACA,mBAAKlJ,YAAL,CAAkB,6BAAlB,EAAiD,KAAjD;AACD;AAEF;AAEF;;;mCAEU;AAET;AACA;;;AAEA,eAAK4L,aAAL,GAAqB,EAArB;AACA,eAAK8B,iBAAL,GAAyB,EAAzB;AAEA,eAAKxE,kBAAL,GAA0B,IAA1B;;AACA,cAAI,KAAKtG,UAAT,EAAqB;AACnB,gBAAIkI,WAAW,GAAG,CAAH,KAAG,KAAK3L,IAAL,CAAUG,GAAV,CAAc,WAAd,OAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEC,KAA9C;;AACA,gBAAIuL,WAAJ,EAAiB;AACf,mBAAKqB,gBAAL,CAAsB,WAAtB,IAAqCrB,WAArC;AACD;;AACD,gBAAM0F,SAAS,GAAG/T,MAAM,CAACV,IAAP,CAAY,KAAKoQ,gBAAjB,CAAlB;;AACA,gBAAIqE,SAAS,CAACtO,MAAV,GAAmB,CAAvB,EAA0B;AAExB;AACA,mBAAKsC,MAAL;AACD,aAJD,MAIO;AACL,mBAAK0E,kBAAL,GAA0B,KAA1B;AACA,mBAAKlJ,YAAL,CAAkB,6BAAlB,EAAiD,KAAjD;AACD;AACF,WAdD,MAeK;AAEH,iBAAKyN,mBAAL,GAA2B,IAAInK,KAAJ,EAA3B;;AAFG,wDAGkB,KAAKgI,eAHvB;AAAA;;AAAA;AAGH,qEAA2C;AAAA,oBAAnCT,SAAmC;;AAEzC,oBAAG,EAAEA,SAAS,CAACE,SAAV,KAAwB,WAA1B,CAAH,EAA2C;AAEzC,sBAAI0F,cAAc,GAAG,IAAI,4FAAJ,EAArB;;AACA,sBAAI5F,SAAS,CAACG,SAAV,KAAwB,6DAAe6C,WAAvC,IAAsDhD,SAAS,CAACG,SAAV,KAAwB,6DAAeiD,WAA7F,IAA4GpD,SAAS,CAACG,SAAV,KAAwB,6DAAekD,YAAvJ,EAAqK;AACnK,wBAAIwC,eAAe,GAAG,CAAH,KAAG,KAAKvR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,MAApC,OAA2C,IAA3C,IAA2C,aAA3C,GAA2C,MAA3C,GAA2C,GAAExL,KAAnE;AACA,wBAAIoR,aAAa,GAAG,CAAH,KAAG,KAAKxR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,IAApC,OAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAExL,KAA/D,CAFmK,CAInK;AACA;;AACA,wBAAI,CAAC,KAAKqO,oBAAL,CAA0BjK,QAA1B,CAAmCkH,SAAS,CAACE,SAA7C,CAAL,EAA8D;AAC5D,0BAAI2F,eAAe,IAAIC,aAAvB,EAAsC;AACpCF,sCAAc,CAAC1F,SAAf,GAA2BF,SAAS,CAACE,SAArC;AACA0F,sCAAc,CAACzF,SAAf,GAA2BH,SAAS,CAACG,SAArC;AACAyF,sCAAc,CAAC1C,cAAf,GAAgC2C,eAAhC;AACAD,sCAAc,CAACzC,YAAf,GAA8B2C,aAA9B;AACAF,sCAAc,CAACf,sBAAf,GAAwC7E,SAAS,CAAC6E,sBAAlD;;AAEA,4BAAGvB,UAAU,CAACuC,eAAD,CAAV,GAA8BvC,UAAU,CAACwC,aAAD,CAA3C,EAA4D;AAC1D,+BAAK3Q,YAAL,CAAkB,8BAA6B6K,SAAS,CAACE,SAAvC,GAAkD,QAApE,EAA8E,KAA9E;AACA;AACD;;AAED,6BAAK0C,mBAAL,CAAyBpC,IAAzB,CAA8BoF,cAA9B;AACD,uBAbD,MAcK,IAAGC,eAAe,IAAI,CAACC,aAAvB,EAAsC;AACzC,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,YAA1D,EAAwE,KAAxE;AACA;AACD,uBAHI,MAIA,IAAG,CAAC2F,eAAD,IAAoBC,aAAvB,EAAsC;AACzC,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,cAA1D,EAA0E,KAA1E;AACA;AACD;AACF;AAEF,mBA/BD,MAgCK,IAAIF,SAAS,CAACG,SAAV,KAAwB,6DAAeoD,QAA3C,EAAqD;AAExD,wBAAIsC,eAAe,GAAG,CAAH,KAAG,KAAKvR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,MAApC,OAA2C,IAA3C,IAA2C,aAA3C,GAA2C,MAA3C,GAA2C,GAAExL,KAAnE;AACA,wBAAIoR,aAAa,GAAG,CAAH,KAAG,KAAKxR,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAV,GAAsB,IAApC,OAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAExL,KAA/D;;AAEA,wBAAI,CAAC,KAAKqO,oBAAL,CAA0BjK,QAA1B,CAAmCkH,SAAS,CAACE,SAA7C,CAAL,EAA8D;AAC5D,0BAAI2F,eAAe,IAAIC,aAAvB,EAAsC;AACpCF,sCAAc,CAAC1F,SAAf,GAA2BF,SAAS,CAACE,SAArC;AACA0F,sCAAc,CAACzF,SAAf,GAA2BH,SAAS,CAACG,SAArC;AACAyF,sCAAc,CAACf,sBAAf,GAAwC7E,SAAS,CAAC6E,sBAAlD;AAEA,4BAAMkB,mBAAmB,GAAG,oCAAM,CAACF,eAAD,EAAkB,YAAlB,CAAlC;AACA,4BAAIG,aAAa,GAAGD,mBAAmB,CAAChH,MAApB,CAA2B,YAA3B,CAApB;AACA6G,sCAAc,CAAC1C,cAAf,GAAgC8C,aAAhC;AACA,4BAAMC,iBAAiB,GAAG,oCAAM,CAACH,aAAD,EAAgB,YAAhB,CAAhC;AACA,4BAAII,WAAW,GAAGD,iBAAiB,CAAClH,MAAlB,CAAyB,YAAzB,CAAlB;AACA6G,sCAAc,CAACzC,YAAf,GAA8B+C,WAA9B,CAVoC,CAYpC;AACA;AACA;AACA;;AACA,4BAAGH,mBAAmB,GAAGE,iBAAzB,EAA4C;AAC1C,+BAAK9Q,YAAL,CAAkB,qCAAlB,EAAyD,KAAzD;AACA;AACD;;AAED,6BAAKyN,mBAAL,CAAyBpC,IAAzB,CAA8BoF,cAA9B;AACD,uBAtBD,MAuBK,IAAIC,eAAe,IAAI,CAACC,aAAxB,EAAuC;AAC1C,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,YAA1D,EAAwE,KAAxE;AACA;AACD,uBAHI,MAIA,IAAI,CAAC2F,eAAD,IAAoBC,aAAxB,EAAuC;AAC1C,6BAAK3Q,YAAL,CAAkB,kBAAkB6K,SAAS,CAACE,SAA5B,GAAwC,cAA1D,EAA0E,KAA1E;AACA;AACD;AACF;AACF,mBAtCI,MAuCA;AAEH,wBAAID,WAAW,GAAG,kBAAK3L,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAApC,MAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAEgM,KAA3C,IAAmD,CAAD,WAAC,KAAKpM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,CAAD,MAAmC,IAAnC,IAAmC,aAAnC,GAAmC,MAAnC,GAAmC,GAAExL,KAApC,MAAyC,IAAzC,IAAyC,aAAzC,GAAyC,MAAzC,GAAyC,GAAEgM,KAA9F,GAAsG,CAAD,KAAC,KAAKpM,IAAL,CAAUG,GAAV,CAAcuL,SAAS,CAACE,SAAxB,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAExL,KAA5J;;AAEA,wBAAI,CAAC,KAAKqO,oBAAL,CAA0BjK,QAA1B,CAAmCkH,SAAS,CAACE,SAA7C,CAAL,EAA8D;AAC5D,0BAAID,WAAJ,EAAiB;AACf2F,sCAAc,CAAC1F,SAAf,GAA2BF,SAAS,CAACE,SAArC;AACA0F,sCAAc,CAACzF,SAAf,GAA2BH,SAAS,CAACG,SAArC;AACAyF,sCAAc,CAAC1C,cAAf,GAAgCjD,WAAhC;AACA2F,sCAAc,CAACzC,YAAf,GAA8BlD,WAA9B;AACA2F,sCAAc,CAACf,sBAAf,GAAwC7E,SAAS,CAAC6E,sBAAlD;AACA,6BAAKjC,mBAAL,CAAyBpC,IAAzB,CAA8BoF,cAA9B;AACD;AACF;AACF;AACF,iBAzFD,MA0FK;AACH,uBAAKvG,cAAL,GAAsB,CAAH,KAAG,KAAK/K,IAAL,CAAUG,GAAV,CAAc,WAAd,OAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAEC,KAAlD;AACD;AAEF;AAnGE;AAAA;AAAA;AAAA;AAAA;;AAoGH,gBAAI,KAAKkO,mBAAL,CAAyBvL,MAAzB,GAAkC,CAAlC,IAAwC,KAAKgI,cAAL,KAAwB,EAAxB,IAA8B,KAAKA,cAAL,IAAuB,IAArD,IAA6D,KAAKA,cAAL,IAAuBsB,SAAhI,EAA4I;AAC1I,mBAAKwF,eAAL;AACD,aAFD,MAEO;AACL,mBAAK9H,kBAAL,GAA0B,KAA1B;AACA,mBAAKlJ,YAAL,CAAkB,6BAAlB,EAAiD,KAAjD;AACD;AAEF;AAEF;;;iCAEQiR,U,EAAoCC,e,EAAyBpG,W,EAAqB;AACzF,cAAIqG,eAAe,GAAG,IAAI7N,KAAJ,EAAtB;;AAEA,cAAI,CAAA2N,UAAU,SAAV,IAAAA,UAAU,WAAV,GAAU,MAAV,GAAAA,UAAU,CAAE/O,MAAZ,IAAqB,CAAzB,EAA4B;AAE1B+O,sBAAU,CAACrG,OAAX,CAAmB,UAAAkB,MAAM,EAAI;AAE3B,kBAAIlM,MAAM,GAAGkM,MAAM,CAACE,cAAP,CAAsBxH,MAAtB,CAA6B,UAAAJ,CAAC;AAAA,uBAAIA,CAAC,CAAC2G,SAAF,IAAemG,eAAf,IAAkC9M,CAAC,CAAC+G,UAAF,CAAaxH,QAAb,CAAsBmH,WAAtB,CAAtC;AAAA,eAA9B,CAAb;;AACA,kBAAIlL,MAAM,CAACsC,MAAP,KAAkB,CAAtB,EAAyB;AACvBiP,+BAAe,CAAC9F,IAAhB,CAAqBS,MAArB;AACD;AAEF,aAPD;AAQD;;AACD,iBAAOqF,eAAP;AACD;;;kCAGS;AACR,eAAKhS,IAAL,CAAUc,KAAV;AACA,eAAKkM,gBAAL,GAAwB,EAAxB;AACA,eAAKjD,kBAAL,GAA0B,KAA1B,CAHQ,CAIR;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEA,eAAKM,iBAAL,GAAyB,KAAzB;AACA,eAAKC,mBAAL,GAA2B,IAA3B;;AAEA,cAAG,KAAK7G,UAAR,EAAoB;AAClB,iBAAKgJ,aAAL,GAAqB,IAArB;AACA,iBAAK8B,iBAAL,GAAyB,IAAzB;AACD,WAHD,MAGO;AACL,iBAAK9B,aAAL,GAAqB,KAAKyB,aAA1B;AACA,iBAAKK,iBAAL,GAAyB,KAAKL,aAA9B;AACD;AAEF;;;mCAEUvB,M,EAAa;AAAA;;AAGtB,eAAKtB,mBAAL,CAAyBuB,kBAAzB,GAA8CD,MAAM,CAACsF,UAAP,CAAkB7D,QAAlB,EAA9C;AAEA,eAAK5E,sBAAL,CAA4B0I,0BAA5B,CAAuD,KAAK7G,mBAA5D,EACG/K,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EAEGiB,SAFH,CAEa,UAACC,MAAD,EAA+B;AACxC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,yBAAI,CAACkJ,kBAAL,GAA0BrJ,MAAM,CAACG,aAAjC;AACAuR,wBAAM,CAACC,IAAP,CAAY,OAAI,CAACtI,kBAAjB,EAAqC,QAArC;AAED;AACF,eAPD,MAQK;AACH,uBAAI,CAACvJ,OAAL,GAAe,KAAf;;AAEA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAdD;AAeD,WAlBH,EAkBK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AAEA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAtBH;AAwBD;;;+BAEM7B,E,EAAI;AAAA;;;;AAET,eAAKsV,YAAL,GAAoB,EAApB;AACA,cAAIC,QAAQ,GAAG,KAAK7F,aAAL,CAAmBzH,IAAnB,CAAwB,UAACmJ,GAAD,EAAS;AAC9C;AACA,mBAAOQ,QAAQ,CAACR,GAAG,CAAC,qBAAD,CAAJ,CAAR,KAAyCpR,EAAhD;AACD,WAHc,CAAf;;AAIA,cAAGuV,QAAQ,KAAKjG,SAAhB,EAA2B;AACzB,iBAAKkG,mBAAL,GAA2B,IAA3B,CADyB,CAEzB;AACA;AACA;AACA;AACA;;AACA,gBAAM1H,QAAQ,GAAGyH,QAAQ,SAAR,IAAAA,QAAQ,WAAR,GAAQ,MAAR,GAAAA,QAAQ,CAAEE,YAAV,CAAuBC,KAAvB,CAA6B,IAA7B,EAAmCC,GAAnC,GAAyCD,KAAzC,CAA+C,GAA/C,EAAoDC,GAApD,EAAjB;AACA,iBAAK5H,aAAL,GAAqBD,QAAQ,CAAC4H,KAAT,CAAe,GAAf,EAAoBC,GAApB,GAA0B7N,WAA1B,EAArB;AAEA,gBAAM8N,WAAW,GAAG,CAAH,KAAG,KAAKC,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAE5N,IAAF,CAAO,UAAAC,CAAC;AAAA,qBAAIA,CAAC,CAACoJ,mBAAF,KAA0BtR,EAA9B;AAAA,aAAR,CAAlC;AACA,iBAAK8N,QAAL,GAAiB8H,WAAW,KAAKtG,SAAjB,GAA8BsG,WAAW,CAACE,kBAA1C,GAA+DhI,QAA/E;AAEA,gBAAIiI,OAAO,GAAG,yEAAYA,OAA1B,CAbyB,CAczB;;AACA,iBAAKC,cAAL,GAAsBhW,EAAtB;;AAEA,gBAAGuV,QAAQ,KAAKjG,SAAhB,EAA2B;AACzB,mBAAKkG,mBAAL,GAA2B,IAA3B;AAGF,kBAAMrS,QAAQ,GAAG,IAAI,6EAAJ,EAAjB;AACAA,sBAAQ,CAAC8S,WAAT,GAAuBnI,QAAvB;AACA3K,sBAAQ,CAAC+S,YAAT,GAAwB,CAAH,KAAG,KAAKC,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEhO,SAAF,CAAYkJ,QAAZ,EAAjD;AACAlO,sBAAQ,CAACiT,iBAAT,GAA6B,CAAH,KAAG,KAAKxF,yBAAL,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAED,cAAF,CAAiBU,QAAjB,EAA3D,CAP2B,CAQ3B;;AACAlO,sBAAQ,CAACkT,iBAAT,GAA6B,KAA7B;AAEA,mBAAKpJ,YAAL,GAAoB,IAApB;AACA,mBAAKN,sBAAL,CAA4B2J,kBAA5B,CAA+CnT,QAA/C,EACCI,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,uBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,eAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA+B;AACxC,uBAAI,CAACC,aAAL,CAA2BD,MAA3B,EAAmC,YAAM;AAEvC,sBAAGA,MAAH,EAAW;AACT;AACA,wBAAGA,MAAM,CAACG,aAAP,IAAwB,EAA3B,EAA+B;AAC7B,8BAAO,OAAI,CAACkK,aAAL,CAAmBjG,WAAnB,EAAP;AACE,6BAAK,MAAL;AACA,6BAAK,KAAL;AACE,iCAAI,CAACyO,OAAL,GAAe,IAAf;AACA,iCAAI,CAACC,KAAL,GAAa,KAAb;AACA,iCAAI,CAAClB,YAAL,GAAoB,2BAA2B5R,MAAM,CAACG,aAAtD;AACA;;AAEF,6BAAK,KAAL;AACE,iCAAI,CAAC0S,OAAL,GAAe,IAAf;AACA,iCAAI,CAACC,KAAL,GAAa,KAAb;AACA,iCAAI,CAAClB,YAAL,GAAoB,OAAI,CAACA,YAAL,GAAoB,4BAA4B5R,MAAM,CAACG,aAA3E;AACA;;AAEF,6BAAK,MAAL;AACE,iCAAI,CAAC0S,OAAL,GAAe,IAAf;AACA,iCAAI,CAACC,KAAL,GAAa,KAAb;AACA,8BAAMC,UAAU,GAAGC,UAAU,CAACC,IAAX,CAAgBC,IAAI,CAAClT,MAAM,CAACG,aAAR,CAApB,EAA4C,UAAAgT,CAAC;AAAA,mCAAIA,CAAC,CAACC,UAAF,CAAa,CAAb,CAAJ;AAAA,2BAA7C,CAAnB;AACA,8BAAMC,IAAI,GAAG,IAAIC,IAAJ,CAAS;AAACC,kCAAM,EAAER;AAAT,2BAAT,CAAb;AACA,8BAAMS,MAAM,GAAGH,IAAI,CAACI,QAAL,EAAf;AACA,8BAAMC,aAAa,GAAGF,MAAM,CAACG,SAAP,CAAiB,YAAjB,EAA+BC,OAA/B,CAAuC,2BAAvC,EAAoE,EAApE,CAAtB;AACA,iCAAI,CAAChC,YAAL,GAAkB,4BAA0B8B,aAA5C;AACA;;AAEF,6BAAK,KAAL;AACE,iCAAI,CAACb,OAAL,GAAe,KAAf;AACA,iCAAI,CAACC,KAAL,GAAa,IAAb;AACA,iCAAI,CAAClB,YAAL,GAAoB,OAAI,CAACA,YAAL,GAAoB,iCAAiC5R,MAAM,CAACG,aAAhF;AA3BJ;AA6BD,qBAhCQ,CAkCT;;AACD,mBAnCD,MAmCO;AACL,2BAAI,CAACC,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,iBAxCD;;AAyCA,uBAAI,CAACiJ,YAAL,GAAoB,KAApB;AACD,eA7CD,EA6CG,UAAChJ,iBAAD,EAAuB;AAExB,uBAAI,CAACgJ,YAAL,GAAoB,KAApB;;AACA,uBAAI,CAACnJ,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,eAjDD;AAmDC;AACF;AAEF;;;uCACW;AACV,cAAG,KAAKyT,YAAL,IAAqB,EAAxB,EAA4B;AAC1B,mBAAO,KAAK5I,SAAL,CAAe6K,8BAAf,CAA8C,KAAKjC,YAAnD,CAAP;AACD;AACF;;;gDAEoB;AACnB,eAAKE,mBAAL,GAA2B,KAA3B;AACA,eAAKF,YAAL,GAAoB,EAApB;AACA,eAAKiB,OAAL,GAAe,KAAf;AACA,eAAKC,KAAL,GAAa,KAAb;AACA,eAAKvJ,YAAL,GAAmB,KAAnB;AACD;;;uCAEcjN,E,EAAI;AAAA;;;;AAEjB,cAAIuV,QAAQ,GAAG,KAAK7F,aAAL,CAAmBzH,IAAnB,CAAwB,UAACmJ,GAAD,EAAS;AAC9C;AACA,mBAAOQ,QAAQ,CAACR,GAAG,CAAC,qBAAD,CAAJ,CAAR,KAAyCpR,EAAhD;AACD,WAHc,CAAf;;AAIA,cAAIuV,QAAQ,KAAKjG,SAAjB,EAA4B;AAC1B,gBAAIkI,YAAY,GAAGjC,QAAQ,CAAC,cAAD,CAA3B;AACA,gBAAMzH,QAAQ,GAAG0J,YAAY,CAAC9B,KAAb,CAAmB,IAAnB,EAAyBC,GAAzB,GAA+BD,KAA/B,CAAqC,GAArC,EAA0CC,GAA1C,EAAjB;AAEA,gBAAMxS,QAAQ,GAAG,IAAI,6EAAJ,EAAjB;AACAA,oBAAQ,CAAC8S,WAAT,GAAuBnI,QAAvB;AACA3K,oBAAQ,CAAC+S,YAAT,GAAwB,CAAH,KAAG,KAAKC,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEhO,SAAF,CAAYkJ,QAAZ,EAAjD;AACAlO,oBAAQ,CAACiT,iBAAT,GAA6B,CAAH,KAAG,KAAKxF,yBAAL,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAED,cAAF,CAAiBU,QAAjB,EAA3D;AACAlO,oBAAQ,CAACkT,iBAAT,GAA6B,KAA7B;AAEA,iBAAK1J,sBAAL,CAA4B8K,YAA5B,CAAyCtU,QAAzC,EACGI,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,qBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,aAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAiB;AAC1B,qBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AAEpC,oBAAIA,MAAJ,EAAY;AACV,6EAAeA,MAAf,EAAuB,OAAI,CAACoK,QAA5B;AACD,iBAFD,MAEO;AACL,yBAAI,CAAChK,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,eAPD;AAQD,aAXH,EAWK,UAACC,iBAAD,EAAuB;AACxB,qBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,aAbH;AAcD;AACF;;;sCAEa7B,E,EAAI;AAAA;;;;AAEhB,cAAIuV,QAAQ,GAAG,KAAK7F,aAAL,CAAmBzH,IAAnB,CAAwB,UAACmJ,GAAD,EAAS;AAC9C;AACA,mBAAOQ,QAAQ,CAACR,GAAG,CAAC,qBAAD,CAAJ,CAAR,KAAyCpR,EAAhD;AACD,WAHc,CAAf;;AAIA,cAAIuV,QAAQ,KAAKjG,SAAjB,EAA4B;AAC1B,gBAAIkI,YAAY,GAAGjC,QAAQ,CAAC,cAAD,CAA3B;AACA,gBAAMzH,QAAQ,GAAG0J,YAAY,CAAC9B,KAAb,CAAmB,IAAnB,EAAyBC,GAAzB,GAA+BD,KAA/B,CAAqC,GAArC,EAA0CC,GAA1C,EAAjB;AAEA,gBAAMxS,QAAQ,GAAG,IAAI,6EAAJ,EAAjB;AACAA,oBAAQ,CAAC8S,WAAT,GAAuBnI,QAAvB;AACA3K,oBAAQ,CAAC+S,YAAT,GAAwB,CAAH,KAAG,KAAKC,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAEhO,SAAF,CAAYkJ,QAAZ,EAAjD;AACAlO,oBAAQ,CAACiT,iBAAT,GAA6B,CAAH,KAAG,KAAKxF,yBAAL,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAED,cAAF,CAAiBU,QAAjB,EAA3D;AACAlO,oBAAQ,CAACkT,iBAAT,GAA6B,KAA7B;AAEA,iBAAK1J,sBAAL,CAA4B8K,YAA5B,CAAyCtU,QAAzC,EACGI,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,qBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,aAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAiB;AAC1B,qBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AAEpC,oBAAIA,MAAJ,EAAY;AAEV;AACA,sBAAIgU,IAAI,GAAG,IAAIC,IAAJ,CAAS,CAACjU,MAAD,CAAT,EAAmB;AAACwF,wBAAI,EAAE;AAAP,mBAAnB,CAAX;AACA,sBAAM0O,OAAO,GAAEC,GAAG,CAACC,eAAJ,CAAoBJ,IAApB,CAAf,CAJU,CAKV;;AACA,sBAAIK,MAAM,GAAIlS,QAAQ,CAACmS,aAAT,CAAuB,QAAvB,CAAd,CANU,CAMsC;;AAChDnS,0BAAQ,CAACoS,IAAT,CAAcC,WAAd,CAA0BH,MAA1B;AAEAA,wBAAM,CAACI,KAAP,CAAaC,OAAb,GAAuB,MAAvB;AACAL,wBAAM,CAACM,GAAP,GAAaT,OAAb,CAVU,CAWV;AACA;;AAEAG,wBAAM,CAACO,MAAP,GAAgB;AACdjU,8BAAU,CAAC;AACT0T,4BAAM,CAACQ,KAAP;AACAR,4BAAM,CAACS,aAAP,CAAqBC,KAArB;AACD,qBAHS,EAGP,GAHO,CAAV;AAID,mBALD;AAOD,iBArBD,MAqBO;AACL,yBAAI,CAAC3U,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,eA1BD;AA2BD,aA9BH,EA8BK,UAACC,iBAAD,EAAuB;AACxB,qBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,aAhCH;AAiCD;AACF;;;mCAEU0G,K,EAAkB;AAC3B;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AAGAA,eAAK,CAACmQ,IAAN,CAAWhR,IAAX,CAAgB,UAACiR,KAAD,EAAQC,KAAR,EAAkB;AAChC,gBAAIC,MAAM,GAAGF,KAAK,CAACpQ,KAAK,CAACwH,KAAP,CAAlB;AACA,gBAAI+I,MAAM,GAAGF,KAAK,CAACrQ,KAAK,CAACwH,KAAP,CAAlB;AACA,gBAAIrM,MAAM,GAAG,IAAb;AAEA,gBAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACEpV,MAAM,GAAG,CAAC,CAAV,CADF,KAEK,IAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACHpV,MAAM,GAAG,CAAT,CADG,KAEA,IAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACHpV,MAAM,GAAG,CAAT,CADG,KAEA,IAAImV,MAAM,IAAI,IAAV,IAAmBC,MAAM,IAAI,IAAjC,EAAwC;AAC3C,kBAAIvQ,KAAK,CAACwH,KAAN,CAAYgJ,iBAAZ,GAAgCtR,QAAhC,CAAyC,MAAzC,CAAJ,EAAsD;AACpD,oBAAIuR,UAAU,GAAG,oCAAM,CAACH,MAAD,EAAS,YAAT,CAAN,CAA6BnL,MAA7B,CAAoC,YAApC,CAAjB;AACA,oBAAIuL,UAAU,GAAG,oCAAM,CAACH,MAAD,EAAS,YAAT,CAAN,CAA6BpL,MAA7B,CAAoC,YAApC,CAAjB;AAEAhK,sBAAM,GAAKsV,UAAU,IAAIC,UAAhB,GAA+B,CAAC,CAAhC,GAAqCD,UAAU,GAAGC,UAAd,GAA6B,CAA7B,GAAiC,CAA9E;AACD,eALD,CAOA;AAPA,mBAQO,IAAI,CAACJ,MAAM,CAACK,KAAP,CAAa,QAAb,CAAD,IAA2B,CAACJ,MAAM,CAACI,KAAP,CAAa,QAAb,CAAhC,EAAwD;AAC7D,sBAAIC,WAAW,GAAGlH,UAAU,CAAC4G,MAAD,CAA5B;AACA,sBAAIO,WAAW,GAAGnH,UAAU,CAAC6G,MAAD,CAA5B;AAEApV,wBAAM,GAAIyV,WAAW,IAAIC,WAAhB,GAA+B,CAAC,CAAhC,GAAqCD,WAAW,GAAGC,WAAf,GAA8B,CAA9B,GAAkC,CAA/E;AACD,iBALM,MAQL1V,MAAM,GAAGmV,MAAM,CAAC9Q,aAAP,CAAqB+Q,MAArB,CAAT;AACH,aAlBI,MAoBHpV,MAAM,GAAImV,MAAM,GAAGC,MAAV,GAAoB,CAAC,CAArB,GAA0BD,MAAM,GAAGC,MAAV,GAAoB,CAApB,GAAwB,CAA1D;AAEF,mBAAQvQ,KAAK,CAACS,KAAN,GAActF,MAAtB;AACD,WAlCD;AAqCD;;;+CAEsB;AACrB,eAAK2V,oBAAL;;AACA,cAAG,KAAKA,oBAAL,KAA8B,IAAjC,EAAuC;AACrC,gBAAIC,SAAS,GAAI,qBAAqB,KAAKD,oBAAL,CAA0BE,eAAhE;AACA,iBAAK9X,MAAL,CAAY+C,QAAZ,CAAqB,CAAC8U,SAAD,CAArB,EAAkC;AAACE,wBAAU,EAAE,KAAKxS;AAAlB,aAAlC,EAFqC,CAEiC;AACvE;AACF;;;iDAEgC;AAAA;;AAC/B,eAAKxD,OAAL,GAAe,IAAf;AACA,eAAK0J,YAAL,GAAoB,IAApB;AACA,eAAKT,sBAAL,CAA4ByG,sBAA5B,CAAmD,KAAKH,0BAAxD,EACGxP,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EAEGiB,SAFH,CAEa,UAACC,MAAD,EAAyD;AAClE,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,yBAAI,CAAC4V,uBAAL,GAA+B/V,MAAM,CAACG,aAAtC;;AAEA,sBAAI,CAAJ,KAAI,OAAI,CAAC4V,uBAAL,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEC,OAAlC,EAA2C;AACzC,2BAAI,CAACvD,oBAAL,GAA4B,OAAI,CAACsD,uBAAL,CAA6BC,OAAzD;AACD;;AAED,sBAAI,CAAJ,KAAI,OAAI,CAACD,uBAAL,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEE,YAAlC,EAAgD;AAC9C,2BAAI,CAAC/I,yBAAL,GAAiC,CAAH,KAAG,OAAI,CAAC6I,uBAAL,MAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEE,YAA/D;AACA,2BAAI,CAAC7M,eAAL,GAAuB,2BAA2B,OAAI,CAAC8D,yBAAL,CAA+BgJ,SAAjF;AACD;;AAED,sBAAI,OAAI,CAAChJ,yBAAL,CAA+BgJ,SAAnC,EAA8C;AAC5C,2BAAI,CAAC9M,eAAL,GAAuB,2BAA2B,OAAI,CAAC8D,yBAAL,CAA+BgJ,SAAjF;AACD;;AAED,yBAAI,CAACtL,mBAAL,GAA2B,IAAI,0FAAJ,EAA3B;AACA,yBAAI,CAACA,mBAAL,CAAyBqC,cAAzB,GAA0C,CAAH,WAAG,OAAI,CAAC8I,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEE,YAA9B,MAA0C,IAA1C,IAA0C,aAA1C,GAA0C,MAA1C,GAA0C,GAAEhJ,cAAtF;AACA,yBAAI,CAACrC,mBAAL,CAAyBuL,SAAzB,GAAqC,CAAH,WAAG,OAAI,CAACJ,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEE,YAA9B,MAA0C,IAA1C,IAA0C,aAA1C,GAA0C,MAA1C,GAA0C,GAAEG,iBAAjF;AACA,yBAAI,CAACxL,mBAAL,CAAyByL,gBAAzB,GAA4C,CAAH,iBAAG,OAAI,CAACN,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEC,OAAjC,MAAwC,IAAxC,IAAwC,aAAxC,GAAwC,MAAxC,GAAwC,GAAEM,eAAF,CAAkB,CAAlB,CAArC,MAAwD,IAAxD,IAAwD,aAAxD,GAAwD,MAAxD,GAAwD,GAAGD,gBAAvG;AACA,yBAAI,CAACzL,mBAAL,CAAyBiB,SAAzB,GAAqC,CAAH,iBAAG,OAAI,CAACkK,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEC,OAAjC,MAAwC,IAAxC,IAAwC,aAAxC,GAAwC,MAAxC,GAAwC,GAAEM,eAAF,CAAkB,CAAlB,CAArC,MAAwD,IAAxD,IAAwD,aAAxD,GAAwD,MAAxD,GAAwD,GAAGzK,SAAhG;AACA,yBAAI,CAACjB,mBAAL,CAAyB2L,QAAzB,GAAoC,CAAH,iBAAG,OAAI,CAACR,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEC,OAAjC,MAAwC,IAAxC,IAAwC,aAAxC,GAAwC,MAAxC,GAAwC,GAAEM,eAAF,CAAkB,CAAlB,CAArC,MAAwD,IAAxD,IAAwD,aAAxD,GAAwD,MAAxD,GAAwD,GAAGC,QAA/F;AACA,yBAAI,CAAC3L,mBAAL,CAAyB4L,QAAzB,GAAoC,CAAH,iBAAG,OAAI,CAACT,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEC,OAAjC,MAAwC,IAAxC,IAAwC,aAAxC,GAAwC,MAAxC,GAAwC,GAAEM,eAAF,CAAkB,CAAlB,CAArC,MAAwD,IAAxD,IAAwD,aAAxD,GAAwD,MAAxD,GAAwD,GAAGE,QAA/F;AACA,yBAAI,CAAC5L,mBAAL,CAAyB6L,UAAzB,GAAsC,CAAH,iBAAG,OAAI,CAACV,uBAAR,MAA+B,IAA/B,IAA+B,aAA/B,GAA+B,MAA/B,GAA+B,GAAEC,OAAjC,MAAwC,IAAxC,IAAwC,aAAxC,GAAwC,MAAxC,GAAwC,GAAEM,eAAF,CAAkB,CAAlB,CAArC,MAAwD,IAAxD,IAAwD,aAAxD,GAAwD,MAAxD,GAAwD,GAAGG,UAAjG;AACA,yBAAI,CAAC7L,mBAAL,CAAyBkC,MAAzB,GAAkC,CAAlC;AACA,yBAAI,CAAClC,mBAAL,CAAyB8L,QAAzB,GAAoC,OAAI,CAAC/M,QAAzC;;AAEA,sBAAI,oBAAI,CAAC8I,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE6D,eAA3B,MAA0C,IAA1C,IAA0C,aAA1C,GAA0C,MAA1C,GAA0C,GAAEhU,MAA5C,IAAqD,CAArD,IAA0D,cAAI,CAACmQ,oBAAL,MAAyB,IAAzB,IAAyB,aAAzB,GAAyB,MAAzB,GAAyB,GAAE/N,aAA3B,MAA6C,+DAAiBC,YAA5H,EAA0I;AACxI,2BAAI,CAAC3B,UAAL,GAAkB,IAAlB,CADwI,CAExI;AACA;AACA;AACA;;AACA,wBAAI,OAAI,CAAC4H,mBAAL,CAAyBuL,SAAzB,IAAsC,sCAAtC,IACD,OAAI,CAACvL,mBAAL,CAAyBuL,SAAzB,IAAsC,sCADrC,IAED,OAAI,CAACvL,mBAAL,CAAyBuL,SAAzB,IAAsC,sCAFzC,EAEiF;AAE/E,6BAAI,CAACQ,yBAAL;;AACA,6BAAI,CAAC7W,OAAL,GAAe,KAAf;AACA,6BAAI,CAAC0J,YAAL,GAAoB,KAApB;AACD,qBAPD,MAQK;AACH,6BAAI,CAACW,mBAAL,GAA2B,KAA3B;;AACA,6BAAI,CAACyM,sBAAL;AACD;AACF,mBAlBD,MAmBK;AACH;AACA,wBAAI,OAAI,CAAC1J,yBAAT,EAAoC;AAClC,6BAAI,CAAC/C,mBAAL,GAA2B,KAA3B;;AACA,6BAAI,CAAC0M,kBAAL;;AACA,6BAAI,CAACC,0BAAL;;AACA,6BAAI,CAACC,sBAAL;AACD;AACF;AAEF,iBAzDD,MAyDO,CACL;AACA;AACD;AACF,eA9DD,MA+DK;AACH;AACA;AAEA,uBAAI,CAAC3W,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAtED;AAuED,WA1EH,EA0EK,UAACC,iBAAD,EAAuB;AACxB;AACA;AAEA,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA/EH;AAiFD;;;oDAE2B;AAAA;;AAC1B,eAAK4K,sBAAL,CAA4BiO,8BAA5B,CAA2D,KAAKpM,mBAAL,CAAyBuL,SAApF,EACGtW,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EAEGiB,SAFH,CAEa,UAACC,MAAD,EAAuD;AAChE,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAAC4K,oBAAL,GAA4B/K,MAAM,CAACG,aAAnC;;AACA,sBAAI,OAAI,CAAC4K,oBAAL,CAA0BzI,MAA1B,GAAmC,CAAvC,EAA0C;AACxC,2BAAI,CAAC2U,eAAL,GAAuB,IAAvB;AACA,2BAAI,CAACrN,iBAAL,GAAyB,KAAzB;AACA,2BAAI,CAACO,mBAAL,GAA2B,IAA3B;AAEA,2BAAI,CAACD,eAAL,GAAuB,IAAvB;AACD,mBAND,MAOK;AACH,2BAAI,CAAC+M,eAAL,GAAuB,KAAvB;AAEA,2BAAI,CAAC/M,eAAL,GAAuB,KAAvB;AACD;AACF;;AACD,uBAAI,CAAClL,SAAL;;AACA,uBAAI,CAACc,OAAL,GAAe,KAAf;AACD,eAnBD,MAoBK;AACH,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAxBD;AAyBD,WA5BH,EA4BK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA9BH;AA+BD;;;6CAE4B;AAAA;;;;AAC3B,eAAKoJ,OAAL,GAAe,EAAf;;AACA,cAAI,KAAK2F,yBAAL,KAA8B,MAAI,KAAKA,yBAAT,MAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAEgK,qBAAlE,CAAJ,EAA6F;AAE3F,iBAAK3P,OAAL,CAAakE,IAAb,CAAkB;AAAEe,wBAAU,EAAE,YAAd;AAA4BC,uBAAS,EAAE,SAAvC;AAAkDC,sBAAQ,EAAE,CAAC;AAA7D,aAAlB;AACA,iBAAKnF,OAAL,CAAakE,IAAb,CAAkB;AAAEe,wBAAU,EAAE,MAAd;AAAsBC,uBAAS,EAAE,MAAjC;AAAyCC,sBAAQ,EAAE;AAAnD,aAAlB;AAEA,iBAAKQ,yBAAL,CAA+BgK,qBAA/B,CAAqDlM,OAArD,CAA6D,UAAAmM,QAAQ,EAAI;AACvE,kBAAIA,QAAQ,CAACxK,SAAb,EAAwB;AACtB,uBAAI,CAACpF,OAAL,CAAakE,IAAb,CAAkB;AAAEe,4BAAU,EAAE2K,QAAQ,CAACC,WAAvB;AAAoC3K,2BAAS,EAAE0K,QAAQ,CAAC/L,SAAxD;AAAmEsB,0BAAQ,EAAEyK,QAAQ,CAACvK;AAAtF,iBAAlB;AACD;;AAED,kBAAGuK,QAAQ,CAACE,2BAAT,CAAqC/U,MAArC,GAA8C,CAAjD,EAAmD;AAEjD,uBAAI,CAACgV,wBAAL,CAA8BH,QAAQ,CAACrH,sBAAvC,EAA+DqH,QAAQ,CAAChM,SAAxE;AACD;AACF,aATD;AAUA,iBAAK5D,OAAL,GAAe,KAAKA,OAAL,CAAavD,IAAb,CAAkB,UAACC,CAAD,EAAIC,CAAJ;AAAA,qBAAUD,CAAC,CAACyI,QAAF,GAAaxI,CAAC,CAACwI,QAAzB;AAAA,aAAlB,CAAf;AACD,WAlB0B,CAoB3B;AACA;AACA;;AACD,S,CAED;AAEA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AAEA;AAEA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;qDAEqC;AAAA;;AAEnC,eAAK5M,OAAL,GAAe,IAAf;AACA,cAAIyX,YAAY,GAAG,IAAnB;AACA,eAAKtO,sBAAL,CAA4BuO,0BAA5B,CAAuD,KAAKtK,yBAAL,CAA+BD,cAAtF,EAAsGsK,YAAtG,EACG1X,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA2D;AACpE,mBAAI,CAACC,aAAL,CAAuDD,MAAvD,EAA+D,YAAM;;;AACnE,qBAAI,CAACF,OAAL,GAAe,IAAf;;AACA,kBAAIE,MAAM,CAACE,SAAX,EAAsB;AACpB;AACA,uBAAI,CAAC8L,aAAL,GAAqB,EAArB;AACA,uBAAI,CAACyB,aAAL,GAAqB,EAArB;AACA,oBAAIgK,cAAc,GAAG,EAArB;;AAGA,oBAAGzX,MAAM,CAACG,aAAV,EAA0B;AACxB,sBAAGH,MAAM,CAACG,aAAP,CAAqBuX,SAAxB,EAAmC;AACjC,2BAAI,CAACvF,SAAL,GAAiBnS,MAAM,CAACG,aAAP,CAAqBuX,SAAtC;AACD;;AACD,sBAAI,cAAI,CAACvF,SAAL,MAAc,IAAd,IAAc,aAAd,GAAc,MAAd,GAAc,GAAE7P,MAAhB,IAAyB,CAA7B,EAAgC;AAC9B,2BAAI,CAAC4H,eAAL,GAAuB,IAAvB;AACD;;AAED,sBAAGlK,MAAM,CAACG,aAAP,CAAqByO,mBAAxB,EAA6C;AAC3C,2BAAI,CAACnB,aAAL,GAAqBzN,MAAM,CAACG,aAAP,CAAqByO,mBAA1C;AACA,2BAAI,CAAC5C,aAAL,GAAqBhM,MAAM,CAACG,aAAP,CAAqByO,mBAA1C;AACA,2BAAI,CAACC,mBAAL,GAA2B7O,MAAM,CAACG,aAAP,CAAqByO,mBAAhD;AACD;;AAED,sBAAG5O,MAAM,CAACG,aAAP,CAAqBwX,WAAxB,EAAqC;AACnC,2BAAI,CAACjM,eAAL,GAAuB,IAAIhI,KAAJ,EAAvB;AACA,2BAAI,CAACgI,eAAL,GAAuB1L,MAAM,CAACG,aAAP,CAAqBwX,WAA5C,CAFmC,CAGnC;AACA;AACD;AACF,iBA3BmB,CA6BlB;AACA;AACA;AACA;AACA;AACA;AACA;;;AACF,uBAAI,CAAC3Y,SAAL;;AACA,uBAAI,CAACc,OAAL,GAAe,KAAf;AACD,eAtCD,MAsCO;AACL,uBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aA5CD;AA6CD,WAhDH,EAgDK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAnDH;AAoDD;;;iDAEgC;AAAA;;AAC/B,eAAK2B,OAAL,GAAe,IAAf;AACA,eAAKmJ,sBAAL,CAA4B2O,sBAA5B,CAAmD,KAAK1K,yBAAL,CAA+B2K,iBAAlF,EACGhY,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAwD;AACjE,mBAAI,CAACC,aAAL,CAAoDD,MAApD,EAA4D,YAAM;AAChE,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,uBAAI,CAAC4X,gBAAL,GAAwB9X,MAAM,CAACG,aAA/B;;AAEA,oBAAG,OAAI,CAAC+M,yBAAL,IAAkC,OAAI,CAAC4K,gBAAL,CAAsBxV,MAAtB,GAA+B,CAApE,EAAuE;AACrE,yBAAI,CAACqT,oBAAL,GAA4B,IAAI,qGAAJ,EAA5B;AACA,yBAAI,CAACA,oBAAL,GAA4B,OAAI,CAACmC,gBAAL,CAAsBvT,IAAtB,CAA2B,UAAAC,CAAC;AAAA,2BAAIA,CAAC,CAACyI,cAAF,IAAoB,OAAI,CAACC,yBAAL,CAA+BD,cAAvD;AAAA,mBAA5B,CAA5B,CAFqE,CAGrE;AACD;;AAED,uBAAI,CAAChD,YAAL,GAAoB,KAApB;AACA,uBAAI,CAACT,YAAL,GAAoB,KAApB;AACD,eAXD,MAWO;AACL,uBAAI,CAACpJ,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAfD;AAgBD,WAnBH,EAmBK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WArBH;AAsBA,eAAK2B,OAAL,GAAe,KAAf;AACD;;;oDAEmC;AAAA;;AAElC,eAAKA,OAAL,GAAe,IAAf;AACA,eAAK0J,YAAL,GAAoB,IAApB,CAHkC,CAKlC;;AACA,eAAKT,sBAAL,CAA4BgP,6BAA5B,CAA0D,KAAKnN,mBAA/D,EACG/K,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EAEGiB,SAFH,CAEa,UAACC,MAAD,EAA+C;AACxD,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,yBAAI,CAAC2L,oBAAL,GAA4B9L,MAAM,CAACG,aAAnC;AACA,yBAAI,CAAC6X,qBAAL,GAA6B,OAAI,CAAClM,oBAAlC;AAEA,yBAAI,CAACvE,OAAL,GAAe,EAAf;AACA,yBAAI,CAACwE,OAAL,GAAe,EAAf;AACA,yBAAI,CAACC,aAAL,GAAqB,EAArB;;AAEA,yBAAI,CAACF,oBAAL,CAA0Bd,OAA1B,CAAkC,UAAAiB,cAAc,EAAI;AAClD,wBAAMC,MAAM,GAAG,EAAf;AAEAA,0BAAM,CAAC,YAAD,CAAN,GAAuBD,cAAc,CAACE,kBAAtC;AAGAF,kCAAc,CAACG,cAAf,CAA8BpB,OAA9B,CAAsC,UAAAqB,KAAK,EAAI;AAE7CH,4BAAM,CAACG,KAAK,CAACb,SAAP,CAAN,GAA0Ba,KAAK,CAACd,UAAhC;AAED,qBAJD;;AAMA,2BAAI,CAACQ,OAAL,CAAaN,IAAb,CAAkBS,MAAlB;AACD,mBAbD;;AAeA,yBAAI,CAACF,aAAL,GAAqB,OAAI,CAACD,OAA1B;AACA,yBAAI,CAAC0B,aAAL,GAAqB,OAAI,CAAC1B,OAA1B;;AAEA,yBAAI,CAACxE,OAAL,CAAakE,IAAb,CAAkB;AAAEe,8BAAU,EAAE,YAAd;AAA4BC,6BAAS,EAAE,SAAvC;AAAkDC,4BAAQ,EAAE,CAAC;AAA7D,mBAAlB;;AACA,yBAAI,CAACnF,OAAL,CAAakE,IAAb,CAAkB;AAAEe,8BAAU,EAAE,MAAd;AAAsBC,6BAAS,EAAE,MAAjC;AAAyCC,4BAAQ,EAAE;AAAnD,mBAAlB;;AACA,+BAAI,CAACZ,oBAAL,CAA0B,CAA1B,OAA4B,IAA5B,IAA4B,aAA5B,GAA4B,MAA5B,GAA4B,GAAEM,cAAF,CAAiBpB,OAAjB,CAAyB,UAAAqB,KAAK,EAAI;AAC5D,wBAAIA,KAAK,CAACM,SAAV,EAAqB;AAEnB,6BAAI,CAACpF,OAAL,CAAakE,IAAb,CAAkB;AAAEe,kCAAU,EAAEH,KAAK,CAACb,SAApB;AAA+BiB,iCAAS,EAAEJ,KAAK,CAACjB,SAAhD;AAA2DsB,gCAAQ,EAAEL,KAAK,CAACO;AAA3E,uBAAlB;AACD;AACF,mBAL2B,CAA5B;AAOA,yBAAI,CAACrF,OAAL,GAAe,OAAI,CAACA,OAAL,CAAavD,IAAb,CAAkB,UAACC,CAAD,EAAIC,CAAJ;AAAA,2BAAUD,CAAC,CAACyI,QAAF,GAAaxI,CAAC,CAACwI,QAAzB;AAAA,mBAAlB,CAAf;AAEA,yBAAI,CAAC9C,iBAAL,GAAyB,IAAzB;AAEA,yBAAI,CAACiD,WAAL,GAAoB,CAAC,OAAI,CAACjC,mBAAL,CAAyBkC,MAAzB,GAAkC,CAAnC,IAAyC,OAAI,CAACnD,QAA/C,GAA4D,CAA/E,CAxCwB,CAyCxB;;AACA,yBAAI,CAACoD,SAAL,GAAiB,OAAI,CAACF,WAAL,GAAmB,OAAI,CAACb,aAAL,CAAmB1J,MAAtC,GAA+C,CAAhE;;AAEA,sBAAI,OAAI,CAACoH,SAAL,IAAkB,OAAI,CAACsD,cAA3B,EAA2C;AACzC,2BAAI,CAACD,SAAL,GAAiB,OAAI,CAACtD,gBAAtB;AACD;AAEF;;AACD,uBAAI,CAAC3J,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC0J,YAAL,GAAoB,KAApB,CAnDoB,CAoDpB;AACD,eArDD,MAsDK;AACH,uBAAI,CAAC1J,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC0J,YAAL,GAAoB,KAApB;;AAEA,uBAAI,CAACpJ,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aA7DD;AA8DD,WAjEH,EAiEK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;AACA,mBAAI,CAAC0J,YAAL,GAAoB,KAApB;;AAEA,mBAAI,CAACpJ,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAtEH;AAuED;;;mCAGU8Z,U,EAAoB;AAE7B;AACAA,oBAAU;AAEV,eAAKjL,cAAL,GAAsBkB,QAAQ,CAAC,mCAAC,CAAC,MAAD,CAAD,CAAUuB,IAAV,CAAe,SAAf,CAAD,EAA4B,EAA5B,CAA9B;;AAEA,cAAIwI,UAAU,KAAK,IAAnB,EAAyB;AACvB,iBAAKjL,cAAL;AACD,WAFD,MAEO,IAAIiL,UAAU,KAAK,IAAnB,EAAyB;AAC9B,iBAAKjL,cAAL;AACD,WAFM,MAEA;AACL,iBAAKA,cAAL,GAAsBkB,QAAQ,CAAC+J,UAAD,EAAa,EAAb,CAA9B;AACD;;AACD,6CAAC,CAAC,MAAD,CAAD,CAAUxI,IAAV,CAAe,SAAf,EAA0B,KAAKzC,cAA/B;AAGA,eAAKpC,mBAAL,CAAyBkC,MAAzB,GAAkC,KAAKE,cAAvC;AACA,eAAK2C,yBAAL;AACD;;;iDAEgC;AAAA;;AAC/B,eAAK7P,OAAL,GAAe,IAAf;AACA,eAAK0J,YAAL,GAAoB,IAApB;AAEA,eAAKT,sBAAL,CAA4BmP,qBAA5B,CAAkD,KAAKtN,mBAAvD,EACG/K,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EAEGiB,SAFH,CAEa,UAACC,MAAD,EAA+C;AACxD,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,yBAAI,CAACgY,0BAAL,GAAkCnY,MAAM,CAACG,aAAzC;;AACA,sBAAI,OAAI,CAACgY,0BAAL,CAAgC7V,MAAhC,GAAyC,CAA7C,EAAgD;AAE9C,2BAAI,CAAC4H,eAAL,GAAuB,IAAvB;AACA,2BAAI,CAACT,gBAAL,GAAwB,OAAI,CAAC0O,0BAAL,CAAgC,CAAhC,EAAmCC,gBAA3D;AACA,2BAAI,CAAC1O,SAAL,GAAiB2O,IAAI,CAACC,IAAL,CAAU,OAAI,CAAC7O,gBAAL,GAAwB,OAAI,CAACE,QAAvC,CAAjB;AAEA,2BAAI,CAAC4O,SAAL,GAAiB,IAAI7U,KAAJ,EAAjB;AACA,2BAAI,CAAC6U,SAAL,GAAiB7U,KAAK,CAAC,OAAI,CAACgG,SAAN,CAAtB;AACD;;AAED,sBAAI+N,cAAc,GAAG,EAArB;;AAEA,yBAAI,CAACU,0BAAL,CAAgCnN,OAAhC,CAAwC,UAAAiB,cAAc,EAAI;AACxD,wBAAMC,MAAM,GAAG,EAAf;AAEAA,0BAAM,CAAC,YAAD,CAAN,GAAuBD,cAAc,CAACE,kBAAtC;AAGAF,kCAAc,CAACG,cAAf,CAA8BpB,OAA9B,CAAsC,UAAAqB,KAAK,EAAI;AAE7CH,4BAAM,CAACG,KAAK,CAACb,SAAP,CAAN,GAA0Ba,KAAK,CAACd,UAAhC;AAED,qBAJD;AAMAkM,kCAAc,CAAChM,IAAf,CAAoBS,MAApB;AACD,mBAbD;;AAgBA,sBAAMsM,WAAW,GAAG,CAAH,KAAG,OAAI,CAACL,0BAAL,CAAgC,CAAhC,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAE/L,cAAF,CAAiBxH,MAAjB,CAAwB,UAAAJ,CAAC;AAAA,2BAAIA,CAAC,CAACiU,QAAF,IAAc,IAAlB;AAAA,mBAAzB,CAAtD,CA/BwB,CAiCxB;AACA;AACA;AACA;AACA;AAEA;AACA;AACA;AACA;;AAGA,yBAAI,CAAC/M,eAAL,GAAuB,IAAIhI,KAAJ,EAAvB;AACA,sBAAIgV,WAAW,GAAG,IAAI,kGAAJ,EAAlB;AAEAA,6BAAW,CAAClN,SAAZ,GAAwB,WAAxB;AACAkN,6BAAW,CAACvN,SAAZ,GAAwB,WAAxB;AACAuN,6BAAW,CAACtN,SAAZ,GAAwB,MAAxB;AACAsN,6BAAW,CAACC,QAAZ,GAAuB,CAAvB;;AAEA,yBAAI,CAACjN,eAAL,CAAqBD,IAArB,CAA0BiN,WAA1B;;AACA,sBAAI,CAAAF,WAAW,SAAX,IAAAA,WAAW,WAAX,GAAW,MAAX,GAAAA,WAAW,CAAElW,MAAb,IAAsB,CAA1B,EAA6B;AAE3BkW,+BAAW,CAACxN,OAAZ,CAAoB,UAAA4N,IAAI,EAAI;AAC1B,0BAAIC,WAAW,GAAG,IAAI,kGAAJ,EAAlB;AACAA,iCAAW,CAACrN,SAAZ,GAAwBoN,IAAI,CAACpN,SAA7B;AACAqN,iCAAW,CAAC1N,SAAZ,GAAwByN,IAAI,CAACzN,SAA7B;AACA0N,iCAAW,CAACzN,SAAZ,GAAwBwN,IAAI,CAACxN,SAA7B;AACAyN,iCAAW,CAACF,QAAZ,GAAuBC,IAAI,CAACE,cAA5B;;AAEA,6BAAI,CAACpN,eAAL,CAAqBD,IAArB,CAA0BoN,WAA1B;AAED,qBATD;AAUD;;AAED,yBAAI,CAACnN,eAAL,CAAqBV,OAArB,CAA6B,UAAA4N,IAAI,EAAI;AACnCA,wBAAI,CAACG,MAAL,GAAc,IAAIrV,KAAJ,EAAd;;AAEA,wBAAIkV,IAAI,CAACpN,SAAL,KAAmB,WAAvB,EAAoC;AAElCiM,oCAAc,CAACzM,OAAf,CAAuB,UAAAgO,GAAG,EAAI;AAC5B,4BAAIxU,CAAC,GAAGwU,GAAG,CAACJ,IAAI,CAACpN,SAAN,CAAX;AAEA,4BAAIyN,QAAQ,GAAGL,IAAI,CAACG,MAAL,CAAYnU,MAAZ,CAAmB,UAAAJ,CAAC;AAAA,iCAAIA,CAAC,CAACmH,KAAF,CAAQvH,WAAR,GAAsB8U,IAAtB,MAAgCF,GAAG,CAACJ,IAAI,CAACpN,SAAN,CAAH,CAAoBpH,WAApB,GAAkC8U,IAAlC,EAApC;AAAA,yBAApB,CAAf;;AACA,4BAAIF,GAAG,CAACJ,IAAI,CAACpN,SAAN,CAAH,KAAwB,IAAxB,IAAgCwN,GAAG,CAACJ,IAAI,CAACpN,SAAN,CAAH,KAAwB,EAAxD,IAA8DwN,GAAG,CAACJ,IAAI,CAACpN,SAAN,CAAH,KAAwB,GAAtF,IAA6FyN,QAAQ,CAAC3W,MAAT,GAAkB,CAAnH,EAAsH;AACpHsW,8BAAI,CAACG,MAAL,CAAYtN,IAAZ,CAAiB;AAAEE,iCAAK,EAAEqN,GAAG,CAACJ,IAAI,CAACpN,SAAN,CAAZ;AAA8B7L,iCAAK,EAAEqZ,GAAG,CAACJ,IAAI,CAACpN,SAAN;AAAxC,2BAAjB;AAED;AACF,uBARD;AAUD;;AACDoN,wBAAI,CAACG,MAAL,GAAcH,IAAI,CAACG,MAAL,CAAY/U,IAAZ,CAAiB,UAACC,CAAD,EAAIC,CAAJ,EAAU;AACvC,6BAAOD,CAAC,CAAC0H,KAAF,CAAQvH,WAAR,GAAsB8U,IAAtB,GAA6B7U,aAA7B,CAA2CH,CAAC,CAACyH,KAAF,CAAQvH,WAAR,GAAsB8U,IAAtB,EAA3C,CAAP;AACD,qBAFa,CAAd;AAGD,mBAnBD;;AAqBA,yBAAI,CAACxN,eAAL,GAAuB,OAAI,CAACA,eAAL,CAAqB1H,IAArB,CAA0B,UAACC,CAAD,EAAIC,CAAJ;AAAA,2BAAUD,CAAC,CAAC0U,QAAF,GAAazU,CAAC,CAACyU,QAAzB;AAAA,mBAA1B,CAAvB;AAED;;AACD,uBAAI,CAAC7Y,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC0J,YAAL,GAAoB,KAApB,CA9FoB,CAgGpB;AACA;;AAEA,uBAAI,CAACI,iBAAL,GAAyB,KAAzB,CAnGoB,CAoGpB;AACA;AACA;AACA;;AACA,uBAAI,CAAC5K,SAAL;AACD,eAzGD,MA0GK;AACH,uBAAI,CAACc,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC0J,YAAL,GAAoB,KAApB;;AAEA,uBAAI,CAACpJ,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAjHD;AAkHD,WArHH,EAqHK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;AACA,mBAAI,CAAC0J,YAAL,GAAoB,KAApB;;AAEA,mBAAI,CAACpJ,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA1HH;AA6HD;;;qCAEYgb,K,EAAO;AAElB,cAAI,KAAKlP,YAAT,EAAuB;AACrB;AACA;AAEA,iBAAKA,YAAL,GAAoB,KAApB;AACD;AACF;;;qCACYzJ,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAsB,IAAtB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEmB;AAClB,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;oCAGmB;;;AAElB,cAAI,KAAKqB,IAAT,EAAe;AACb,iBAAKA,IAAL,GAAY,IAAI,wDAAJ,CAAc,EAAd,CAAZ;AACD;;AAED,cAAM0B,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AACA,cAAIyJ,IAAI,GAAG,IAAX;AACA,cAAIyO,KAAK,GAAG,CAAZ;;AAEA,cAAI,KAAKpW,UAAT,EAAqB;AAEnB,gBAAI,KAAK+H,oBAAL,IAA6B,IAAjC,EAAuC;AAErC,mBAAKA,oBAAL,CAA0BC,OAA1B,CAAkC,UAAAqB,KAAK,EAAI;AACzCpL,yBAAS,CAACE,UAAV,CAAqBkL,KAAK,CAAClB,SAA3B,EAAsCR,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EACpC;AACEG,0BAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,iBADoC,CAAtC;AAIAD,qBAAK,IAAI,CAAT;AACD,eAND;AAOD,aATD,MAWK;AACHnY,uBAAS,CAACE,UAAV,CAAqB,WAArB,EAAkCwJ,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EAChC;AACEG,wBAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,eADgC,CAAlC;;AAIA,kBAAI,CAAJ,KAAI,KAAKlB,0BAAL,CAAgC,CAAhC,OAAkC,IAAlC,IAAkC,aAAlC,GAAkC,MAAlC,GAAkC,GAAE/L,cAAxC,EAAwD;AAEtD,qBAAK+L,0BAAL,CAAgC,CAAhC,EAAmC/L,cAAnC,CAAkDpB,OAAlD,CAA0D,UAAAqB,KAAK,EAAI;AACjE,sBAAIA,KAAK,CAACoM,QAAV,EAAoB;AAClBxX,6BAAS,CAACE,UAAV,CAAqBkL,KAAK,CAAClB,SAA3B,EAAsCR,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EACpC;AACEG,8BAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,qBADoC,CAAtC;AAIAD,yBAAK,IAAI,CAAT;AACD;AACF,iBARD;AASD;AACF;AACF,WA/BD,MA+BO;AACL,gBAAI,YAAKlM,yBAAL,MAA8B,IAA9B,IAA8B,aAA9B,GAA8B,MAA9B,GAA8B,GAAEgK,qBAAF,CAAwB5U,MAAtD,IAA+D,CAAnE,EAAsE;AACpErB,uBAAS,CAACE,UAAV,CAAqB,WAArB,EAAkCwJ,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EAChC;AACEG,wBAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,eADgC,CAAlC;AAIA,mBAAKnM,yBAAL,CAA+BgK,qBAA/B,CAAqDlM,OAArD,CAA6D,UAAAqB,KAAK,EAAI;AACpE,oBAAIA,KAAK,CAACoM,QAAV,EAAoB;AAClB,sBAAGpM,KAAK,CAACjB,SAAN,KAAoB,6DAAe6C,WAAnC,IAAkD5B,KAAK,CAACjB,SAAN,KAAoB,6DAAeoD,QAArF,IACEnC,KAAK,CAACjB,SAAN,KAAoB,6DAAeiD,WADrC,IACoDhC,KAAK,CAACjB,SAAN,KAAoB,6DAAekD,YAD1F,EACyG;AACzGrN,6BAAS,CAACE,UAAV,CAAqBkL,KAAK,CAAClB,SAAN,GAAkB,MAAvC,EAA+CR,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EAC7C;AACEG,8BAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,qBAD6C,CAA/C;AAKEpY,6BAAS,CAACE,UAAV,CAAqBkL,KAAK,CAAClB,SAAN,GAAkB,IAAvC,EAA6CR,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EAC3C;AACEG,8BAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,qBAD2C,CAA7C;AAKFD,yBAAK,IAAI,CAAT;AACC,mBAbD,MAcK;AACHnY,6BAAS,CAACE,UAAV,CAAqBkL,KAAK,CAAClB,SAA3B,EAAsCR,IAAI,CAAC/M,WAAL,CAAiBwD,OAAjB,CAAyB,IAAzB,EACpC;AACEG,8BAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,qBADoC,CAAtC;AAIAD,yBAAK,IAAI,CAAT;AACD;AAEF;AACF,eAzBD,EALoE,CA+BpE;AACA;AACD;AACF;;AAED,eAAK7Z,IAAL,GAAY0B,SAAZ;AACD;;;+CAKsB;AACrB,eAAKqY,mBAAL,GAA2B,IAA3B;AACD;;;;MAphEkD,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC5CjD,0I,GAAA;AAAA;AAAA;AAAA,c,GACI,sH,IAAG,6E,IACH;AAAA;AAAA,oBAC2C,UAD3C;;AAAkD;;;;;AAAlD;AAAA,oB,IAAgF,2K,IAC1C;AAAA;AAHrC;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC5D;;AAAA;AAAW,O;AAAA;;;qEAMd,iJ,IAAiD,sF,IAAY,I,EAAA,I;AAAA;;;qEAC7D,iJ,IAAgD,uF,IAAa,I,EAAA,I;AAAA;;;qEAsB7C,2I,IACsE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwD,O;AAAA;;;qEAC9H,2I,IAC6E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+D,O;AAAA;;;qEAM5I,2I,IACyG,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA0C,O;AAAA;;;qEAUnJ,2I,IAC+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAgD,O;AAAA;;;qEAC/G,2I,IACqE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuD,O;AAAA;;;qEAM5H,2I,IAC8D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+C,O;AAAA;;;qEAC7G,2I,IACoE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAsD,O;AAAA;;;qEAM1H,2I,IAC2D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA4C,O;AAAA;;;qEACvG,2I,IACuD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEAOhG,2I,IAC2D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA4C,O;AAAA;;;qEAevG,2I,IACkE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAmD,O;AAAA;;;qEAYrH,2I,IAC6D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA8C,O;AAAA;;;qEAC3G,2I,IAC+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAiD,O;AAAA;;;qEANpH,iJ,IACI,kJ,IAA2B,yF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACA,yH,GAAA;AAAA;AAAA,c,GAEA,yH,GAAA;AAAA;AAAA,c,GACuH;AAAA;AAJ9E;;AAAzC,sBAAyC,SAAzC;;AAEI;;AADJ,uBACI,SADJ;;AAGI;;AADJ,uBACI,SADJ;AAC8D,O,EAAA;AAJ9D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0E,O;AAAA;;;qEAa1E,2I,IAC8D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAgD,O;AAAA;;;qEAJlH,iJ,IACI,kJ,IAA2B,2F,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACA,yH,GAAA;AAAA;AAAA,c,GACqH;AAAA;AAF5E;;AAAzC,sBAAyC,SAAzC;;AAEI;;AADJ,uBACI,SADJ;AAC6D,O,EAAA;AAF7D;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA4E,O;AAAA;;;qEAQ5E,2I,IACuD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEAJpG,iJ,IACI,kJ,IAA2B,8E,IAAI,0H,IAAO,sG,IACtC;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,yH,GAAA;AAAA;AAAA,c,GACuG;AAAA;AAF9D;;AAAzC,sBAAyC,SAAzC;;AAEI;;AADJ,uBACI,SADJ;AACsD,O,EAAA;AAFtD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAqE,O;AAAA;;;qEAQrE,2I,IACuD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEAJnG,iJ,IACI,kJ,IAA2B,mF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACA,yH,GAAA;AAAA;AAAA,c,GACsG;AAAA;AAF7D;;AAAzC,sBAAyC,SAAzC;;AAEI;;AADJ,uBACI,SADJ;AACsD,O,EAAA;AAFtD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAoE,O;AAAA;;;qEAWpE,2I,IACuD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEAJnG,iJ,IACI,kJ,IAA2B,kF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACA,yH,GAAA;AAAA;AAAA,c,GACsG;AAAA;AAFzD;;AAA7C,sBAA6C,SAA7C;;AAEI;;AADJ,uBACI,SADJ;AACsD,O,EAAA;AAFtD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwE,O;AAAA;;;qEAQxE,2I,IACyD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA0C,O;AAAA;;;qEAJvG,iJ,IACI,kJ,IAA2B,oF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaACA,yH,GAAA;AAAA;AAAA,c,GAC0G;AAAA;AAFjE;;AAAzC,sBAAyC,SAAzC;;AAEI;;AADJ,uBACI,SADJ;AACwD,O,EAAA;AAFxD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAsE,O;AAAA;;;qEAK1E,sJ,IAEI,iJ,IACI;AAAA;;AACiD;;;;;AADjD;AAAA,oB,IAC6E,2L,IAIrE,+Z,GAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,GACI,gJ,IACI,iJ,IACI,uH,IAAI,mI,IACJ,wH,IAAI,0I,IACJ,wH,IAAI,8I,IACJ,wH,IAAI,+F,IACJ,wH,IAAI,iH,IACJ,wH,IAAI,2G,IAAiC;AARb;AAAhB;;AAApB,sBAAoC,SAApC,EAAoB,SAApB;AAAmC,O,EAAA,I;AAAA;;;qEAcnD,qJ,IACI;AAAA;AAAA,oBAES,UAFT;;AAAiD;;;;;AAAjD;AAAA,oB,IAA4E,2F,IAE5E,I,EAAA,I;AAAA;;;qEAcpB,iJ,IACI,2I,IAA0B,I,EAAA,I;AAAA;;;qEAnMlC,4J,IACI,wH,GAAA;AAAA;AAAA,c,GAKA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;6bACA,+J,IACI,wH,GAAA;AAAA;AAAA,c,GACA,wH,GAAA;AAAA;AAAA,c,GACA,mJ,IACI,oJ,IACI,8I,IACI;AAAA;AAAA;;AAAA;;;;;;;;;;AAAuB;;;;;AAAvB;AAAA,oB,GAAA,oR,EAAA;AAAA;AAAA,uF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAA8C;AAAA;AAAA,Q,EAA9C,wL,EAAA,mN,GAEA,mJ,IACI,gF,IAOpB,gK,IACI,qJ,IACI,mJ,IACI,oJ,IAA4B,kG,IAC5B,iJ,IACI,kJ,IACI,mJ,IAA2B,2F,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,wH,GAAA;AAAA;AAAA,c,GAEA,wH,GAAA;AAAA;AAAA,c,GAIJ,kJ,IACI,mJ,IAA2B,qF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,wH,GAAA;AAAA;AAAA,c,GAKZ,mJ,IACI,oJ,IAA4B,0G,IAC5B,iJ,IACI,kJ,IACI,mJ,IAA2B,oF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,wH,GAAA;AAAA;AAAA,c,GAEA,wH,GAAA;AAAA;AAAA,c,GAIJ,kJ,IACI,mJ,IAA2B,mF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,wH,GAAA;AAAA;AAAA,c,GAEA,yH,GAAA;AAAA;AAAA,c,GAIJ,kJ,IACI,mJ,IAA2B,+E,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,yH,GAAA;AAAA;AAAA,c,GAEA,yH,GAAA;AAAA;AAAA,c,GAGJ,kJ,IACI,mJ,IAA2B,+E,IAE3B,gqB,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,uE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,oN,GAEA,yH,GAAA;AAAA;AAAA,c,GAKZ,oJ,IACI,qJ,IAA4B,qF,IAE5B,kJ,IACI,mJ,IACI,oJ,IAA2B,8F,IAE3B;AAAA;AAAA,oBAG+E,UAH/E;;AAG6B;;;;;AAH7B;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,oN,GAIA,yH,GAAA;AAAA;AAAA,c,GAUJ,yH,GAAA;AAAA;AAAA,c,GASA,uJ,IAGA,yH,GAAA;AAAA;AAAA,c,GAOA,yH,GAAA;AAAA;AAAA,c,GAOA,yH,GAAA;AAAA;AAAA,c,GAUA,yH,GAAA;AAAA;AAAA,c,GAOA,yH,GAAA;AAAA;AAAA,c,GAOA,yH,GAAA;AAAA;AAAA,c,GAsBA,yH,GAAA;AAAA;AAAA,c,GAUhB,gK,IACI,mJ,IACI;AAAA;AAAA,oBAAkF,UAAlF;;AAA8B;;;;;AAA9B;AAAA,oB,IAAmE,gF,IACnE;AAAA;AAAA,oBAA4E,UAA5E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,8E,IAIvE,yH,GAAA;AAAA;AAAA,c,GAEQ;AAAA;AAnM4D,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAKmB,2BAAkB,KAAlB;;AAAnB,sBAAmB,SAAnB;;AAE8B;;AAA1B,uBAA0B,SAA1B;;AAC0B;;AAA1B,uBAA0B,UAA1B;;AAImC,4BAAsB,SAAtB;;AAAuB;;AAA9C,uBAAuB,UAAvB,EAA8C,UAA9C;;AAiB6C;;AAAzC,uBAAyC,UAAzC;;AAEI;;AADJ,uBACI,UADJ;;AAGI;;AADJ,uBACI,UADJ;;AAMyC;;AAAzC,uBAAyC,UAAzC;;AAEI;;AADJ,uBACI,UADJ;;AAUyC;;AAAzC,uBAAyC,UAAzC;;AAEI;;AADJ,uBACI,UADJ;;AAGI;;AADJ,uBACI,UADJ;;AAMyC;;AAAzC,uBAAyC,UAAzC;;AAEI;;AADJ,uBACI,UADJ;;AAGI;;AADJ,uBACI,UADJ;;AAMyC;;AAAzC,uBAAyC,UAAzC;;AAEI;;AADJ,uBACI,UADJ;;AAGI;;AADJ,uBACI,UADJ;;AAMgE;;AAAhE,wBAAgE,UAAhE;;AAAiC;;AAAjC,wBAAiC,UAAjC;;AAGI;;AADJ,wBACI,UADJ;;AAeQ;AAD0D;AAAoB;AAAhD,4BAA2B,gBAA3B;;AAFtC,wBAGQ,UAHR,EAEkE,UAFlE,EAEsF,UAFtF,EAEsC,UAFtC;;AAEA;;AAFA,wBAEA,UAFA;;AAKI;;AADJ,wBACI,UADJ;;AAUqB,yDAAiD,iBAAjD;;AAAzB,wBAAyB,UAAzB;;AAYyB,4BAA4B,qBAA5B;;AAAzB,wBAAyB,UAAzB;;AAO0B,4BAA4B,qBAA5B;;AAA1B,wBAA0B,UAA1B;;AAO0B,6BAA4B,qBAA5B;;AAA1B,wBAA0B,WAA1B;;AAU0B,6BAA4B,qBAA5B;;AAA1B,wBAA0B,WAA1B;;AAO0B,6BAA4B,qBAA5B;;AAA1B,wBAA0B,WAA1B;;AAO+B,6BAA4B,qBAA5B;;AAA/B,wBAA+B,WAA/B;;AAsB+B,6BAA4B,qBAA5B;;AAA/B,wBAA+B,WAA/B;;AAiBU,6BAAe,QAAf;;AAA1B,wBAA0B,WAA1B;AAAyC,O,EAAA;AAAA;;AA5LzC;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOgB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGI;;AAAA;;AAcA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAWA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAcA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAG+E,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC/FvG;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAwBaC,sB;;;;;AAgCX,sCAAoB3b,WAApB,EAAsDyF,cAAtD,EAA6FC,cAA7F,EACUvF,MADV,EAC0B;AAAA;;AAAA;;AACxB;AAFkB,gBAAAH,WAAA,GAAAA,WAAA;AAAkC,gBAAAyF,cAAA,GAAAA,cAAA;AAAuC,gBAAAC,cAAA,GAAAA,cAAA;AACnF,gBAAAvF,MAAA,GAAAA,MAAA;AA9BA,gBAAAyb,oBAAA,GAAuB,IAAI,0DAAJ,EAAvB;AAEA,gBAAAC,KAAA,GAA2B,IAAI,0DAAJ,EAA3B;AAKF,gBAAAzb,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAIR,gBAAAyb,oBAAA,GAAgC,KAAhC;AAEA,gBAAAC,UAAA,GAAsB,KAAtB;AAKA,gBAAAC,uBAAA,GAAkC,KAAlC;AACA,gBAAAC,QAAA,GAAoB,IAApB;AACA,gBAAAC,8BAAA,GAA0C,KAA1C;AACA,gBAAAC,WAAA,GAAuB,KAAvB;AAEA,gBAAAC,gBAAA,GAAmB,qEAAnB;AAEA,gBAAAC,gBAAA,GAA0B,KAA1B;AACA,gBAAAC,aAAA,GAAyB,KAAzB;AAQA,gBAAA9b,UAAA,GAAa;AACX+b,kCAAwB,EAAE,0BADf;AAEXC,oBAAU,EAAE,YAFD;AAGXC,0BAAgB,EAAE,kBAHP;AAIXC,yBAAe,EAAE,iBAJN;AAKXC,sBAAY,EAAE,cALH;AAMXC,sBAAY,EAAE,cANH;AAOXC,6BAAmB,EAAE,qBAPV;AAQXC,wBAAc,EAAE,gBARL;AASXC,0BAAgB,EAAE,kBATP;AAUXC,mBAAS,EAAE,WAVA;AAWX1Y,kBAAQ,EAAE,UAXC;AAYXxD,kBAAQ,EAAE,UAZC;AAaXmc,oBAAU,EAAE,YAbD;AAcXC,gBAAM,EAAC;AAdI,SAAb;AAiBA,gBAAAtc,kBAAA,GAAqB;AACnB2b,kCAAwB,EAAE;AACxB1b,oBAAQ,EAAE,wCADc;AAExBsc,2BAAe,EAAE;AAFO,WADP;AAKnBX,oBAAU,EAAE;AACV3b,oBAAQ,EAAE;AADA,WALO;AAQnB4b,0BAAgB,EAAE;AAChB5b,oBAAQ,EAAE,gCADM;AAEhBsc,2BAAe,EAAE;AAFD,WARC;AAYnBT,yBAAe,EAAE;AACf7b,oBAAQ,EAAE,+BADK;AAEfsc,2BAAe,EAAE;AAFF,WAZE;AAgBnBR,sBAAY,EAAE;AACZ9b,oBAAQ,EAAE,2BADE;AAEZuH,iBAAK,EAAE;AAFK,WAhBK;AAoBnBwU,sBAAY,EAAE;AACZ/b,oBAAQ,EAAE,2BADE;AAEZuc,uBAAW,EAAE,2BAFD;AAGZrc,qBAAS,EAAE;AAHC,WApBK;AAyBnB8b,6BAAmB,EAAE;AACnBhc,oBAAQ,EAAE;AADS,WAzBF;AA4BnBic,wBAAc,EAAE;AACdjc,oBAAQ,EAAG,qBADG;AAEduc,uBAAW,EAAE;AAFC,WA5BG;AAgCnBL,0BAAgB,EAAE;AAChBlc,oBAAQ,EAAE;AADM,WAhCC;AAmCnBmc,mBAAS,EAAE;AACTnc,oBAAQ,EAAE;AADD,WAnCQ;AAsCnByD,kBAAQ,EAAE;AACRzD,oBAAQ,EAAE;AADF,WAtCS;AA2CnBC,kBAAQ,EAAE;AACRD,oBAAQ,EAAE;AADF,WA3CS;AA8CnBoc,oBAAU,EAAE;AACVpc,oBAAQ,EAAE;AADA;AA9CO,SAArB;AAtB0B;AAGzB;;;;sCAsEU;AACT,cAAI,KAAKT,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAGO;AACN,eAAKC,SAAL;AAEA,eAAKic,eAAL,GAAuB,gFAAgBC,YAAhB,CAA6B,KAAKlB,gBAAlC,CAAvB;AAEA,6CAAC,CAAC;AACA,gBAAImB,UAAU,GAAK,kDAAnB;AACE,+CAAC,CAAC,kBAAD,CAAD,CAAsBC,KAAtB,CAA4B,UAASpf,CAAT,EAAY;AACtCA,eAAC,CAACqf,cAAF;AACA,iDAAC,CAAC,MAAD,CAAD,CAAUC,MAAV,CAAiBH,UAAjB;AACA,iDAAC,CAAC,gBAAD,CAAD,CAAoBI,MAApB,CAA2B,GAA3B,EAAgC,GAAhC;AACA,kBAAIC,QAAQ,GAAG,mCAAC,CAAC,IAAD,CAAD,CAAQ/L,IAAR,CAAa,eAAb,CAAf;AACA,iDAAC,CAAC,MAAI+L,QAAL,CAAD,CAAgBC,MAAhB,CAAuB,mCAAC,CAAC,IAAD,CAAD,CAAQzG,IAAR,EAAvB;AACD,aAND;AASF,+CAAC,CAACtD,MAAD,CAAD,CAAUgK,MAAV,CAAiB;AACb,iDAAC,CAAC,YAAD,CAAD,CAAgBC,GAAhB,CAAoB;AAChBC,mBAAG,EAAE,CAAC,mCAAC,CAAClK,MAAD,CAAD,CAAUmK,MAAV,KAAqB,mCAAC,CAAC,YAAD,CAAD,CAAgBC,WAAhB,EAAtB,IAAuD,CAD5C;AAEhBC,oBAAI,EAAE,CAAC,mCAAC,CAACrK,MAAD,CAAD,CAAUsK,KAAV,KAAoB,mCAAC,CAAC,YAAD,CAAD,CAAgBC,UAAhB,EAArB,IAAqD;AAF3C,eAApB;AAIH,aALD;AAOA,+CAAC,CAACvK,MAAD,CAAD,CAAUgK,MAAV;AAEC,WApBF,CAAD;AAqBD;;;oCAEWQ,O,EAAwB;AAElC,cAAI,KAAKlb,SAAL,GAAiB,CAArB,EAAwB;AACtB,iBAAK2Y,UAAL,GAAkB,IAAlB;AACA,iBAAKwC,cAAL,CAAoB,KAAKnb,SAAzB;AACD,WAHD,MAGM;AACJ,iBAAKob,gBAAL;AACD;AACF;;;uDAE2B;AAC1B,eAAKxC,uBAAL,GAA+B,CAAC,KAAKA,uBAArC;AACD;;;8DACkC;AACjC,eAAKE,8BAAL,GAAsC,CAAC,KAAKA,8BAA5C;AACD;;;2CAEe;AACd,eAAKC,WAAL,GAAmB,CAAC,KAAKA,WAAzB;AACD;;;uCAEclV,K,EAAK;AAElB,eAAKoV,gBAAL,GAAwB,IAAxB;;AACA,cAAGpV,KAAK,CAAClF,KAAN,IAAe,sEAAiBgF,YAAnC,EAAgD;AAC9C,iBAAK+U,oBAAL,GAA4B,IAA5B;AACD,WAFD,MAEO;AACL,iBAAKA,oBAAL,GAA4B,KAA5B;AACD;;AAED,eAAK2C,2BAAL;AACD;;;gDAEuBC,O,EAAY;AAClC,eAAKve,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,mBAAmBwb,OAAO,CAAC7X,SAA5B,CAArB;AACA,eAAK0X,cAAL,CAAoBG,OAAO,CAAC7X,SAA5B;AACD;;;sDAE0B;AAGzB,cAAG,KAAKiV,oBAAR,EAA8B;AAE5B,iBAAKna,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBuc,gBAA9B,EAAgD/Y,aAAhD,CAA8D,CAAC,0DAAWnD,QAAZ,CAA9D;AACA,iBAAKc,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBuc,gBAA9B,EAAgD4B,sBAAhD;AAEA,iBAAKhd,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBwc,SAA9B,EAAyChZ,aAAzC,CAAuD,CAAC,0DAAWnD,QAAZ,CAAvD;AACA,iBAAKc,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBwc,SAA9B,EAAyC2B,sBAAzC,GAN4B,CAQ5B;;AACA,iBAAKhd,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8D,QAA9B,EAAwCN,aAAxC,CAAsD,CAAC,0DAAWnD,QAAZ,CAAtD;AACA,iBAAKc,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8D,QAA9B,EAAwCqa,sBAAxC;AAEA,iBAAKhd,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBM,QAA9B,EAAwCkD,aAAxC,CAAsD,CAAC,0DAAWnD,QAAZ,CAAtD;AACA,iBAAKc,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBM,QAA9B,EAAwC6d,sBAAxC;AAEA,iBAAKhd,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgByc,UAA9B,EAA0CjZ,aAA1C,CAAwD,CAAC,0DAAWnD,QAAZ,CAAxD;AACA,iBAAKc,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgByc,UAA9B,EAA0C0B,sBAA1C;AAEA,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBsc,cAAnC,EAAmD+B,eAAnD;AACA,iBAAKld,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBsc,cAAnC,EAAmD6B,sBAAnD;AACD,WApBD,MAqBK;AACH,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBuc,gBAAnC,EAAqD8B,eAArD;AACA,iBAAKld,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBuc,gBAAnC,EAAqD4B,sBAArD;AAEA,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBwc,SAAnC,EAA8C6B,eAA9C;AACA,iBAAKld,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBwc,SAAnC,EAA8C2B,sBAA9C;AAEA,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgB8D,QAAnC,EAA6Cua,eAA7C;AACA,iBAAKld,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgB8D,QAAnC,EAA6Cqa,sBAA7C;AAEA,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBM,QAAnC,EAA6C+d,eAA7C;AACA,iBAAKld,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBM,QAAnC,EAA6C6d,sBAA7C;AAEA,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgByc,UAAnC,EAA+C4B,eAA/C;AACA,iBAAKld,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgByc,UAAnC,EAA+C0B,sBAA/C;AAEA,iBAAKhd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBsc,cAAnC,EAAmD9Y,aAAnD,CAAiE,CAAC,0DAAWnD,QAAZ,EAAsB,iFAAgBie,WAAtC,CAAjE;AACA,iBAAKnd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBsc,cAAnC,EAAmD6B,sBAAnD;AACD;AAEF;;;qCAEY/b,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,0EAAY0C,eAHL,CAAV;AAID;;;4CAEgB;AACf,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;4CAEgB;;;AACf,cAAMqB,IAAI,GAAG,KAAKA,IAAlB;AAEA,cAAMod,mBAAmB,GAAG,IAAI,0FAAJ,EAA5B;AAEAA,6BAAmB,CAAClY,SAApB,GAAgC,KAAKkV,UAAL,GAAkB,KAAKlH,oBAAL,CAA0BhO,SAA5C,GAAwD,CAAxF;AACAkY,6BAAmB,CAACxY,WAApB,GAAkC5E,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB+b,wBAAzB,EAAmDxa,KAAnD,CAAyDgO,QAAzD,GAAoEuL,IAApE,EAAlC;AACAyD,6BAAmB,CAACC,iBAApB,GAAwCrd,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBgc,UAAzB,EAAqCza,KAArC,CAA2CgO,QAA3C,GAAsDuL,IAAtD,EAAxC;AACAyD,6BAAmB,CAACE,gBAApB,GAAuCtd,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBic,gBAAzB,EAA2C1a,KAA3C,CAAiDgO,QAAjD,GAA4DuL,IAA5D,EAAvC;AACAyD,6BAAmB,CAACG,eAApB,GAAsCvd,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBkc,eAAzB,EAA0C3a,KAA1C,CAAgDgO,QAAhD,GAA2DuL,IAA3D,EAAtC;AACAyD,6BAAmB,CAACI,YAApB,GAAmCxd,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBmc,YAAzB,EAAuC5a,KAAvC,CAA6CgO,QAA7C,GAAwDuL,IAAxD,EAAnC;AACAyD,6BAAmB,CAACK,YAApB,GAAmCzd,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBoc,YAAzB,EAAuC7a,KAA1E;;AAGA,cAAG,KAAK+Z,oBAAR,EAA8B;AAE5BiD,+BAAmB,CAACrG,eAApB,GAAsC,IAAI5S,KAAJ,EAAtC;AACA,gBAAIuZ,cAAc,GAAG,IAAI,yGAAJ,EAArB;AAEAA,0BAAc,CAACxY,SAAf,GAA2B,KAAKkV,UAAL,GAAkB,KAAKlH,oBAAL,CAA0BhO,SAA5C,GAAwD,CAAnF;AACAwY,0BAAc,CAACC,UAAf,GAA4B,KAAKvD,UAAL,GAAkB,CAAD,WAAC,KAAKlH,oBAAN,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE6D,eAAF,CAAkB,CAAlB,CAAzB,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAG4G,UAAjE,GAA8E,CAA1G;AACAD,0BAAc,CAAC5G,gBAAf,GAAkC9W,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBuc,gBAAzB,EAA2Chb,KAA7E;AACAsd,0BAAc,CAACpR,SAAf,GAA2BtM,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBwc,SAAzB,EAAoCjb,KAA/D;AACAsd,0BAAc,CAAC1G,QAAf,GAA0BhX,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB8D,QAAzB,EAAmCvC,KAA7D;AACAsd,0BAAc,CAACzG,QAAf,GAA0BjX,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBM,QAAzB,EAAmCiB,KAA7D;AACAsd,0BAAc,CAACxG,UAAf,GAA4BlX,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgByc,UAAzB,EAAqClb,KAAjE;AACAsd,0BAAc,CAACE,QAAf,GAA0B,KAAKtD,QAA/B;AAEA8C,+BAAmB,CAACrG,eAApB,CAAoC7K,IAApC,CAAyCwR,cAAzC;AAEAN,+BAAmB,CAACjY,aAApB,GAAoC,KAAKsV,gBAAL,CAAsBrV,YAA1D;AACD,WAjBD,MAiBO;AACLgY,+BAAmB,CAACjY,aAApB,GAAoC,KAAKsV,gBAAL,CAAsBoD,SAA1D;AACAT,+BAAmB,CAACU,sBAApB,GAA6C9d,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBsc,cAAzB,EAAyC/a,KAAtF;AACD;;AAEDgd,6BAAmB,CAACQ,QAApB,GAA+B,KAAKtD,QAApC;AAEA,iBAAO8C,mBAAP;AAED;;;0CAEiB;AAAA;;;;AAChB,eAAKpd,IAAL,CAAUc,KAAV;;AAEA,cAAG,CAAC,KAAKoS,oBAAT,EAA8B;AAC5B;AACD;;AAED,cAAMlT,IAAI,GAAG,KAAKA,IAAlB;AACA,eAAKma,oBAAL,GAA4B,KAA5B;AAEAna,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB+b,wBAAzB,EAAmDvK,QAAnD,CAA4D,KAAK6C,oBAAL,CAA0BtO,WAAtF;AACA5E,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBgc,UAAzB,EAAqCxK,QAArC,CAA8C,KAAK6C,oBAAL,CAA0BmK,iBAAxE;AACArd,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBic,gBAAzB,EAA2CzK,QAA3C,CAAoD,KAAK6C,oBAAL,CAA0BoK,gBAA9E;AACAtd,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBkc,eAAzB,EAA0C1K,QAA1C,CAAmD,KAAK6C,oBAAL,CAA0BqK,eAA7E;AACAvd,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBmc,YAAzB,EAAuC3K,QAAvC,CAAgD,KAAK6C,oBAAL,CAA0BsK,YAA1E;AACAxd,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBoc,YAAzB,EAAuC5K,QAAvC,CAAgD,KAAK6C,oBAAL,CAA0BuK,YAA1E;AACAzd,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBqc,mBAAzB,EAA8C7K,QAA9C,CAAuD,KAAK6C,oBAAL,CAA0B/N,aAAjF;AAEA,cAAI4Y,QAAQ,GAAG,KAAKrC,eAAL,CAAqB1W,IAArB,CAA0B,UAAAgZ,KAAK;AAAA,mBAAIA,KAAK,CAAC9f,KAAN,IAAe,OAAI,CAACgV,oBAAL,CAA0B/N,aAA7C;AAAA,WAA/B,CAAf;AAEAnF,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBqc,mBAAzB,EAA8C7K,QAA9C,CAAuD0N,QAAQ,CAAC7f,KAAhE;AAEA,eAAKoc,QAAL,GAAgB,KAAKpH,oBAAL,CAA0B0K,QAA1C;;AAEA,cAAG,KAAK1K,oBAAL,CAA0B6D,eAA1B,CAA0ChU,MAA1C,GAAmD,CAAtD,EAAyD;AACvD/C,gBAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBuc,gBAAzB,EAA2C/K,QAA3C,CAAoD,CAAD,WAAC,KAAK6C,oBAAN,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE6D,eAAF,CAAkB,CAAlB,CAAzB,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAGD,gBAAnG;AACA9W,gBAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBwc,SAAzB,EAAoChL,QAApC,CAA6C,CAAD,WAAC,KAAK6C,oBAAN,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE6D,eAAF,CAAkB,CAAlB,CAAzB,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAGzK,SAA5F;AACAtM,gBAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB8D,QAAzB,EAAmC0N,QAAnC,CAA4C,CAAD,WAAC,KAAK6C,oBAAN,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE6D,eAAF,CAAkB,CAAlB,CAAzB,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAGC,QAA3F;AACAhX,gBAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBM,QAAzB,EAAmCkR,QAAnC,CAA4C,CAAD,WAAC,KAAK6C,oBAAN,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE6D,eAAF,CAAkB,CAAlB,CAAzB,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAGE,QAA3F;AACAjX,gBAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgByc,UAAzB,EAAqCjL,QAArC,CAA8C,CAAD,WAAC,KAAK6C,oBAAN,MAA0B,IAA1B,IAA0B,aAA1B,GAA0B,MAA1B,GAA0B,GAAE6D,eAAF,CAAkB,CAAlB,CAAzB,MAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAGG,UAA7F;AACA,iBAAKiD,oBAAL,GAA4B,IAA5B;AAED,WARD,MAQO;AACL,iBAAKO,gBAAL,GAAwB,IAAxB,CADK,CAEL;;AACA,iBAAK1a,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBsc,cAAnC,EAAmD9Y,aAAnD,CAAiE,CAAC,0DAAWnD,QAAZ,EAAsB,iFAAgBie,WAAtC,CAAjE;AACA,iBAAKnd,IAAL,CAAUid,QAAV,CAAmB,KAAKpe,UAAL,CAAgBsc,cAAnC,EAAmD6B,sBAAnD;;AACA,gBAAG,KAAK9J,oBAAL,CAA0B4K,sBAA7B,EAAqD;AACnD9d,kBAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBsc,cAAzB,EAAyC9K,QAAzC,CAAkD,KAAK6C,oBAAL,CAA0B4K,sBAA5E;AACD;AACF;AACF;;;yCAEa;AAAA;;AAEZ,cAAIG,YAAY,GAAG,CAAnB;;AACA,cAAG,KAAKje,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBuc,gBAA9B,EAAgD/b,OAAnD,EAA2D;AACzD,iBAAKW,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBuc,gBAA9B,EAAgD8C,aAAhD;AACAD,wBAAY;AACb;;AACD,cAAG,KAAKje,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBwc,SAA9B,EAAyChc,OAA5C,EAAoD;AAClD,iBAAKW,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBwc,SAA9B,EAAyC6C,aAAzC;AACAD,wBAAY;AACb;;AACD,cAAG,KAAKje,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8D,QAA9B,EAAwCtD,OAA3C,EAAmD;AACjD,iBAAKW,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8D,QAA9B,EAAwCub,aAAxC;AACAD,wBAAY;AACb;;AACD,cAAG,KAAKje,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBM,QAA9B,EAAwCE,OAA3C,EAAmD;AACjD,iBAAKW,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBM,QAA9B,EAAwC+e,aAAxC;AACAD,wBAAY;AACb;;AAED,cAAGA,YAAY,GAAG,CAAlB,EAAoB;AAClB;AACD;;AAED,eAAKE,mBAAL,GAA2B,IAAI,iHAAJ,EAA3B;AACA,eAAKA,mBAAL,CAAyBrH,gBAAzB,GAA4C,KAAK9W,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBuc,gBAA9B,EAAgDhb,KAA5F;AACA,eAAK+d,mBAAL,CAAyB7R,SAAzB,GAAqC,KAAKtM,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBwc,SAA9B,EAAyCjb,KAA9E;AACA,eAAK+d,mBAAL,CAAyBnH,QAAzB,GAAoC,KAAKhX,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8D,QAA9B,EAAwCvC,KAA5E;AACA,eAAK+d,mBAAL,CAAyBlH,QAAzB,GAAoC,KAAKjX,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBM,QAA9B,EAAwCiB,KAA5E;AAEA,eAAK0D,cAAL,CAAoBsa,sBAApB,CAA2C,KAAKD,mBAAhD,EACC7d,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4B;AACrC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAGA,MAAM,CAACE,SAAV,EAAoB;AAClB,uBAAI,CAACE,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,IAAlC;AACD,eAFD,MAEO;AACL,uBAAI,CAACF,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAND;AAOD,WAVD,EAUG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAZD;AAcD;;;mCAEO;AAAA;;AAGN,cAAG,KAAKoB,IAAL,CAAUX,OAAb,EAAqB;AACnB,iBAAKY,iBAAL;AACA;AACD;;AAED,cAAMmd,mBAAmB,GAAG,KAAKiB,iBAAL,EAA5B;AACA,eAAK9d,OAAL,GAAe,IAAf;AAEA,cAAM+d,aAAa,GAAG,KAAKlE,UAAL,GAAkB,KAAKtW,cAAL,CAAoBya,aAApB,CAAkCnB,mBAAlC,CAAlB,GACpB,KAAKtZ,cAAL,CAAoB0a,UAApB,CAA+BpB,mBAA/B,CADF;AAGAkB,uBAAa,CACZhe,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4B;AACrC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAGA,MAAM,CAACE,SAAV,EAAoB;AAElB,oBAAGF,MAAM,CAACG,aAAV,EAAyB;AACvB,sBAAI6d,QAAQ,GAAGhe,MAAM,CAACG,aAAtB;AACD;;AAED,oBAAIhC,OAAO,GAAG,OAAI,CAACwb,UAAL,GAAkB,6BAAlB,GAAkD,2BAAhE;AACA,uBAAI,CAAC7Z,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBjC,OAAlB,EAA2B,IAA3B;;AACAwC,0BAAU,CAAC,YAAM;AAEf,yBAAI,CAACpB,IAAL,CAAUc,KAAV;;AACA,yBAAI,CAACmZ,oBAAL,CAA0B7W,IAA1B,CAA+B,IAA/B;;AACA,yBAAI,CAACsb,gBAAL;;AACA,yBAAI,CAACC,UAAL;AACD,iBANS,EAMP,0EAAYtd,eANL,CAAV;AAQD,eAjBD,MAiBO;AACL,uBAAI,CAACd,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAtBD;AAuBD,WA1BD,EA0BG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA7BD;AA+BD;;;uCAEsB6C,S,EAAmB;AAAA;;AACxC,cAAI,CAACA,SAAL,EAAgB;AACd;AACD;;AAED,eAAK2Y,UAAL,GAAkB,IAAlB;AACA,eAAK7Z,OAAL,GAAe,IAAf;AAEA,eAAKuD,cAAL,CAAoB8Y,cAApB,CAAmCnb,SAAnC,EACGnB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA6C;AACtD,mBAAI,CAACC,aAAL,CAAyCD,MAAzC,EAAiD,YAAM;AACrD,kBAAGA,MAAM,CAACE,SAAV,EAAoB;AAClB,uBAAI,CAACuS,oBAAL,GAA4BzS,MAAM,CAACG,aAAnC;;AACA,uBAAI,CAACge,eAAL;AACD,eAHD,MAGO;AACL,uBAAI,CAAC/d,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAPD;AAQD,WAXH,EAWK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAbH;AAcD;;;oCAEgB;AAEf,cAAM8C,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AAECD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB+b,wBAArC,EAA+D,KAAKvc,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC/D;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,iFAAgB2f,cAAtC,CAAd;AAAqE7c,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAnH,WAD+D,CAA/D;AAEDpY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBgc,UAArC,EAAiD,KAAKxc,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC/C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,iFAAgB6C,UAAtC,CAAd;AAAiEC,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAA/G,WAD+C,CAAjD;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBic,gBAArC,EAAuD,KAAKzc,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACrD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,iFAAgB2f,cAAtC,CAAd;AAAqE7c,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAnH,WADqD,CAAvD;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBkc,eAArC,EAAsD,KAAK1c,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACpD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,iFAAgB2f,cAAtC,CAAd;AAAqE7c,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAnH,WADoD,CAAtD;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBmc,YAArC,EAAmD,KAAK3c,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACjD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,iFAAgBuH,KAAtC,CAAd;AAA4DzE,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoCC;AAA1G,WADiD,CAAnD;AAEAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBoc,YAArC,EAAmD,KAAK5c,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACjD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,0DAAWiD,SAAX,CAAqB,EAArB,CAAtB,CAAd;AAA+DH,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoCC;AAA7G,WADiD,CAAnD;AAGAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBqc,mBAArC,EAA0D,KAAK7c,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACxD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,CAAd;AAAqC8C,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoCC;AAAnF,WADwD,CAA1D;AAGER,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBsc,cAArC,EAAqD,KAAK9c,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACrD;AAAEG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoCC;AAAhD,WADqD,CAArD;AAIFR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBuc,gBAArC,EAAuD,KAAK/c,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACrD;AAAGG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAjD,WADqD,CAAvD;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBwc,SAArC,EAAgD,KAAKhd,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC9C;AAAEG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAhD,WAD8C,CAAhD;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB8D,QAArC,EAA+C,KAAKtE,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC7C;AAAEG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAhD,WAD6C,CAA/C;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBM,QAArC,EAA+C,KAAKd,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC7C;AAAEG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAhD,WAD6C,CAA/C;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgByc,UAArC,EAAiD,KAAKjd,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC/C;AAAEG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAAhD,WAD+C,CAAjD,EAhCe,CAkCf;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB0c,MAArC,EAA6C,KAAKld,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC3C;AAACG,oBAAQ,EAAE,oEAAUC,yBAAV,CAAoC6X;AAA/C,WAD2C,CAA7C;AAIA,eAAK9Z,IAAL,GAAY0B,SAAZ;AACD;;;2CAEkB;AACjB,eAAK1B,IAAL,CAAUc,KAAV;AACA,eAAKqZ,oBAAL,GAA4B,KAA5B;AACA,eAAKO,gBAAL,GAAwB,KAAxB;AAA8B;AAC9B,6CAAC,CAAC,mBAAD,CAAD,CAAuBoE,OAAvB,CAA+B,MAA/B;AACD;;;qCAEY;AACX,eAAK5E,KAAL,CAAW9W,IAAX;AACA,eAAKyZ,gBAAL;AACA,6CAAC,CAAC,mBAAD,CAAD,CAAuBiC,OAAvB,CAA+B,MAA/B;AACD;;;2CAEkB;AACjB,eAAKnE,aAAL,GAAqB,KAArB;;AACA,cAAG,KAAK3a,IAAR,EAAiB;AACf,iBAAKA,IAAL,CAAUc,KAAV;AACD;;AACD,eAAKqZ,oBAAL,GAA4B,KAA5B;AACA,eAAKO,gBAAL,GAAwB,KAAxB;AACA,eAAKN,UAAL,GAAkB,KAAlB;AACD;;;;MAtgByC,2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECfhC,0I,GAAA;AAAA;AAAA;AAAA,c,GACI,sH,IAAG,6E,IACH;AAAA;AAAA,oBAKS,UALT;;AAAkD;;;;;AAAlD;AAAA,oB,IACI,mP,IACA,qN,IACA,qP,IAA4F;AAAA;AAL/F;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC5D;;AAAA;AAAW,O;AAAA;;;qEAsCE;AAAA;AAAA,oBAAiI,UAAjI;;AAAgG;;;;;AAAhG;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GAAwH,+E,IAAK;AAAA;AAAnD;AAAvE;;AAAH,sBAA0E,SAA1E,EAAG,SAAH;AAA8C,O,EAAA,I;AAAA;;;qEA7B9D,iJ,IACI,uJ,IACI,sI,IACI;AAAA;AAAA,oBAKS,UALT;;AAAqE;;;;;AAArE;AAAA,oB,IACI,mP,IACA,qN,IACA,qP,IAGJ,uH,IAAI,iF,IAEJ,6J,IACI,kJ,IAA0B,sF,IAC1B;AAAA;AAAA,oBAC0C,UAD1C;;AAAwF;;;;;AAAxF;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GAGJ,8J,IACI,kJ,IAA0B,mF,IAC1B;AAAA;AAAA,oBAC0C,UAD1C;;AAAsG;;;;;AAAtG;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GAGJ,8J,IACI,kJ,IAA0B,gF,IAC1B;AAAA;AAAA,oBAC0C,UAD1C;;AAAmG;;;;;AAAnG;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GAIJ,uJ,IACI;AAAA;AAAA,oBAAwE,UAAxE;;AAAkC;;;;;AAAlC;AAAA,oB,IAA+D,+E,IAC/D,kH,GAAA;AAAA;AAAA,c,GAAiI;AAAA;AAfzH;AADsD;AAAwD;AAAlF,4BAAyB,cAAzB;;AAApC,uBACQ,SADR,EAA8D,UAA9D,EAAsH,UAAtH,EAAoC,UAApC;;AAAwF,4BAA6B,gBAA7B;;AAAxF,uBAAwF,UAAxF;;AAMQ;AADsD;AAAoB;AAAoD;AAAlG,4BAAyB,cAAzB;;AAApC,uBACQ,UADR,EAA8D,UAA9D,EAAkF,UAAlF,EAAsI,UAAtI,EAAoC,UAApC;;AAAsG,4BAA+B,kBAA/B;;AAAtG,uBAAsG,UAAtG;;AAMQ;AADmD;AAAoB;AAAiD;AAA5F,4BAAsB,WAAtB;;AAApC,uBACQ,UADR,EAA2D,UAA3D,EAA+E,UAA/E,EAAgI,UAAhI,EAAoC,UAApC;;AAAmG,4BAA4B,eAA5B;;AAAnG,uBAAmG,UAAnG;;AAM+C,4BAA0B,mBAA1B;;AAA/C,uBAA+C,UAA/C;AAAyE,O,EAAA;AAhBzE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAC0C,O;AAAA;;;qEA8B9C,iJ,IAAwD,yF,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAiC,O;AAAA;;;qEAQjF,wH,IACI;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAAkC,wF,IAAc,kJ,IAChD;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAAmC,6F,IAAmB,kJ,IACtD;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAAoC,mF,IAAS,mJ,IAC7C;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAA6C,iF,IAAO,mJ,IAEpD,wH,IAAI,gF,IACJ,wJ,IAAgC,gF,IAAM;AANlC;;AAAJ,sBAAI,SAAJ;;AACI;;AAAJ,sBAAI,UAAJ;;AACI;;AAAJ,uBAAI,UAAJ;;AACI;;AAAJ,uBAAI,UAAJ;AAA4C,O,EAAA;AAH5C;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAA2F,O;AAAA;;;qEAqB3F,uH,IAAkE,6I,IAAsB,oF,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA6J,O;AAAA;;;qEACrP,uH,IAAqE,8E,IAAI,I,EAAA,I;AAAA;;;qEAf7E,wH,IACI,uH,IACI,8I,IAAuB,8E,IACnB,4K,GAAA;AAAA;AAAA;AAAA,c,GAAmH,kF,IAI3H,uH,IACI,kJ,IACI,yJ,IAA0D,8E,IAC1D,6K,GAAA;AAAA;AAAA;AAAA,c,GAAmF,0J,IAA6D,8E,IAGxJ,wH,IAAI,8E,IACJ,kH,GAAA;AAAA;AAAA,c,GACA,kH,GAAA;AAAA;AAAA,c,GAEA,gJ,IACI,0H,GAAA;AAAA;AAAA,c,GAA0F,8E,IAI9F,+I,IACI,mJ,IACI;AAAA;AAAA,oBAII,UAJJ;;AAAmF;;;;;AAAnF;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GACI,oP,IACI,wxC,IAKR;AAAA;AAAA,oBAKY,UALZ;;AAAmF;;;;;AAAnF;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GACI,oP,IACI,60B,IACA,qnC,IAGR;AAAA;AAAA,oBAMI,UANJ;;AAAqF;;;;;AAArF;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GACO,oP,IAEE,48E,IACuB;AAAA;AAtC6D;;AAApE;;AAAzB,sBAA6F,SAA7F,EAAyB,SAAzB;;AAO6D;;AAApC;;AAAzB,uBAA6D,SAA7D,EAAyB,SAAzB;;AAIJ,mEAA6D,iBAA7D,CAA6D,SAA7D;;AAAJ,uBAAI,UAAJ;;AACI,mEAAgE,iBAAhE,CAAgE,YAAhE;;AAAJ,uBAAI,UAAJ;;AAGU;;AAAN,uBAAM,UAAN;;AAMsC;AAAhB;;AAAlB,uBAAkC,UAAlC,EAAkB,UAAlB;;AAOkC;AAAhB;;AAAlB,uBAAkC,UAAlC,EAAkB,UAAlB;;AAM+D;AAAlB;;AAA7C,uBAA+D,UAA/D,EAA6C,UAA7C;AAA8D,O,EAAA;AAnC3C;;AAAA;;AACgG;AAAA;;AAAA;;AAM7F;;AAAtB,sBAAsB,SAAtB;;AAA0D;;AAAA;;AAC+C;;AAAtB,uBAAsB,SAAtB;;AAA6D;;AAAA;;AAGpJ;;AAAA;;AAK0F;;AAAA;AAA4C,O;AAAA;;;qEA+B9I,uH,IACI,8J,IAA2C,4F,IAE3C,I,EAAA;AAFI;;AAAJ,sBAAI,SAAJ;AAAsB,O;AAAA;;;qEAQ1C,iJ,IACI,2I,IAA0B,I,EAAA,I;AAAA;;;;;WAtJlD,6J,IACI,mU,GAAA,ic,GACA,2J,IAKI,+I,IACI,kH,GAAA;AAAA;AAAA,c,GASA,kJ,GAAA;AAAA;AAAA;AAAA,c,GACI,kH,GAAA;AAAA;AAAA,c,GAoCA,2J,GAAA;AAAA;AAAA;AAAA,c,GACI,kJ,IACI,wH,IAAI,mF,IACJ,wJ,IACI;AAAA;AAAA,oBAE2B,UAF3B;;AAAmC;;;;;AAAnC;AAAA,oB,IACI,2Q,IAAgH,4pC,IAC1G,uF,IAEV;AAAA;AAAA,oBAEI,UAFJ;;AAAmD;;;;;AAAnD;AAAA,oB,IACE,kO,IAAmF,sV,IAErF,iK,IACI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA6E;;;;;AAAyB;;;;;AAAtG;AAAA,oB,GAAA,yV,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GACA,qL,IAAuD,oP,IACnD,0mB,IAIR,kH,GAAA;AAAA;AAAA,c,GAGR,yL,IACI,qK,IACI;AAAA;AAAA,oBAqEU,UArEV;;AAAiE;;;;;AAAjE;AAAA,kN,GAAA,yL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEI,2G,GAAA;AAAA;AAAA,c,GAWA,2G,GAAA;AAAA;AAAA,c,GAiDA,2G,GAAA;AAAA;AAAA,c,GAUZ,mH,GAAA;AAAA;AAAA,c,GAmBpB;AAAA;AAAA,oBAMW,UANX;;AAA6B;;;;;AAA7B;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE,qK,IAEE;AAAA;AAAA,oBAAkL,UAAlL;;AAAoB;;;;;AAA6B;;;;;AAAjD;AAAA,kP,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,GAIJ;AAAA;AAAA,oBAWW,UAXX;;AAA6B;;;;;AAA7B;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAGE,qK,IACM,wH,IAAI,yF,IACJ,uH,IAAG,+G,IACH,kJ,IACI;AAAA;AAAA,oBAAoF,UAApF;;AAA4C;;;;;AAA5C;AAAA,oB,IAAyE,4E,IACzE;AAAA;AAAA,oBAAkF,UAAlF;;AAA0C;;;;;AAA1C;AAAA,oB,IAAsE,6E,IAAG;AAAA;;AAvLjF;;AAO4E,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AASK;AAAqB;;AAA1B,sBAAK,SAAL,EAA0B,SAA1B;;AAC6B,4BAAwB,gBAAxB;;AAAzB,uBAAyB,SAAzB;;AAoCK;AAA6B;;AAAlC,uBAAK,SAAL,EAAkC,SAAlC;;AAY6F,4BAAwB,WAAxB;;AAA7E,uBAA6E,UAA7E;;AAMsB;;AAA1B,uBAA0B,UAA1B;;AAMI;AADK,4BAAmB,UAAnB;;AAAT,uBACI,UADJ,EAAS,UAAT;;AAEiB;;AAAb,uBAAa,UAAb;;AAWa;;AAAb,uBAAa,UAAb;;AAiDa;;AAAb,uBAAa,UAAb;;AAUc,4BAAe,QAAf;;AAA1B,uBAA0B,UAA1B;;AAmByE;AAC3F;AADuD;AAA/C;AAA8D;AAA3C,4BAA2B,cAA3B;;AAA7B,uBAA6F,UAA7F,EACE,UADF,EAAyD,UAAzD,EAAU,UAAV,EAAwE,UAAxE,EAA6B,UAA7B;;AAIyG,4BAA+B,kBAA/B;AAAgC,4BAAsB,aAAtB;;AAArI,uBAAqG,UAArG,EAAqI,UAArI;;AAIuF;AACzF;AADqD;AAA7C;AAA4D;AAAzC,4BAAyB,YAAzB;;AAA7B,uBAA2F,UAA3F,EACE,UADF,EAAuD,UAAvD,EAAU,UAAV,EAAsE,UAAtE,EAA6B,UAA7B;AAAsD,O,EAAA;AAAA;;AA9GtB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAmHrB;;AAAA;AAA+D,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpL1E;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAmBa2E,gB;;;;;AAyCX,gCAAqBjb,cAArB,EAA6DvF,iBAA7D,EACQC,MADR,EACwB;AAAA;;AAAA;;AACtB;AAFmB,gBAAAsF,cAAA,GAAAA,cAAA;AAAwC,gBAAAvF,iBAAA,GAAAA,iBAAA;AACrD,gBAAAC,MAAA,GAAAA,MAAA;AAxCA,gBAAAC,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX,CAuCgB,CAjCxB;AACA;;AAEA,gBAAA+b,gBAAA,GAAmB,oEAAnB;AAGA,gBAAAxW,eAAA,GAA2B,KAA3B;AAGA,gBAAA+a,YAAA,GAAuB,CAAvB;AAKA,gBAAAC,aAAA,GAAyB,KAAzB;AAKA,gBAAAC,eAAA,GAA2B,KAA3B;AASA,gBAAAnV,kBAAA,GAA6B,IAA7B;AACA,gBAAAoV,WAAA,GAAuB,KAAvB;AAOE,gBAAKzf,gBAAL,GAAwB,QAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;AACA,gBAAK8B,SAAL,GAAiB,QAAK/B,gBAAL,CAAsB+B,SAAvC;AAJsB;AAKtB;;;;2CAEe;AACf,eAAKkO,qBAAL,GAA6B,CAAC,KAAKA,qBAAnC;AACD;;;sCAEU;AACT,cAAI,KAAKlR,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAEO;AAEN,eAAK0E,SAAL,GAAiB,IAAIC,KAAJ,EAAjB;AACA,eAAKib,iBAAL,GAAwB,CAAxB;AAEA,eAAKC,UAAL,GAAkB/hB,MAAM,CAACV,IAAP,CAAY,qEAAZ,EAA+BI,GAA/B,CAAmC,UAAAsiB,GAAG;AAAA,mBAAK;AAAClT,mBAAK,EAAE,sEAAkBkT,GAAlB,CAAR;AAAgClf,mBAAK,EAAEkf;AAAvC,aAAL;AAAA,WAAtC,CAAlB;AACA,eAAKD,UAAL,GAAkB,KAAKA,UAAL,CAAgBha,MAAhB,CAAuB,UAAAJ,CAAC;AAAA,mBAAGA,CAAC,CAACmH,KAAF,KAAY,sEAAkBmT,QAAjC;AAAA,WAAxB,CAAlB;AAEA,eAAKC,aAAL,GAAqBliB,MAAM,CAACV,IAAP,CAAY,oEAAZ,EAA8BI,GAA9B,CAAkC,UAAAsiB,GAAG;AAAA,mBAAK;AAAElT,mBAAK,EAAE,qEAAiBkT,GAAjB,CAAT;AAAgClf,mBAAK,EAAEkf;AAAvC,aAAL;AAAA,WAArC,CAArB;AAGA,eAAKG,mBAAL;AAEA,6CAAC,CAAC7c,QAAD,CAAD,CAAYC,EAAZ,CAAe,OAAf,EAAwB,YAAY;AAClC,+CAAC,CAAC,WAAD,CAAD,CAAetD,IAAf,GAAsBuD,WAAtB,CAAkC,QAAlC;AACA,+CAAC,CAAC,aAAD,CAAD,CAAiBA,WAAjB,CAA6B,QAA7B;AACA,+CAAC,CAAC,YAAD,CAAD,CAAgBvD,IAAhB,GAAuBuD,WAAvB,CAAmC,QAAnC;AACD,WAJD;;AAMA,cAAI,mCAAC,CAAC,WAAD,CAAD,CAAeC,MAAnB,EAA0B;AACxB,gBAAMC,QAAQ,GAAG,mCAAC,CAAC,WAAD,CAAlB;AACAA,oBAAQ,CAACH,EAAT,CAAY,OAAZ,EAAqB,UAAUpG,CAAV,EAAa;AAChCA,eAAC,CAACwG,eAAF;;AACA,kBAAI,CAACD,QAAQ,CAACzD,IAAT,GAAgB2D,QAAhB,CAAyB,QAAzB,CAAL,EAAyC;AACvCF,wBAAQ,CAACzD,IAAT,GAAgB4D,QAAhB,CAAyB,QAAzB;AACD,eAFD,MAEO;AACLH,wBAAQ,CAACzD,IAAT,GAAgBuD,WAAhB,CAA4B,QAA5B;AACD;AACF,aAPD;AAQD;;AAED,cAAI,mCAAC,CAAC,YAAD,CAAD,CAAgBC,MAApB,EAA2B;AACzB,gBAAMC,SAAQ,GAAG,mCAAC,CAAC,YAAD,CAAlB;;AACAA,qBAAQ,CAACH,EAAT,CAAY,OAAZ,EAAqB,UAAUpG,CAAV,EAAa;AAChCA,eAAC,CAACwG,eAAF;;AACA,kBAAI,CAACD,SAAQ,CAACzD,IAAT,GAAgB2D,QAAhB,CAAyB,QAAzB,CAAL,EAAyC;AACvCF,yBAAQ,CAACzD,IAAT,GAAgB4D,QAAhB,CAAyB,QAAzB;AACD,eAFD,MAEO;AACLH,yBAAQ,CAACzD,IAAT,GAAgBuD,WAAhB,CAA4B,QAA5B;AACD;AACF,aAPD;AAQD;;AAED,6CAAC,CAAC;AACA,gBAAI,mCAAC,CAAC,aAAD,CAAD,CAAiBC,MAArB,EAA6B;AAC3B,kBAAM2c,MAAM,GAAG,mCAAC,CAAC,aAAD,CAAhB;AACAA,oBAAM,CAAC7c,EAAP,CAAU,OAAV,EAAmB,UAAUpG,CAAV,EAAa;AAC9BA,iBAAC,CAACwG,eAAF;;AACA,oBAAI,CAACyc,MAAM,CAACxc,QAAP,CAAgB,QAAhB,CAAL,EAAgC;AAC9Bwc,wBAAM,CAACvc,QAAP,CAAgB,QAAhB;AACD,iBAFD,MAEO,CACL;AACD;AACF,eAPD;AAQD;AAEF,WAbA,CAAD;;AAeF,cAAG,KAAKc,eAAR,EAAyB;AACrB,+CAAC,CAAC,mBAAD,CAAD,CAAuBmY,GAAvB,CAA2B,SAA3B,EAAqC,MAArC;AACH;AAEA;;;8CAEqB;AACpB,cAAG,KAAK1c,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASuE,iBAA3C,EAA6D;AAC3D,iBAAKJ,eAAL,GAAuB,IAAvB;AACA,iBAAK2Y,cAAL,CAAoB,KAAKld,gBAAL,CAAsB+B,SAA1C;AACD,WAHD,MAIK,IAAG,KAAK/B,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASwB,SAA3C,EAAsD;AACzD,iBAAK8C,eAAL;AACD,WAFI,MAGA;AACH,iBAAK5F,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,MAAD,CAArB;AACD;AACF;;;4CAEmB;AAClB,eAAK5C,cAAL,GAAsB,KAAtB;AACD;;;0CAEiB;AAAA;;AAEhB,eAAK4B,OAAL,GAAe,IAAf;AACA,eAAKuD,cAAL,CAAoBM,eAApB,GACC9D,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA+C;AACxD,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,yBAAI,CAACsD,SAAL,GAAiBzD,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAzB;AAEA,yBAAI,CAAC+e,aAAL,GAAqB,OAAI,CAACzb,SAA1B;;AAEA,sBAAG,OAAI,CAACA,SAAR,EAAmB;AACjB,2BAAI,CAAC0b,cAAL,GAAsB,sEAAkBC,UAAxC;;AACA,2BAAI,CAACC,0BAAL,CAAgC,EAAhC,EAAoC,OAAI,CAAC5b,SAAzC;AACD;AAEF;AAEF,eAfD,MAgBK;AACH,uBAAI,CAAC3D,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aArBD;AAsBD,WAzBD,EAyBG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA5BD;AA6BD;;;uCAEsB6C,S,EAAmB;AAAA;;AACxC,cAAI,CAACA,SAAL,EAAgB;AACd,iBAAKZ,YAAL,CAAkB,kBAAlB,EAAsC,KAAtC;AACA;AACD;;AACD,eAAKN,OAAL,GAAe,IAAf;AAEA,eAAKuD,cAAL,CAAoB8Y,cAApB,CAAmCnb,SAAnC,EACGnB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA6C;AACtD,mBAAI,CAACC,aAAL,CAAyCD,MAAzC,EAAiD,YAAM;AACrD,kBAAGA,MAAM,CAACE,SAAV,EAAoB;AAClB,oBAAGF,MAAM,CAACG,aAAV,EAAwB;AACtB,yBAAI,CAACsD,SAAL,CAAegI,IAAf,CAAoBzL,MAAM,CAACG,aAA3B;;AACA,sBAAGH,MAAM,CAACG,aAAP,CAAqBuE,aAArB,KAAuC,qEAAiBC,YAA3D,EAAyE;AACvE,2BAAI,CAAC2a,qBAAL,CAA2B,OAAI,CAACrgB,gBAAL,CAAsB+B,SAAjD;AACD;AACF;;AACD,uBAAI,CAAClB,OAAL,GAAe,KAAf;AACD,eARD,MAQO;AACL,uBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAbD;AAcD,WAjBH,EAiBK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WApBH;AAqBD;;;8CAE6B6C,S,EAAmB;AAAA;;AAC/C,cAAI,CAACA,SAAL,EAAgB;AACd,iBAAKZ,YAAL,CAAkB,kBAAlB,EAAsC,KAAtC;AACA;AACD;;AACD,eAAKN,OAAL,GAAe,IAAf;AAEA,eAAKuD,cAAL,CAAoBkc,yBAApB,CAA8Cve,SAA9C,EACGnB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA+B;AACxC,mBAAI,CAACC,aAAL,CAA2BD,MAA3B,EAAmC,YAAM;AACvC,kBAAGA,MAAM,CAACE,SAAV,EAAoB;AAClB,oBAAGF,MAAM,CAACG,aAAV,EAAwB;AACtB,sBAAGH,MAAM,CAACG,aAAP,KAAyB,EAA5B,EAAgC;AAC9B,2BAAI,CAACC,YAAL,CAAkBJ,MAAM,CAACG,aAAzB,EAAwC,KAAxC;AACD;AAEF;;AACD,uBAAI,CAACL,OAAL,GAAe,KAAf;AACD,eARD,MAQO;AACL,uBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAbD;AAcD,WAjBH,EAiBK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WApBH;AAqBD;;;qCAGYqC,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;sCAEU;AACT,eAAKue,cAAL,GAAsB,IAAtB;AACA,eAAKK,eAAL,GAAuB,IAAvB;AACA,eAAKC,iBAAL,GAAyB,IAAzB;AACA,eAAKhB,eAAL,GAAuB,KAAvB;AACA,eAAKhb,SAAL,GAAiB,KAAKyb,aAAtB;AACA,eAAK5V,kBAAL,GAA0B,KAA1B;AACD;;;uCAEcoW,U,EAAU;AAAA;;AAEvB,cAAIA,UAAU,GAAGA,UAAU,CAACtb,WAAX,EAAjB;;AACA,cAAG,KAAKob,eAAL,IAAwB,KAAKC,iBAA7B,IAAkD,KAAKN,cAA1D,EAAyE;AACvE,iBAAK7V,kBAAL,GAA0B,IAA1B;AACD,WAFD,MAEO;AACL,iBAAKA,kBAAL,GAA0B,KAA1B;AACD;;AAED,cAAG,KAAKkW,eAAR,EAAyB;AACvB,iBAAK/b,SAAL,GAAiB,KAAKyb,aAAL,CAAmBta,MAAnB,CAA0B,UAAA2Y,KAAK;AAAA,qBAAIA,KAAK,CAACpZ,WAAN,KAAsB,OAAI,CAACqb,eAAL,CAAqBrb,WAA/C;AAAA,aAA/B,CAAjB;AACA,iBAAKkb,0BAAL,CAAgCK,UAAhC,EAA4C,KAAKjc,SAAjD;AACD,WAHD,MAGO;AACL,iBAAK4b,0BAAL,CAAgCK,UAAhC,EAA4C,KAAKR,aAAjD;AACD;AAEF;;;mDAG0BQ,U,EAAYjc,S,EAAe;AAAA;;AACpD,cAAG,KAAK0b,cAAL,IAAuB,sEAAkBC,UAA5C,EAAwD;AACtD,gBAAIM,UAAU,CAACpd,MAAX,GAAoB,CAAxB,EAA2B;AACzB,kBAAG,KAAKmd,iBAAR,EAA2B;AACzB,qBAAKhc,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAlB,IAA0BI,KAAK,CAAC7Y,aAAN,KAAwB,OAAI,CAAC+a,iBAAvD,KACxClC,KAAK,CAACV,gBAAN,CAAuBzY,WAAvB,GAAqCL,QAArC,CAA8C2b,UAA9C,KAA6DnC,KAAK,CAACT,eAAN,CAAsB1Y,WAAtB,GAAoCL,QAApC,CAA6C2b,UAA7C,CAA7D,IACEnC,KAAK,CAACpZ,WAAN,CAAkBC,WAAlB,GAAgCL,QAAhC,CAAyC2b,UAAzC,CADF,IAC0DnC,KAAK,CAACR,YAAN,CAAmB3Y,WAAnB,GAAiCL,QAAjC,CAA0C2b,UAA1C,CAFlB,CAAJ;AAAA,iBAAtB,CAAjB;AAIE,qBAAKlB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACH,eAND,MAMO;AACL,qBAAKmB,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAlB,KACxCI,KAAK,CAACV,gBAAN,CAAuBzY,WAAvB,GAAqCL,QAArC,CAA8C2b,UAA9C,KAA6DnC,KAAK,CAACT,eAAN,CAAsB1Y,WAAtB,GAAoCL,QAApC,CAA6C2b,UAA7C,CAA7D,IACEnC,KAAK,CAACpZ,WAAN,CAAkBC,WAAlB,GAAgCL,QAAhC,CAAyC2b,UAAzC,CADF,IAC0DnC,KAAK,CAACR,YAAN,CAAmB3Y,WAAnB,GAAiCL,QAAjC,CAA0C2b,UAA1C,CAFlB,CAAJ;AAAA,iBAAtB,CAAjB;AAIE,qBAAKlB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACH;AACF,aAdD,MAeK;AACH,kBAAG,KAAKmd,iBAAR,EAA0B;AACxB,qBAAKhc,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAlB,IAA0BI,KAAK,CAAC7Y,aAAN,KAAwB,OAAI,CAAC+a,iBAA3D;AAAA,iBAAtB,CAAjB;AAEE,qBAAKjB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACH,eAJD,MAIO;AACL,qBAAKmB,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAtB;AAAA,iBAAtB,CAAjB;AAEA,qBAAKqB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACD;AACF;AAEF;;AAAC,cAAG,KAAK6c,cAAL,IAAuB,sEAAkBQ,YAA5C,EAA0D;AAC1D,gBAAID,UAAU,CAACpd,MAAX,GAAoB,CAAxB,EAA2B;AACzB,kBAAI,KAAKmd,iBAAT,EAA4B;AAC1B,qBAAKhc,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAlB,IAA2BI,KAAK,CAAC7Y,aAAN,KAAwB,OAAI,CAAC+a,iBAAxD,KACxClC,KAAK,CAACV,gBAAN,CAAuBzY,WAAvB,GAAqCL,QAArC,CAA8C2b,UAA9C,KAA6DnC,KAAK,CAACT,eAAN,CAAsB1Y,WAAtB,GAAoCL,QAApC,CAA6C2b,UAA7C,CAA7D,IACInC,KAAK,CAACpZ,WAAN,CAAkBC,WAAlB,GAAgCL,QAAhC,CAAyC2b,UAAzC,CADJ,IAC4DnC,KAAK,CAACR,YAAN,CAAmB3Y,WAAnB,GAAiCL,QAAjC,CAA0C2b,UAA1C,CAFpB,CAAJ;AAAA,iBAAtB,CAAjB;AAIA,qBAAKlB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACD,eAND,MAMO;AACL,qBAAKmB,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAlB,KACxCI,KAAK,CAACV,gBAAN,CAAuBzY,WAAvB,GAAqCL,QAArC,CAA8C2b,UAA9C,KAA6DnC,KAAK,CAACT,eAAN,CAAsB1Y,WAAtB,GAAoCL,QAApC,CAA6C2b,UAA7C,CAA7D,IACInC,KAAK,CAACpZ,WAAN,CAAkBC,WAAlB,GAAgCL,QAAhC,CAAyC2b,UAAzC,CADJ,IAC4DnC,KAAK,CAACR,YAAN,CAAmB3Y,WAAnB,GAAiCL,QAAjC,CAA0C2b,UAA1C,CAFpB,CAAJ;AAAA,iBAAtB,CAAjB;AAIA,qBAAKlB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACD;AACF,aAdD,MAcO;AACL,kBAAG,KAAKmd,iBAAR,EAA0B;AACxB,qBAAKhc,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAlB,IAA2BI,KAAK,CAAC7Y,aAAN,KAAwB,OAAI,CAAC+a,iBAA5D;AAAA,iBAAtB,CAAjB;AAEA,qBAAKjB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACD,eAJD,MAIO;AACL,qBAAKmB,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAtB;AAAA,iBAAtB,CAAjB;AAEA,qBAAKqB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACD;AACF;AACF;;AACD,cAAG,KAAK6c,cAAL,IAAuB,IAAvB,IAA+B,KAAKA,cAAL,IAAuB,EAAzD,EAA4D;AAC1D,gBAAIO,UAAU,CAACpd,MAAX,GAAoB,CAAxB,EAA2B;AACzB,kBAAG,KAAKmd,iBAAR,EAA0B;AACxB,qBAAKhc,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAAC7Y,aAAN,KAAwB,OAAI,CAAC+a,iBAA7B,KACxClC,KAAK,CAACV,gBAAN,CAAuBzY,WAAvB,GAAqCL,QAArC,CAA8C2b,UAA9C,KAA6DnC,KAAK,CAACT,eAAN,CAAsB1Y,WAAtB,GAAoCL,QAApC,CAA6C2b,UAA7C,CAA7D,IACEnC,KAAK,CAACpZ,WAAN,CAAkBC,WAAlB,GAAgCL,QAAhC,CAAyC2b,UAAzC,CADF,IAC0DnC,KAAK,CAACR,YAAN,CAAmB3Y,WAAnB,GAAiCL,QAAjC,CAA0C2b,UAA1C,CAFlB,CAAJ;AAAA,iBAAtB,CAAjB;AAIE,qBAAKlB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACH,eAND,MAMO;AACL,qBAAKmB,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAKA,KAAK,CAACV,gBAAN,CAAuBzY,WAAvB,GAAqCL,QAArC,CAA8C2b,UAA9C,KAA6DnC,KAAK,CAACT,eAAN,CAAsB1Y,WAAtB,GAAoCL,QAApC,CAA6C2b,UAA7C,CAA7D,IACvCnC,KAAK,CAACpZ,WAAN,CAAkBC,WAAlB,GAAgCL,QAAhC,CAAyC2b,UAAzC,CADuC,IACiBnC,KAAK,CAACR,YAAN,CAAmB3Y,WAAnB,GAAiCL,QAAjC,CAA0C2b,UAA1C,CADtB;AAAA,iBAAtB,CAAjB;AAGE,qBAAKlB,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACH;AACF,aAbD,MAcK;AACH,kBAAG,KAAKmd,iBAAR,EAA0B;AACxB,qBAAKhc,SAAL,GAAiBA,SAAS,CAACmB,MAAV,CAAiB,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAAC7Y,aAAN,CAAoBN,WAApB,OAAsC,OAAI,CAACqb,iBAAL,CAAuBrb,WAAvB,EAA1C;AAAA,iBAAtB,CAAjB;AAEE,qBAAKoa,aAAL,GAAqB,KAAK/a,SAAL,CAAenB,MAAf,GAAwB,CAAxB,GAA4B,IAA5B,GAAmC,KAAxD;AACH,eAJD,MAIO;AACL,qBAAKmB,SAAL,GAAiBA,SAAjB;AACD;AACF;AACF;AACF;;;0CAEiB6Y,O,EAAc;AAC9B,cAAI1G,SAAJ;;AACA,cAAG,CAAA0G,OAAO,SAAP,IAAAA,OAAO,WAAP,GAAO,MAAP,GAAAA,OAAO,CAAE5X,aAAT,MAA2B,qEAAiB0Y,SAA/C,EAA0D;AACxDxH,qBAAS,GAAG,cAAa0G,OAAO,CAAC7X,SAArB,GAAiC,QAA7C;AACD,WAFD,MAGK;AACHmR,qBAAS,GAAG,cAAa0G,OAAO,CAAC7X,SAArB,GAAiC,2DAA7C;AACD;;AACD,eAAK1G,MAAL,CAAY6hB,aAAZ,CAA0BhK,SAA1B;AACD;;;gDAEuB0G,O,EAAc;AACpC,eAAKoC,WAAL,GAAmB,IAAnB;AACA,eAAKmB,aAAL,GAAqBvD,OAArB;AACD;;;2CAEkB;AACjB;AACA,eAAKoC,WAAL,GAAmB,KAAnB;AACA,eAAKmB,aAAL,GAAqB,IAAI,6FAAJ,EAArB;AACD;;;0CAEiB;AAAA;;AAChB,cAAG,CAAC,KAAKA,aAAT,EAAwB;AACtB;AACD;;AAED,eAAKxc,cAAL,CAAoBwc,aAApB,CAAkC,KAAKA,aAAL,CAAmBpb,SAArD,EACC5E,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAAgC;AACzC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAACC,YAAL,CAAmB,OAAI,CAACyf,aAAL,CAAmB1b,WAAnB,GAAgC,wBAAnD,EAA6E,IAA7E;;AACA,yBAAI,CAACR,eAAL;;AACA,yBAAI,CAACsa,gBAAL;AACD;AACF,eAPD,MAQK;AACH,oBAAGje,MAAM,CAACM,OAAP,CAAeyD,QAAf,CAAwB,gCAAxB,CAAH,EAA8D;AAC5D,yBAAI,CAAC3D,YAAL,CAAkBJ,MAAM,CAACM,OAAP,GAAiB,GAAjB,GAAuB,OAAI,CAACuf,aAAL,CAAmB1b,WAA5D,EAAyE,KAAzE;AACD,iBAFD,MAEO;AACL,yBAAI,CAAC/D,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AACD,uBAAI,CAACR,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACme,gBAAL;AACD;AACF,aAlBD;AAmBD,WAtBD,EAsBG,UAAC1d,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACme,gBAAL;;AACA,mBAAI,CAAC7d,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA1BD;AA2BD;;;mCAEU0G,K,EAAkB;AACzBA,eAAK,CAACmQ,IAAN,CAAWhR,IAAX,CAAgB,UAACiR,KAAD,EAAQC,KAAR,EAAkB;AAC9B,gBAAIC,MAAM,GAAGF,KAAK,CAACpQ,KAAK,CAACwH,KAAP,CAAlB;AACA,gBAAI+I,MAAM,GAAGF,KAAK,CAACrQ,KAAK,CAACwH,KAAP,CAAlB;AACA,gBAAIrM,MAAM,GAAG,IAAb;AAEA,gBAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACIpV,MAAM,GAAG,CAAC,CAAV,CADJ,KAEK,IAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACDpV,MAAM,GAAG,CAAT,CADC,KAEA,IAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACDpV,MAAM,GAAG,CAAT,CADC,KAEA,IAAI,OAAOmV,MAAP,KAAkB,QAAlB,IAA8B,OAAOC,MAAP,KAAkB,QAApD,EACDpV,MAAM,GAAGmV,MAAM,CAAC9Q,aAAP,CAAqB+Q,MAArB,CAAT,CADC,KAGDpV,MAAM,GAAImV,MAAM,GAAGC,MAAV,GAAoB,CAAC,CAArB,GAA0BD,MAAM,GAAGC,MAAV,GAAoB,CAApB,GAAwB,CAA1D;AAEJ,mBAAQvQ,KAAK,CAACS,KAAN,GAActF,MAAtB;AACH,WAjBD;AAkBH;;;+BAEMgB,S,EAAS;AACd,eAAKjD,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,gBAAD,EAAmBE,SAAnB,CAArB;AACD;;;gDAEuBA,S,EAAS;AAC/B,eAAKjD,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,mBAAD,EAAsBE,SAAtB,CAArB;AACD;;;uCAEc8e,S,EAAmB;AAChC,eAAK5F,aAAL,GAAqB,IAArB;AAEA,eAAKyE,iBAAL,GAAyBmB,SAAzB;AACA,eAAKvB,YAAL;AACA,6CAAC,CAAC,mBAAD,CAAD,CAAuB9C,MAAvB,CAA8B,MAA9B;AAEA,6CAAC,CAAC,eAAD,CAAD,CAAmBpZ,WAAnB,CAA+B,gBAA/B;AACD;;;2CAGkBwC,K,EAAU;AAE3B,eAAKma,mBAAL;AACD;;;mCAGUna,K,EAAY;AACrB,eAAKqV,aAAL,GAAqB,KAArB;AACA,eAAKwF,UAAL,GAAkB,EAAlB;AACD;;;;MAjdmC,oE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECbhC,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAAmI,UAAnI;;AAAkD;;;;;AAAlD;AAAA,oB,IAAgF,2K,IAA8C;AAAA;AAF3H;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAUZ,2I,IAAkE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAqC,O;AAAA;;;qEACvG,2I,IAA+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEAOtG,2I,IAAqE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEAiBnH,iJ,IACE,2I,IAA0B,I,EAAA,I;AAAA;;;qEA7ChC,iJ,IACE,wJ,IACE,6J,IAEE,yI,IACE,uL,IAEF,mJ,IAA4B,6E,IAC5B,gH,GAAA;AAAA;AAAA,c,GAKA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;8bACE,kJ,IACE,mJ,IAA2B,+E,IAC3B,qJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waAEF,gH,GAAA;AAAA;AAAA,c,GACA,gH,GAAA;AAAA;AAAA,c,GAEF,kJ,IACE,mJ,IAA2B,kF,IAC3B,qJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waAEF,gH,GAAA;AAAA;AAAA,c,GAEF,2J,IACE,sJ,IACE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,gJ,IACM,uF,IAGV,kK,IACE;AAAA;AAAA,oBAAkF,UAAlF;;AAA+C;;;;;AAA/C;AAAA,oB,IAAoE,+E,IACpE,qJ,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAAsF,0F,IAK9F,gH,GAAA;AAAA;AAAA,c,GAEM;AAAA;AAtCgE,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAKM,2BAAkB,KAAlB;;AAAN,uBAAM,SAAN;;AAI+C;;AAAzC,uBAAyC,UAAzC;;AAEI;;AAAN,uBAAM,UAAN;;AACM;;AAAN,uBAAM,UAAN;;AAK+C;;AAA7C,uBAA6C,UAA7C;;AAEkB;;AAApB,uBAAoB,UAApB;;AAI2C;;AAAzC,uBAAyC,UAAzC;;AAQwD;;AAAxD,uBAAwD,UAAxD;;AAA8B;;AAA9B,uBAA8B,UAA9B;;AAKkB,4BAAe,QAAf;;AAA1B,uBAA0B,UAA1B;AAAyC,O,EAAA;AAAA;AArCX;;AAAA;;AAM5B;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAIM;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAMA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQA;;AAAA;;AAAA;AAA0G,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCfzGK,c;;;;;AA0BX,8BAAoBniB,WAApB,EAAsDC,WAAtD,EACUE,MADV,EACkCiiB,aADlC,EACwEliB,iBADxE,EAC8G;AAAA;;AAAA;;AAC5G;AAFkB,gBAAAF,WAAA,GAAAA,WAAA;AAAkC,gBAAAC,WAAA,GAAAA,WAAA;AAC5C,gBAAAE,MAAA,GAAAA,MAAA;AAAwB,gBAAAiiB,aAAA,GAAAA,aAAA;AAAsC,gBAAAliB,iBAAA,GAAAA,iBAAA;AA1BhE,gBAAAE,YAAA,GAAe,IAAI,4CAAJ,EAAf;AAER,gBAAAP,KAAA,GAAQ,kBAAR;AACA,gBAAAsI,OAAA,GAAU,SAAV;AAEA,gBAAA7H,cAAA,GAA0B,KAA1B;AACA,gBAAAC,OAAA,GAAkB,EAAlB;AAGA,gBAAAC,UAAA,GAAa;AACX4H,eAAK,EAAE,OADI;AAEXtH,kBAAQ,EAAE,UAFC;AAGXuhB,oBAAU,EAAE;AAHD,SAAb;AAMA,gBAAAzhB,kBAAA,GAAqB;AACnBwH,eAAK,EAAE;AACLvH,oBAAQ,EAAE,mBADL;AAELwH,sBAAU,EAAE;AAFP,WADY;AAKnBvH,kBAAQ,EAAE;AACRD,oBAAQ,EAAE;AADF;AALS,SAArB;AAW8G;AAE7G;;;;mCAEO;AACN,eAAKO,SAAL;AACD;;;sCAEa;AACZ,cAAI,KAAKhB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;AACF;;;mCAEU;AAAA;;AACT,cAAI,KAAKQ,IAAL,CAAUX,OAAd,EAAuB;AACrB,iBAAKY,iBAAL;AACA;AACD;;AAED,eAAKM,OAAL,GAAe,IAAf;AACA,cAAMogB,WAAW,GAAG,IAAI,qFAAJ,EAApB;AACAA,qBAAW,CAACla,KAAZ,GAAoB,KAAKzG,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4H,KAA9B,EAAqCrG,KAAzD;AACAugB,qBAAW,CAACxhB,QAAZ,GAAuB,KAAKa,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBM,QAA9B,EAAwCiB,KAA/D;AACA,cAAMsgB,UAAU,GAAG,KAAK1gB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB6hB,UAA9B,EAA0CtgB,KAA7D;;AAIA,cAAIsgB,UAAJ,EAAgB;AACd,gBAAME,WAAW,GAAG,IAAIhR,IAAJ,EAApB;AACAgR,uBAAW,CAACC,OAAZ,CAAoBD,WAAW,CAACE,OAAZ,KAAwB,CAA5C;AAEA,iBAAKL,aAAL,CAAmBM,GAAnB,CAAuB,4DAAUC,MAAV,CAAiBva,KAAxC,EAA+Cka,WAAW,CAACla,KAA3D,EAAkEma,WAAlE;AACA,iBAAKH,aAAL,CAAmBM,GAAnB,CAAuB,4DAAUC,MAAV,CAAiB7hB,QAAxC,EAAkDwhB,WAAW,CAACxhB,QAA9D,EAAwEyhB,WAAxE;AACD,WAND,MAOK;AACH,iBAAKH,aAAL,WAA0B,4DAAUO,MAAV,CAAiBva,KAA3C;AACA,iBAAKga,aAAL,WAA0B,4DAAUO,MAAV,CAAiB7hB,QAA3C;AACD;;AAED,eAAKb,WAAL,CAAiB2iB,MAAjB,CAAwBN,WAAxB,EACGrgB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA8C;AACvD,mBAAI,CAACC,aAAL,CAA0CD,MAA1C,EAAkD;AAAA,qBAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAC5D,4BAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,+BAAKJ,OAAL,GAAe,IAAf;AACM+H,uCAFc,GAEE,IAAI,4FAAJ,EAFF;AAGpBA,uCAAa,CAAC7G,SAAd,GAA0B,CAAH,KAAGhB,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEsE,SAAjD;AACAoD,uCAAa,CAAC9E,WAAd,GAA4B,CAAH,KAAG/C,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEgE,WAAnD;AACA0D,uCAAa,CAACC,OAAd,GAAwB,CAAH,KAAG9H,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE4H,OAA/C;AACAF,uCAAa,CAAC1I,MAAd,GAAuB,CAAH,KAAGa,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE6H,MAA9C;AACAH,uCAAa,CAACxI,IAAd,GAAqB,CAAH,KAAGW,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE8H,IAA5C;AACAJ,uCAAa,CAAC7B,KAAd,GAAsB,CAAH,KAAGhG,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE+H,KAA7C;AACAL,uCAAa,CAACM,aAAd,GAA8B,CAAH,KAAGnI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEiI,SAArD;AACAP,uCAAa,CAACQ,YAAd,GAA6B,CAAH,KAAGrI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEmI,QAApD;AACAT,uCAAa,CAAC3F,QAAd,GAAyB,OAAAlC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEiI,SAAvB,IAAmC,GAAnC,IAAsC,MAAGpI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAX,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEmI,QAAhE,CAAzB;AACAT,uCAAa,CAAC3G,KAAd,GAAsB,CAAH,KAAGlB,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEoI,KAA7C;;AAGA,8BAAI,OAAAvI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE8H,IAAvB,KAA+B,uDAAS3I,YAA5C,EAA0D;AACxDuI,yCAAa,CAAC7E,UAAd,GAA2B,CAAH,KAAGhD,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEqI,UAAlD;AACA,gCAAI,OAAAxI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEoI,KAAvB,KAAgC,IAApC,EACEV,aAAa,CAACY,cAAd,GAA+B,CAAH,KAAGzI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEuI,eAAtD,CADF,KAEK,IAAI,OAAA1I,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEoI,KAAvB,KAAgC,IAApC,EACHV,aAAa,CAACc,eAAd,GAAgC,CAAH,KAAG3I,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEyI,gBAAvD;AACH;;AAEDf,uCAAa,CAACpB,KAAd,GAAsB,CAAH,KAAGzG,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEsG,KAA7C;AACAoB,uCAAa,CAACf,YAAd,GAA6B,CAAH,KAAG9G,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE2G,YAApD;AACA,+BAAKhJ,iBAAL,CAAuB+K,qBAAvB,CAA6ChB,aAA7C,EAzBoB,CA0BpB;AACA;AACA;AACA;AACA;AACA;;AACA,8BAAIA,aAAa,CAACxI,IAAd,KAAuB,uDAASwB,SAApC,EAA+C;AAC7C,iCAAK9C,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,UAAD,CAArB;AACD,2BAFD,MAGK;AACH;AACIC,+BAFD,GAEO,cAAc8G,aAAa,CAAC7G,SAA5B,GAAwC,2DAF/C;AAGH,iCAAKjD,MAAL,CAAY+C,QAAZ,CAAqB,CAACC,GAAD,CAArB;AACD;AAEF,yBAzCD,MAyCO;AACL,+BAAKX,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AA5C2D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAZ;AAAA,aAAlD;AA8CD,WAjDH,EAiDK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAnDH;AAqDD;;;qCAEYqC,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAsB,IAAtB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEmB;AAClB,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;oCAGmB;AAClB,cAAI8H,KAAK,GAAG,EAAZ;AACA,cAAItH,QAAQ,GAAG,EAAf;AACA,cAAIuhB,UAAU,GAAG,KAAjB;AAEA,cAAMhf,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;;AACA,cAAI,KAAK8e,aAAL,CAAmBS,KAAnB,CAAyB,4DAAUF,MAAV,CAAiBva,KAA1C,KACF,KAAKga,aAAL,CAAmBS,KAAnB,CAAyB,4DAAUF,MAAV,CAAiB7hB,QAA1C,CADF,EACuD;AACrDsH,iBAAK,GAAG,KAAKga,aAAL,CAAmBtgB,GAAnB,CAAuB,4DAAU6gB,MAAV,CAAiBva,KAAxC,CAAR;AACAtH,oBAAQ,GAAG,KAAKshB,aAAL,CAAmBtgB,GAAnB,CAAuB,4DAAU6gB,MAAV,CAAiB7hB,QAAxC,CAAX;AACAuhB,sBAAU,GAAG,IAAb;AACD;;AAGDhf,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB4H,KAArC,EAA4C,KAAKpI,WAAL,CAAiBwD,OAAjB,CAAyB4E,KAAzB,EAAgC;AAAE3E,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgBuH,KAAtC,CAAd;AAA4DzE,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AAA1G,WAAhC,CAA5C;AACAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBM,QAArC,EAA+C,KAAKd,WAAL,CAAiBwD,OAAjB,CAAyB1C,QAAzB,EAAmC;AAAE2C,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,CAAd;AAAqC8C,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AAAnF,WAAnC,CAA/C;AACApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB6hB,UAArC,EAAiD,KAAKriB,WAAL,CAAiBwD,OAAjB,CAAyB6e,UAAzB,CAAjD;AACA,eAAK1gB,IAAL,GAAY0B,SAAZ;AACD;;;;MA5JiC,oE;;;;;;;;;;;;;;;;;ACxBpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAayf,mB;;;;QAiBA7V,iB;;;;QAKA8V,0B;;;;;;;;;;;;;;;;;;;ACpBb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,mB;;;;;;;;;;;;;;;;;;;ACAb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,gC;;;;QAaAC,sC;;;;;;;;;;;;;;;;;;;ACfb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,0B;;;;;;;;;;;;;;;;;;;ACAb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,0B;;;;QAMAC,mB;;;;;;;;;;;;;;;;;;;ACNb;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;QAEaC,2B;;;;;;;;;;;;;;;;;;;ACnBb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,2B;;OAOb;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;;;;;;;;;;;;;;;ACfA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,oB;;;;;;;;;;;;;;;;;;;ACIb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,qB;;;;QAmBAC,wB;;;;;;;;;;;;;;;;;;;ACrBb;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,oB;;;;;;;;;;;;;;;;;;;ACAb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,iC;;;;QAaAC,oB;;;;QAUAC,oB;;;;QAWAC,4B;;;;QAWAC,kC;;;;QAOAC,gB;;;;QAUAC,e;;;;QAKAC,e;;;;QAMAC,gB;;;;;;;;;;;;;;;;;;;ACrEb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,yB;;;;QAqCAC,6B;;;;QAqBAC,kB;;;;QAMAC,kC;;;;QAQAC,oC;;;;QAOAC,kC;;;;QAOAC,uC;;;;QAiBAC,sC;;;;;;;;;;;;;;;;;;;AC7Gb;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,mB;;;;QASAC,kB;;;;QAMAC,mB;;;;QAMA5O,Y;;;;;;;;;;;;;;;;;;;ACrBb;AAAA;;;AAAA;AAAA;AAAA;;QAAa6O,4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECCX,mU,GAAA,4b,GAAA;AAAA;AAA6C,O,EAAA,I;AAAA;;;qEAC7C,gY,GAAA,4U,GAAA;AAAA;AAA8D,O,EAAA,I;AAAA;;;qEAgBpD,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAAmI,UAAnI;;AAAkD;;;;;AAAlD;AAAA,oB,IAAgF,2K,IAA8C;AAAA;AAF3H;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAWR,2I,IAAsE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEAC/G,2I,IAA6E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAgD,O;AAAA;;;qEAM7H,2I,IAAqE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEAC7G,2I,IAA4E,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+C,O;AAAA;;;qEAM3H,2I,IAAkE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAqC,O;AAAA;;;qEACvG,2I,IAA+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAkC,O;AAAA;;;qEA7CrH,gJ,IACE,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GACE,2J,IACI,+I,IACI,gJ,IAEM,uH,IACE;AAAA;AAAA,oBAIQ,UAJR;;AAAqB;;;;;AAArB;AAAA,oB,IACE,oP,IACE,8V,IAEI,sF,IAMhB,oH,GAAA;AAAA;AAAA,c,GAMA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;kcACE,mJ,IACE,iJ,IACE,kJ,IACE,mJ,IAA2B,oF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;4aACA,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GAGF,kJ,IACE,mJ,IAA2B,mF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;4aACA,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GAGF,kJ,IACE,mJ,IAA2B,+E,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;4aACA,oH,GAAA;AAAA;AAAA,c,GACA,oH,GAAA;AAAA;AAAA,c,GAIJ,kJ,IACE;AAAA;AAAA,oBAA8E,UAA9E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,gF,IAAM;AAAA;AAjDzE,4BAAmB,WAAnB;;AAAZ,sBAAY,SAAZ;;AACqB,2BAAkB,WAAlB;;AAArB,sBAAqB,SAArB;;AAgB8E,2BAAsB,eAAtB;;AAApE,uBAAoE,SAApE;;AAMM,4BAAkB,KAAlB;;AAAN,uBAAM,UAAN;;AAKiD;;AAAzC,uBAAyC,UAAzC;;AACM;;AAAN,uBAAM,UAAN;;AACM;;AAAN,uBAAM,UAAN;;AAKyC;;AAAzC,uBAAyC,UAAzC;;AACM;;AAAN,uBAAM,UAAN;;AACM;;AAAN,uBAAM,UAAN;;AAKyC;AAAwB;;AAAjE,uBAAyC,UAAzC,EAAiE,UAAjE;;AACM;;AAAN,uBAAM,UAAN;;AACM;;AAAN,uBAAM,UAAN;AAAgD,O,EAAA;AArBxD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKQ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAOA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0E,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QCrBjFC,kB;;;;;AAmCX,kCAAoBhlB,WAApB,EAAsDC,iBAAtD,EAAoGC,MAApG,EACUH,WADV,EACoC;AAAA;;AAAA;;AAClC;AAFkB,gBAAAC,WAAA,GAAAA,WAAA;AAAkC,gBAAAC,iBAAA,GAAAA,iBAAA;AAA8C,gBAAAC,MAAA,GAAAA,MAAA;AAC1F,gBAAAH,WAAA,GAAAA,WAAA;AAlCF,gBAAAI,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAGR,gBAAAC,cAAA,GAA0B,KAA1B;AACA,gBAAAC,OAAA,GAAiB,EAAjB;AAEA,gBAAA2kB,aAAA,GAAyB,KAAzB;AAGA,gBAAA1kB,UAAA,GACA;AACE2kB,mBAAS,EAAE,WADb;AAEEC,kBAAQ,EAAE,UAFZ;AAGEhd,eAAK,EAAE;AAHT,SADA;AAOA,gBAAAxH,kBAAA,GAAqB;AACnBukB,mBAAS,EAAE;AACTtkB,oBAAQ,EAAE,wBADD;AAETsc,2BAAe,EAAE;AAFR,WADQ;AAKnBiI,kBAAQ,EAAE;AACRvkB,oBAAQ,EAAE,uBADF;AAERsc,2BAAe,EAAE;AAFT,WALS;AASnB/U,eAAK,EAAE;AACLvH,oBAAQ,EAAE,2BADL;AAELuH,iBAAK,EAAE;AAFF;AATY,SAArB;AAoBE,gBAAK/G,gBAAL,GAAwB,QAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;AAEA,gBAAKE,UAAL,GAAkB,QAAKH,gBAAL,CAAsBI,IAAtB,KAA+B,uDAASC,YAAxC,GAAuD,IAAvD,GAA8D,KAAhF;AALkC;AAMnC;;;;sCAEU;AACT,cAAI,KAAKtB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAEO;AACN,eAAKE,gBAAL,GAAwB,EAAxB;AAEA,eAAKD,SAAL;AACA,eAAKikB,OAAL;AACD;;;mCAEO;AAAA;;AAEN,cAAG,KAAK1jB,IAAL,CAAUX,OAAb,EAAqB;AACnB,iBAAKY,iBAAL;AACA;AACD;;AAED,cAAMC,QAAQ,GAAG,IAAI,qFAAJ,EAAjB;AACAA,kBAAQ,CAACsjB,SAAT,GAAqB,KAAKxjB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB2kB,SAA9B,EAAyCpjB,KAA9D;AACAF,kBAAQ,CAACujB,QAAT,GAAoB,KAAKzjB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4kB,QAA9B,EAAwCrjB,KAA5D;AACAF,kBAAQ,CAACuG,KAAT,GAAiB,KAAKzG,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4H,KAA9B,EAAqCrG,KAAtD;AACAF,kBAAQ,CAACN,MAAT,GAAkB,KAAKF,gBAAL,CAAsBE,MAAxC;AAGA,eAAKtB,WAAL,CAAiBqlB,aAAjB,CAA+BzjB,QAA/B,EACCI,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA8C;AACvD,mBAAI,CAACC,aAAL,CAA0CD,MAA1C,EAAkD;AAAA,qBAAY;AAAA;;AAAA;AAAA;AAAA;AAAA;AAG5D,4BAAIA,MAAM,CAACE,SAAX,EAAsB;AAEhBuG,+BAFgB,GAER,KAAK3I,iBAAL,CAAuBoB,mBAAvB,GAA6CuH,KAFrC;AAIpB,+BAAK3I,iBAAL,CAAuB8J,sBAAvB;AAEMub,mCANc,GAMF,IAAI,4FAAJ,EANE;AAOpBA,mCAAS,CAACniB,SAAV,GAAsB,CAAH,KAAGhB,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEsE,SAA7C;AACA0e,mCAAS,CAACpgB,WAAV,GAAwB,CAAH,KAAG/C,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEgE,WAA/C;AACAgf,mCAAS,CAACrb,OAAV,GAAoB,CAAH,KAAG9H,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE4H,OAA3C;AACAob,mCAAS,CAAChkB,MAAV,GAAmB,CAAH,KAAGa,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE6H,MAA1C;AACAmb,mCAAS,CAAC9jB,IAAV,GAAiB,CAAH,KAAGW,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE8H,IAAxC;AACAkb,mCAAS,CAACnd,KAAV,GAAkB,CAAH,KAAGhG,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE+H,KAAzC;AACAib,mCAAS,CAACjhB,QAAV,GAAqB,OAAAlC,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEiI,SAAvB,IAAmC,GAAnC,IAAsC,MAAGpI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAX,MAAwB,IAAxB,IAAwB,aAAxB,GAAwB,MAAxB,GAAwB,GAAEmI,QAAhE,CAArB;AACA6a,mCAAS,CAAChb,aAAV,GAA0B,CAAH,KAAGnI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEiI,SAAjD;AACA+a,mCAAS,CAAC9a,YAAV,GAAyB,CAAH,KAAGrI,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAEmI,QAAhD;AACA6a,mCAAS,CAAC1c,KAAV,GAAkBA,KAAlB;AACA,+BAAK3I,iBAAL,CAAuB+K,qBAAvB,CAA6Csa,SAA7C;AAEA,+BAAK/iB,YAAL,CAAkB,iBAAlB,EAAqC,IAArC;AAED,yBArBD,MAqBO;AACL,+BAAKA,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AA1B2D;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,iBAAZ;AAAA,aAAlD;AA4BD,WA/BD,EA+BG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAjCD;AAkCD;;;qCAEYqC,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEgB;AACf,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;kCAEM;AAEL,eAAKe,gBAAL,GAAwB,KAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;AACA,eAAKK,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4H,KAA9B,EAAqC4J,QAArC,CAA8C,KAAK3Q,gBAAL,CAAsB+G,KAApE,EAHK,CAIL;AACA;AACA;;AACA,eAAKzG,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB2kB,SAA9B,EAAyCnT,QAAzC,CAAkD,KAAK3Q,gBAAL,CAAsBkJ,aAAxE;AACA,eAAK5I,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB4kB,QAA9B,EAAwCpT,QAAxC,CAAiD,KAAK3Q,gBAAL,CAAsBoJ,YAAvE;AACD;;;iCAEK;AACJ;AACA;AACA;AACA;AACA;AACA;AACA,cAAG,KAAKpJ,gBAAL,CAAsBI,IAAtB,KAA+B,uDAASwB,SAA3C,EAAsD;AACpD,iBAAK9C,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,UAAD,CAArB;AACD,WAFD,MAEO;AACL;AACA,gBAAIC,GAAG,GAAG,cAAc,KAAK9B,gBAAL,CAAsB+B,SAApC,GAA+C,2DAAzD;AACA,iBAAKjD,MAAL,CAAY+C,QAAZ,CAAqB,CAACC,GAAD,CAArB;AACD;AACF;;;oCAEgB;AACf,cAAME,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AAEAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB2kB,SAArC,EAAgD,KAAKnlB,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAChD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgB2f,cAAtC,CAAd;AACE7c,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,WADgD,CAAhD;AAGApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB4kB,QAArC,EAA+C,KAAKplB,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC/C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgB2f,cAAtC,CAAd;AACE7c,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoC6X;AADhD,WAD+C,CAA/C;AAGApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB4H,KAArC,EAA4C,KAAKpI,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC5C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgBuH,KAAtC,CAAd;AACEzE,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AADhD,WAD4C,CAA5C;AAIE,eAAKlC,IAAL,GAAY0B,SAAZ;AACH;;;;MAtKqC,oE;;;;;;;;;;;;;;;;;ACpBxC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAEA,QAAMlE,MAAM,GAAW,CACrB;AACEC,UAAI,EAAE,EADR;AAEEC,eAAS,EAAE;AAFb,KADqB,CAAvB;;QAWammB,0B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECfb;AAAA;AAAA,oBAA2H,UAA3H;;AAAgC;;;;;AAAhC;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA,Q,GAA2H;AAAA;AAArC,2BAAuB,UAAvB;;AAAtF,sBAAsF,SAAtF;AAA6G,O,EAAA,I;AAAA;;;qEAC7G,gY,GAAA,4U,GAAA;AAAA;AAA8D,O,EAAA,I;AAAA;;;qEAD9D,wH,GAAA;AAAA;AAAA,c,GACA,wH,GAAA;AAAA;AAAA,c,GACA,yI,GAAA,8a,GAA+B;AAAA;AAFnB,4BAAmB,WAAnB;;AAAZ,sBAAY,SAAZ;;AACqB,2BAAkB,WAAlB;;AAArB,sBAAqB,SAArB;;AACA;AAA+B,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACA/B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAUaC,sB;AAQX,sCAAoBtlB,MAApB,EAA4CuF,cAA5C,EAAoFxF,iBAApF,EAA0H;AAAA;;;;AAAtG,aAAAC,MAAA,GAAAA,MAAA;AAAwB,aAAAuF,cAAA,GAAAA,cAAA;AAAwC,aAAAxF,iBAAA,GAAAA,iBAAA;AAN5E,aAAAE,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,aAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;;AAMN,aAAKF,MAAL,CAAY0M,kBAAZ,CAA+BC,gBAA/B,GAAkD;AAAA,iBAAM,KAAN;AAAA,SAAlD;;AACA,aAAKtL,UAAL,GAAkB,YAAKtB,iBAAL,CAAuBoB,mBAAvB,QAA4C,IAA5C,IAA4C,aAA5C,GAA4C,MAA5C,GAA4C,GAAEG,IAA9C,MAAuD,6DAASC,YAAhE,GAA+E,IAA/E,GAAsF,KAAxG;AACD;;;;sCAEU;AACT,cAAI,KAAKtB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAEO;AAAA;;AACN,eAAKuE,cAAL,CAAoBO,MAApB,CACChE,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EAEC+B,SAFD,CAEW,UAAC8D,MAAD,EAAoB;AAC7B,mBAAI,CAAC7C,SAAL,GAAiB6C,MAAM,CAAC,IAAD,CAAvB;AACD,WAJD;AAKD;;;gDAEuByY,O,EAAc;AAEpC,cAAI1G,SAAS,GAAG,cAAc0G,OAAO,CAAC7X,SAAtB,GAAkC,2DAAlD;AACA,eAAK1G,MAAL,CAAY6hB,aAAZ,CAA0BhK,SAA1B,EAHoC,CAIpC;AACD;;;;;;;;;;;;;;;;;;;;;AChCH;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;;;QA2Ba0N,mB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qEC1CX,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAGI,UAHJ;;AAAkD;;;;;AAAlD;AAAA,oB,IACE,2K,IACmC;AAAA;AAJlC;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAQZ,iJ,IAAgD,oF,IAAU,I,EAAA,I;AAAA;;;qEAC1D,iJ,IAA+C,qF,IAAW,I,EAAA,I;AAAA;;;qEAwBlD,2I,IAC0D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEACnG,2I,IACgE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAgD,O;AAAA;;;qEAMhH,2I,IACyD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEACjG,2I,IAC+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+C,O;AAAA;;;qEAM9G,2I,IACsD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAqC,O;AAAA;;;qEAC3F,2I,IACkD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAkC,O;AAAA;;;qEAOpF,2I,IACwD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEAiB/F,2I,IACsE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAqD,O;AAAA;;;qEAO3H,2I,IACoE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAmD,O;AAAA;;;qEAQrH;AAAA;AAAA,oBAAmS,UAAnS;;AAA0N;;;;;AAA1N;AAAA,oB,IAAyQ,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAiB,O;AAAA;;;qEAE5R;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;uaAAwG;AAA/D;;AAAzC,sBAAyC,SAAzC;AAAiF,O,EAAA;AAAjF;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAAwG,O;AAAA;;;qEAOpG,2I,IAAoD,+E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAEpD,O;AAAA;;;qEACA,2I,IACiE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAiD,O;AAAA;;;qEANpH,wP,IACE;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA0E;;;;;AAA1E;AAAA,oB,GAAA,wV,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,kN,GAA0I,kF,IAC1I,iI,GAAA;AAAA;AAAA,c,GAGA,iI,GAAA;AAAA;AAAA,c,GACyH;AAAA;AALhF;;AAAzC,sBAAyC,SAAzC;;AACoB;;AAApB,sBAAoB,SAApB;;AAIM;;AADN,uBACM,SADN;AACgE,O,EAAA;AALhE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA0I,O;AAAA;;;qEAL9I,8M,IACE,gM,IAAmE,6E,IAGnE,iI,GAAA;AAAA;AAAA,c,GAOO;AAAA;AAPD,2BAAqB,cAArB;;AAAN,sBAAM,SAAN;AAA2B,O,EAAA;AAAA;AAHwC;;AAAA;AAAgB,O;AAAA;;;qEAYrF,2I,IACqF,+E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAErF,O;AAAA;;;qEACA,2I,IACwF,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyD,O;AAAA;;;qEAc3J,iJ,IACE,2I,IAA0B,I,EAAA,I;AAAA;;;qEAtIhC,4J,IACE,gI,GAAA;AAAA;AAAA,c,GAOA;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;6bACE,+J,IACE,gI,GAAA;AAAA;AAAA,c,GACA,gI,GAAA;AAAA;AAAA,c,GACA,mJ,IACE,oJ,IACE,8I,IAGE;AAAA;AAAA;;AAAA;;;;;;;;;;AAAuB;;;;;AAAvB;AAAA,oB,GAAA,oR,EAAA;AAAA;AAAA,uF,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAA8C;AAAA;AAAA,Q,EAA9C,wL,EAAA,mN,GAEA,mJ,IACM,gF,IAOd,+J,IACE,oJ,IACE,mJ,IACE,oJ,IAA4B,4F,IAC5B,iJ,IACE,kJ,IACE,mJ,IAA2B,oF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,gI,GAAA;AAAA;AAAA,c,GAEA,gI,GAAA;AAAA;AAAA,c,GAIF,kJ,IACE,mJ,IAA2B,mF,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,gI,GAAA;AAAA;AAAA,c,GAEA,gI,GAAA;AAAA;AAAA,c,GAIF,kJ,IACE,mJ,IAA2B,+E,IAC3B;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,gI,GAAA;AAAA;AAAA,c,GAEA,gI,GAAA;AAAA;AAAA,c,GAGF,kJ,IACE,mJ,IAA2B,+E,IAE3B,0pB,GAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,uE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,mN,GAEA,iI,GAAA;AAAA;AAAA,c,GAcF,kJ,IACE,mJ,IAA2B,iG,IAC3B;AAAA;AAAA,oBACa,UADb;;AAA6I;;;;;AAA7I;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,mN,GAEA,iI,GAAA;AAAA;AAAA,c,GAIF,kJ,IACE,mJ,IAA2B,+F,IAC3B;AAAA;AAAA,oBACa,UADb;;AAAsJ;;;;;AAAtJ;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA,c,EAAA,gM,EAAA,oN,GAEA,iI,GAAA;AAAA;AAAA,c,GAMF,mJ,IACE,mL,IAAoD,2F,IAElD,iI,GAAA;AAAA;AAAA,c,GAEF,iI,GAAA;AAAA;AAAA,c,GACA,iI,GAAA;AAAA;AAAA,c,GAaA,iI,GAAA;AAAA;AAAA,c,GAIA,iI,GAAA;AAAA;AAAA,c,GAQV,gK,IACE,mJ,IACE;AAAA;AAAA,oBAAkF,UAAlF;;AAA8B;;;;;AAA9B;AAAA,oB,IAAmE,gF,IACnE;AAAA;AAAA,oBAA4E,UAA5E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,8E,IAInE,iI,GAAA;AAAA;AAAA,c,GAEM;AAAA;AAtI4D,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAOmB,2BAAkB,KAAlB;;AAAnB,sBAAmB,SAAnB;;AAE8B;;AAA1B,uBAA0B,SAA1B;;AAC0B;;AAA1B,uBAA0B,UAA1B;;AAM6B,4BAAsB,SAAtB;;AAAuB;;AAA9C,uBAAuB,UAAvB,EAA8C,UAA9C;;AAiB2C;;AAAzC,uBAAyC,UAAzC;;AAEM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAMyC;;AAAzC,uBAAyC,UAAzC;;AAEM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAMyC;;AAAzC,uBAAyC,UAAzC;;AAEM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAM2D;;AAA3D,uBAA2D,UAA3D;;AAAiC;;AAAjC,uBAAiC,UAAjC;;AAGM;;AADN,uBACM,UADN;;AAgB2H;AAA/G;AAA+E;;AAA3F,uBAA2H,UAA3H,EAAY,UAAZ,EAA2F,UAA3F;;AAAmD;;AAAnD,uBAAmD,UAAnD;;AAGM;;AADN,uBACM,UADN;;AAM2N;AAA/M;AAA+K;;AAAxI,yCAA4D,WAA5D,CAA4D,qBAA5D,EAA4D,KAA5D;;AAAnD,uBAA2N,UAA3N,EAAY,UAAZ,EAA2L,UAA3L,EAAmD,UAAnD;;AAAgH;;AAAhH,wBAAgH,UAAhH;;AAGM;;AADN,wBACM,UADN;;AASwP,4BAAkB,WAAlB;;AAAtP,wBAAsP,UAAtP;;AAEgF,6BAAmB,WAAnB;;AAAlF,wBAAkF,UAAlF;;AACK,4BAAkB,WAAlB;;AAAL,wBAAK,UAAL;;AAcM,gGAA8E,WAA9E;;AADN,wBACM,UADN;;AAKM,mGAAiF,WAAjF;;AADN,wBACM,UADN;;AAegB,4BAAe,QAAf;;AAA1B,wBAA0B,UAA1B;AAAyC,O,EAAA;AAAA;;AA7H3C;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASU;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAGM;;AAAA;;AAcJ;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AASA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAkBA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAQA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AACa,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxF3B;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;;QAwBaC,8B;;;;;AA0BX,8CAAoBC,sBAApB,EAA4E5lB,WAA5E,EACYE,iBADZ,EAC0DC,MAD1D,EAC0E;AAAA;;AAAA;;AACxE;AAFkB,gBAAAylB,sBAAA,GAAAA,sBAAA;AAAwD,gBAAA5lB,WAAA,GAAAA,WAAA;AAChE,gBAAAE,iBAAA,GAAAA,iBAAA;AAA8C,gBAAAC,MAAA,GAAAA,MAAA;AAzBhD,gBAAA0lB,mBAAA,GAAsB,IAAI,0DAAJ,EAAtB;AACA,gBAAAhK,KAAA,GAA2B,IAAI,0DAAJ,EAA3B;AAIF,gBAAAzb,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAER,gBAAA0b,UAAA,GAAsB,KAAtB;AAIA,gBAAAE,QAAA,GAAoB,IAApB;AAGA,gBAAA6J,YAAA,GAAwB,KAAxB;AAIA,gBAAAC,YAAA,GAAuB,EAAvB;AACA,gBAAAC,aAAA,GAAwB,MAAxB;AACA,gBAAAC,aAAA,GAAyB,KAAzB;AACA,gBAAAC,mBAAA,GAA8B,EAA9B;AA6DA,gBAAA1lB,UAAA,GAAa;AACXgK,mBAAS,EAAE,WADA;AAEXE,kBAAQ,EAAE,UAFC;AAGXJ,eAAK,EAAE,OAHI;AAIX6b,iBAAO,EAAE,SAJE;AAKXvN,kBAAQ,EAAE,UALC;AAMZ;AACC2G,kBAAQ,EAAE,UAPC;AAQXE,gCAAsB,EAAE,wBARb;AASX2G,+BAAqB,EAAE,uBATZ;AAUXC,6BAAmB,EAAE,qBAVV;AAWXC,wBAAc,EAAE;AAXL,SAAb;AAcA,gBAAA1lB,kBAAA,GAAqB;AACnB4J,mBAAS,EAAE;AACT3J,oBAAQ,EAAE,wBADD;AAETsc,2BAAe,EAAE;AAFR,WADQ;AAKnBzS,kBAAQ,EAAE;AACR7J,oBAAQ,EAAE,uBADF;AAERsc,2BAAe,EAAE;AAFT,WALS;AASnB7S,eAAK,EAAE;AACLzJ,oBAAQ,EAAE,mBADL;AAELuH,iBAAK,EAAE;AAFF,WATY;AAanB+d,iBAAO,EAAE;AACPtlB,oBAAQ,EAAE,0BADH;AAEPuc,uBAAW,EAAE,mBAFN;AAGPrc,qBAAS,EAAE;AAHJ,WAbU;AAkBnB0e,gCAAsB,EAAE;AACtB5e,oBAAQ,EAAE,qBADY;AAEtBuc,uBAAW,EAAE;AAFS,WAlBL;AAsBnB;AACA;AACA;AACAgJ,+BAAqB,EAAE;AACrBvlB,oBAAQ,EAAE;AADW,WAzBJ;AA4BnBwlB,6BAAmB,EAAE;AACnBxlB,oBAAQ,EAAE,mCADS;AAEnB0lB,eAAG,EAAE;AAFc,WA5BF;AAgCnBD,wBAAc,EAAE;AACdzlB,oBAAQ,EAAE,qBADI;AAEduc,uBAAW,EAAE;AAFC;AAhCG,SAArB;AAtEE,gBAAK/b,gBAAL,GAAwB,QAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;;AACA,YAAI,QAAKklB,QAAL,GAAgB,CAApB,EAAuB;AACrB,kBAAKC,aAAL,CAAmB,QAAKD,QAAxB;AACD;;AALuE;AAMzE;;;;mCAEO;AAEN;AACA;AAGA,eAAKplB,SAAL,GANM,CAQN;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAGA;AACA;AACA;AACA;AACA;AACA;AAEA;AAEA;AACD;;;sCAEU;AACT,cAAI,KAAKhB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;oCAEWmd,O,EAAwB;AAClC,cAAI,KAAKkI,QAAL,GAAgB,CAApB,EAAuB;AACrB,iBAAKzK,UAAL,GAAkB,IAAlB;AACA,iBAAK0K,aAAL,CAAmB,KAAKD,QAAxB;AACD,WAHD,MAGO;AACL,iBAAKE,eAAL;AACD;AACF;;;oCAsDmB;AAElB,cAAMrjB,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB;AAEAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBgK,SAArC,EAAgD,KAAKxK,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC9C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,gFAAgB2f,cAAtC,CAAd;AAAqE7c,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAAnH,WAD8C,CAAhD;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBkK,QAArC,EAA+C,KAAK1K,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC7C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,gFAAgB2f,cAAtC,CAAd;AAAqE7c,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAAnH,WAD6C,CAA/C;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB8J,KAArC,EAA4C,KAAKtK,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC1C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,gFAAgBuH,KAAtC,CAAd;AAA4DzE,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAA1G,WAD0C,CAA5C;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB2lB,OAArC,EAA8C,KAAKnmB,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC5C;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,gFAAgB8lB,WAAtC,CAAd;AAAkEhjB,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAAhH,WAD4C,CAA9C,EAVkB,CAYlB;AACA;AACA;AACA;;AACApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBif,sBAArC,EAA6D,KAAKzf,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC3D;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,gFAAgB+lB,YAAtC,CAAd;AAAmEjjB,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAAjH,WAD2D,CAA7D;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB4lB,qBAArC,EAA4D,KAAKpmB,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAC1D;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,CAAd;AAAqC8C,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAAnF,WAD0D,CAA5D;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB6lB,mBAArC,EAA0D,KAAKrmB,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACxD;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,CAAd;AAAqC8C,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoC6X;AAAnF,WADwD,CAA1D;AAEApY,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgB8lB,cAArC,EAAqD,KAAKtmB,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EACnD;AAAEC,sBAAU,EAAE,CAAC,gFAAgBmjB,YAAjB;AAAd,WADmD,CAArD;AAEA,eAAKjlB,IAAL,GAAY0B,SAAZ;AACD;;;sCAEqBmjB,Q,EAAkB;AAAA;;AAEtC;AACA,cAAI,CAACA,QAAL,EAAe;AACb;AACD;;AAED,eAAKzK,UAAL,GAAkB,IAAlB;AACA,eAAK7Z,OAAL,GAAe,IAAf;AAEA,eAAK0jB,sBAAL,CAA4BiB,sBAA5B,CAAmDL,QAAnD,EACGvkB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAqD;AAC9D,mBAAI,CAACC,aAAL,CAAiDD,MAAjD,EAAyD,YAAM;AAC7D,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,uBAAI,CAACwkB,mBAAL,GAA2B1kB,MAAM,CAACG,aAAlC;;AACA,uBAAI,CAACge,eAAL;;AACA,uBAAI,CAACwG,mBAAL,GAA2B,IAAIxV,IAAJ,CAAS,OAAI,CAACuV,mBAAL,CAAyBT,mBAAlC,CAA3B;AACA,uBAAI,CAACW,qBAAL,GAA6B,IAAIzV,IAAJ,CAAS,OAAI,CAACuV,mBAAL,CAAyBV,qBAAlC,CAA7B,CAJoB,CAKpB;AAED,eAPD,MAOO;AACL,uBAAI,CAAC5jB,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAXD;AAYD,WAfH,EAeK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACH,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAjBH;AAkBD;;;0CAEiB;AAChB,eAAKoB,IAAL,CAAUc,KAAV;;AAEA,cAAI,CAAC,KAAKqkB,mBAAV,EAA+B;AAC7B;AACD;;AAED,cAAMnlB,IAAI,GAAG,KAAKA,IAAlB;AAEAA,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBgK,SAAzB,EAAoCwH,QAApC,CAA6C,KAAK8U,mBAAL,CAAyBtc,SAAtE;AACA7I,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBkK,QAAzB,EAAmCsH,QAAnC,CAA4C,KAAK8U,mBAAL,CAAyBpc,QAArE;AACA/I,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB8J,KAAzB,EAAgC0H,QAAhC,CAAyC,KAAK8U,mBAAL,CAAyBxc,KAAlE;AACA3I,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB2lB,OAAzB,EAAkCnU,QAAlC,CAA2C,KAAK8U,mBAAL,CAAyBX,OAApE,EAZgB,CAahB;;AACA,eAAKlK,QAAL,GAAgB,KAAK6K,mBAAL,CAAyBvH,QAAzC;AACA5d,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBif,sBAAzB,EAAiDzN,QAAjD,CAA0D,KAAK8U,mBAAL,CAAyBrH,sBAAnF;AACA9d,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB6lB,mBAAzB,EAA8CrU,QAA9C,CAAuD,IAAIT,IAAJ,CAAS,KAAKuV,mBAAL,CAAyBT,mBAAlC,CAAvD;AACA1kB,cAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB4lB,qBAAzB,EAAgDpU,QAAhD,CAAyD,IAAIT,IAAJ,CAAS,KAAKuV,mBAAL,CAAyBV,qBAAlC,CAAzD;AACA,eAAKU,mBAAL,CAAyBG,mBAAzB,GAAiD,KAAKH,mBAAL,CAAyBG,mBAAzB,IAAgD,IAAhD,IAAwD,KAAKH,mBAAL,CAAyBG,mBAAzB,IAAgD,EAAzG,GAC5C,GAD4C,GACtC,KAAKH,mBAAL,CAAyBG,mBADnC;AAGA,eAAKlB,YAAL,GAAoB,EAApB;AACA,eAAKC,aAAL,GAAqB,MAArB;AACA,eAAKC,aAAL,GAAqB,KAArB;AACA,eAAKC,mBAAL,GAA2B,EAA3B;;AACA,cAAI,KAAKY,mBAAL,CAAyBG,mBAAzB,IAAgD,GAApD,EAAyD;AACvD,iBAAKjB,aAAL,GAAqB,cAArB;AACD,WAFD,MAGK;AACH,iBAAKA,aAAL,GAAqB,aAArB;AACD;;AACD,eAAKD,YAAL,GAAoB,KAAKmB,WAAL,CAAiB,KAAKJ,mBAAL,CAAyBG,mBAA1C,EAA+D,CAA/D,IAAoE,MAApE,GAA6E,KAAKH,mBAAL,CAAyBrH,sBAAtG,GAA+H,KAAnJ;AACD;;;0CACiB;AAChB,eAAKwG,aAAL,GAAqB,CAAC,KAAKA,aAA3B;AACD;;;0CACiB;AAChB,eAAKH,YAAL,GAAoB,KAApB;;AACA,cAAI,KAAKnkB,IAAT,EAAe;AACb,iBAAKA,IAAL,CAAUc,KAAV;AACD;;AACD,eAAKsZ,UAAL,GAAkB,KAAlB;AACD;;;qCAEY9U,K,EAAY;AAEvB,eAAK+f,qBAAL,GAA6B/f,KAA7B;;AAEA,cAAI,KAAK8f,mBAAL,IAA4B,IAAhC,EAAsC;AACpC,gBAAI,KAAKC,qBAAL,GAA6B,KAAKD,mBAAtC,EAA2D;AACzD,mBAAKplB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB6lB,mBAA9B,EAAmDrU,QAAnD,CAA4D,EAA5D;AACD;AACF;AACF;;;wCAEe/K,K,EAAY;AAE1B,eAAK8f,mBAAL,GAA2B9f,KAA3B;AACD;;;qCAEYrE,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAsB,IAAtB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEmB;AAClB,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;qCAEY;AACX,eAAKub,KAAL,CAAW9W,IAAX;AACA,eAAK2hB,eAAL;AACA,6CAAC,CAAC,mBAAD,CAAD,CAAuBjG,OAAvB,CAA+B,MAA/B;AACD;;;2CAEkB;AACjB,eAAK9e,IAAL,CAAUc,KAAV;AACA,6CAAC,CAAC,mBAAD,CAAD,CAAuBge,OAAvB,CAA+B,MAA/B;AACD;;;4CACmB;;;AAGlB,cAAM9e,IAAI,GAAG,KAAKA,IAAlB;AAEA,cAAMwlB,kBAAkB,GAAG,IAAI,2GAAJ,EAA3B;AAEAA,4BAAkB,CAACC,QAAnB,GAA8B,KAAKrL,UAAL,GAAkB,KAAKyK,QAAvB,GAAkC,CAAhE;AACAW,4BAAkB,CAAC3c,SAAnB,GAA+B7I,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBgK,SAAzB,EAAoCzI,KAApC,CAA0CgO,QAA1C,GAAqDuL,IAArD,EAA/B;AACA6L,4BAAkB,CAACzc,QAAnB,GAA8B/I,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBkK,QAAzB,EAAmC3I,KAAnC,CAAyCgO,QAAzC,GAAoDuL,IAApD,EAA9B;AACA6L,4BAAkB,CAAC7c,KAAnB,GAA2B3I,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB8J,KAAzB,EAAgCvI,KAAhC,CAAsCgO,QAAtC,EAA3B;AACAoX,4BAAkB,CAAChB,OAAnB,GAA6BxkB,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB2lB,OAAzB,EAAkCpkB,KAA/D,CAXkB,CAYlB;;AACAolB,4BAAkB,CAAC1H,sBAAnB,GAA4C9d,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgBif,sBAAzB,EAAiD1d,KAA7F;AACAolB,4BAAkB,CAACf,qBAAnB,GAA2C,CAAH,KAAGzkB,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB4lB,qBAAzB,OAA+C,IAA/C,IAA+C,aAA/C,GAA+C,MAA/C,GAA+C,GAAErkB,KAAF,CAAQslB,kBAAR,EAA1F;AACAF,4BAAkB,CAACd,mBAAnB,GAAyC,CAAH,KAAG1kB,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB6lB,mBAAzB,OAA6C,IAA7C,IAA6C,aAA7C,GAA6C,MAA7C,GAA6C,GAAEtkB,KAAF,CAAQslB,kBAAR,EAAtF;AACAF,4BAAkB,CAAC5H,QAAnB,GAA8B,KAAKtD,QAAnC;AACAkL,4BAAkB,CAACG,eAAnB,GAAqC,IAAI/V,IAAJ,EAArC;AACA4V,4BAAkB,CAACI,oBAAnB,GAA0C,IAAIhW,IAAJ,EAA1C;AACA4V,4BAAkB,CAACK,gBAAnB,GAAsC,KAAtC;AACAL,4BAAkB,CAACM,aAAnB,GAAmC,KAAnC;AACAN,4BAAkB,CAACO,SAAnB,GAA+B,KAA/B;AACAP,4BAAkB,CAACvO,QAAnB,GAA8B,GAA9B;;AACA,cAAI,KAAKmD,UAAL,IAAmB,KAAKkK,aAA5B,EAA2C;AACzC,gBAAI,KAAKD,aAAL,IAAsB,cAA1B,EACEmB,kBAAkB,CAACQ,WAAnB,GAAiC,MAAjC,CADF,KAGER,kBAAkB,CAACQ,WAAnB,GAAiC,KAAjC;AAEFR,8BAAkB,CAACb,cAAnB,GAAoC3kB,IAAI,CAACG,GAAL,CAAS,KAAKtB,UAAL,CAAgB8lB,cAAzB,EAAyCvkB,KAA7E;AACD,WAPD,MASEolB,kBAAkB,CAACb,cAAnB,GAAoC,EAApC;;AAEFa,4BAAkB,CAACS,UAAnB,GAAgC,KAAKvmB,gBAAL,CAAsBE,MAAtD;AAIA,iBAAO4lB,kBAAP;AAED;;;2CACkB;AAEjB,eAAKjB,mBAAL,GAA2B,EAA3B;AACD;;;mCACU;AAAA;;AACT,eAAKA,mBAAL,GAA2B,EAA3B;;AACA,cAAI,KAAKvkB,IAAL,CAAUX,OAAd,EAAuB;AACrB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,iBAAKY,iBAAL;AACA;AACD;;AAED,cAAI,KAAKma,UAAL,IAAmB,KAAKkK,aAA5B,EAA2C;AACzC,gBAAI,KAAKtkB,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8lB,cAA9B,EAA8CvkB,KAA9C,IAAuD,EAAvD,IAA6D,KAAKJ,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgB8lB,cAA9B,EAA8CvkB,KAA9C,IAAuDiM,SAAxH,EAAmI;AACjI,mBAAKkY,mBAAL,GAA2B,KAAKtlB,kBAAL,CAAwB0lB,cAAxB,CAAuCzlB,QAAlE;AACA,qBAAO,KAAP;AACD;AACF;;AAED,cAAMsmB,kBAAkB,GAAG,KAAKnH,iBAAL,EAA3B;AACA,eAAK9d,OAAL,GAAe,IAAf;AACA,cAAM4jB,YAAY,GAAG,KAAK/J,UAAL,GAAkB,KAAK6J,sBAAL,CAA4BiC,qBAA5B,CAAkDV,kBAAlD,CAAlB,GACjB,KAAKvB,sBAAL,CAA4BkC,kBAA5B,CAA+CX,kBAA/C,CADJ;AAGArB,sBAAY,CACT7jB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAA4B;AACrC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AAEpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,sBAAI6d,QAAQ,GAAGhe,MAAM,CAACG,aAAtB;AACD;;AACD,oBAAIhC,OAAO,GAAG,OAAI,CAACwb,UAAL,GAAkB,4BAAlB,GAAiD,0BAA/D;AACA,uBAAI,CAAC7Z,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBjC,OAAlB,EAA2B,IAA3B;;AACAwC,0BAAU,CAAC,YAAM;AACf,yBAAI,CAACgjB,YAAL,GAAoB,EAApB;AACA,yBAAI,CAACC,aAAL,GAAqB,MAArB;AACA,yBAAI,CAACC,aAAL,GAAqB,KAArB;AACA,yBAAI,CAACC,mBAAL,GAA2B,EAA3B;;AACA,yBAAI,CAACvkB,IAAL,CAAUc,KAAV;;AACA,yBAAI,CAAC4d,gBAAL;;AACA,yBAAI,CAACC,UAAL;;AACA,yBAAI,CAACuF,mBAAL,CAAyB9gB,IAAzB,CAA8B,IAA9B;AACD,iBATS,EASP,yEAAY/B,eATL,CAAV;AAWD,eAnBD,MAmBO;AACL,uBAAI,CAACd,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAzBD;AA0BD,WA7BH,EA6BK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAhCH;AAkCD;;;oCACWwnB,K,EAA0B;AAAA,cAAdC,QAAc,uEAAH,CAAG;AACpCD,eAAK,GAAGpX,UAAU,CAACoX,KAAD,CAAlB;;AACA,cAAIA,KAAK,KAAK,CAAd,EAAiB;AACf,mBAAO,SAAP;AACD;;AACD,cAAME,CAAC,GAAG,IAAV;AACA,cAAMC,EAAE,GAAGF,QAAQ,IAAI,CAAZ,GAAgB,CAAhB,GAAoBA,QAA/B;AACA,cAAMG,KAAK,GAAG,CAAC,OAAD,EAAU,IAAV,EAAgB,IAAhB,EAAsB,IAAtB,EAA4B,IAA5B,EAAkC,IAAlC,EAAwC,IAAxC,EAA8C,IAA9C,EAAoD,IAApD,CAAd;AACA,cAAMC,CAAC,GAAG3N,IAAI,CAAC4N,KAAL,CAAW5N,IAAI,CAAC/H,GAAL,CAASqV,KAAT,IAAkBtN,IAAI,CAAC/H,GAAL,CAASuV,CAAT,CAA7B,CAAV;AACA,iBAAOtX,UAAU,CAAC,CAACoX,KAAK,GAAGtN,IAAI,CAAC6N,GAAL,CAASL,CAAT,EAAYG,CAAZ,CAAT,EAAyBG,OAAzB,CAAiCL,EAAjC,CAAD,CAAV,GAAmD,GAAnD,GAAyDC,KAAK,CAACC,CAAD,CAArE;AACD;;;;MA3YiD,2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECpBxC,0I,GAAA;AAAA;AAAA;AAAA,c,GACI,sH,IAAG,6E,IACH;AAAA;AAAA,oBAKS,UALT;;AAAkD;;;;;AAAlD;AAAA,oB,IACI,mP,IACA,qN,IACA,qP,IAA4F;AAAA;AAL/F;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC5D;;AAAA;AAAW,O;AAAA;;;qEAiCE;AAAA;AAAA,oBAAiI,UAAjI;;AAAgG;;;;;AAAhG;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GAAwH,+E,IAAK;AAAA;AAAnD;AAAvE;;AAAH,sBAA0E,SAA1E,EAAG,SAAH;AAA8C,O,EAAA,I;AAAA;;;qEAxB9D,iJ,IACI,uJ,IACI,sI,IACI;AAAA;AAAA,oBAKS,UALT;;AAAqE;;;;;AAArE;AAAA,oB,IACI,mP,IACA,qN,IACA,qP,IAGJ,uH,IAAI,iF,IAEJ,6J,IACI,kJ,IAA0B,8E,IAC1B;AAAA;AAAA,oBAC0C,UAD1C;;AAAiG;;;;;AAAjG;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GAGJ,8J,IACI,kJ,IAA0B,gF,IAC1B;AAAA;AAAA,oBAC0C,UAD1C;;AAAmG;;;;;AAAnG;AAAA,kO,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,c,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,qE,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GAIJ,uJ,IACI;AAAA;AAAA,oBAAwE,UAAxE;;AAAkC;;;;;AAAlC;AAAA,oB,IAA+D,+E,IAC/D,0H,GAAA;AAAA;AAAA,c,GAAiI;AAAA;AAVzH;AADiD;AAAoB;AAA+C;AAAxF,4BAAoB,SAApB;;AAApC,uBACQ,SADR,EAAyD,UAAzD,EAA6E,UAA7E,EAA4H,UAA5H,EAAoC,UAApC;;AAAiG,4BAA0B,aAA1B;;AAAjG,uBAAiG,UAAjG;;AAMQ;AADmD;AAAoB;AAAiD;AAA5F,4BAAsB,WAAtB;;AAApC,uBACQ,UADR,EAA2D,UAA3D,EAA+E,UAA/E,EAAgI,UAAhI,EAAoC,UAApC;;AAAmG,4BAA4B,eAA5B;;AAAnG,uBAAmG,UAAnG;;AAM+C,4BAA0B,mBAA1B;;AAA/C,uBAA+C,UAA/C;AAAyE,O,EAAA;AAXzE;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAKA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAC0C,O;AAAA;;;qEA8B9C,iJ,IAAsD,yF,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+B,O;AAAA;;;qEASpC,kJ,IAA8D,I,EAAA,I;AAAA;;;qEADvG,wH,IACI;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAAgC,+E,IAAK,0H,GAAA;AAAA;AAAA,c,GACrC;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAA4B,6F,IAAmB,kJ,IAE/C;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAA6C,iF,IAAO,mJ,IACpD;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAA4C,iG,IAAuB,mJ,IACnE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;iBAA0C,+F,IAAqB,mJ,IAC/D,wH,IAAI,gF,IACJ,wJ,IAAgC,gF,IAAM;AAAA;AAPlC;;AAAJ,sBAAI,SAAJ;;AAAgE;;AAA3B,sBAA2B,SAA3B;;AACjC;;AAAJ,sBAAI,UAAJ;;AAEI;;AAAJ,uBAAI,UAAJ;;AACI;;AAAJ,uBAAI,UAAJ;;AACI;;AAAJ,uBAAI,UAAJ;AAAyC,O,EAAA;AALzC;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AAEA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;;AACA;;AAAA;;AAAA;AAAA;;AAAA;;AAAA;AAAsG,O;AAAA;;;qEAM1G,wH,IACI,uH,IACI,8I,IAAuB,mF,IACnB,4K,GAAA;AAAA;AAAA;AAAA,c,GAIR,uH,IACI,kJ,IACI,yJ,IAAoD,6E,IACpD,6K,GAAA;AAAA;AAAA;AAAA,c,GAA2E,0J,IAAqD,8E,IAOxI,qI,IACI,8I,IAAuB,kF,IAG3B,qI,IACI,iJ,IAA0B,+E,GAAA,yD,GAG9B,qI,IACI,iJ,IAA0B,+E,GAAA,yD,GAG9B,gJ,IACI,0H,GAAA;AAAA;AAAA,c,GAAyF,8E,IAG7F,+I,IACI,mJ,IACI;AAAA;AAAA,oBAII,UAJJ;;AAAmF;;;;;AAAnF;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GACI,oP,IACI,wxC,IAWR;AAAA;AAAA,oBAOI,UAPJ;;AAAiB;;;;;AAAjB;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GAEI,kO,IACE,s+C,IACA,m8B,IACA,6N,IAGN;AAAA;AAAA,oBAMI,UANJ;;AAAqF;;;;;AAArF;AAAA,oB,GAAA;AAAA;AAAA;AAAA,c,GACO,oP,IAEE,48E,IACuB;AAzD6C;;AAApD;;AAAzB,sBAA6E,SAA7E,EAAyB,SAAzB;;AAOqD;;AAA5B;;AAAzB,uBAAqD,SAArD,EAAyB,SAAzB;;AAoBE;;AAAN,uBAAM,UAAN;;AAKsC;AAAhB;;AAAlB,uBAAkC,UAAlC,EAAkB,UAAlB;;AAaqF;AAA1B;;AAA3D,uBAAqF,UAArF,EAA2D,UAA3D;;AAQ+D;AAAlB;;AAA7C,uBAA+D,UAA/D,EAA6C,UAA7C;AAA8D,O,EAAA;AAtD3C;AAAA;;AAAA;;AAOG;;AAAtB,sBAAsB,SAAtB;;AAAoD;;AAAA;;AAC6C;;AAAtB,uBAAsB,SAAtB;;AAAqD;;AAAA;;AAQ7G;;AAAA;;AAIG;;AAAA;;AAIA;;AAAA;;AAI+D;;AAAA;AAA2C,O;AAAA;;;qEA0C5J,iJ,IACI,2I,IAA0B,I,EAAA,I;AAAA;;;iPA5JlD,6J,IACI,mU,GAAA,ic,GACA,2J,IACI,+I,IACI,0H,GAAA;AAAA;AAAA,c,GASA,kJ,GAAA;AAAA;AAAA;AAAA,c,GACI,0H,GAAA;AAAA;AAAA,c,GA+BA,2J,IACI,kJ,IACE,wH,IAAI,0G,IACF,wJ,IACI;AAAA;AAAA,oBAEyB,UAFzB;;AAAmC;;;;;AAAnC;AAAA,oB,IACI,2Q,IAAgH,4pC,IAC1G,qF,IAEV;AAAA;AAAA,oBAEI,UAFJ;;AAAmD;;;;;AAAnD;AAAA,oB,IACE,kO,IAAmF,sV,IAErF,iK,IACI;AAAA;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;AAA6E;;;;;AAAyB;;;;;AAAtG;AAAA,oB,GAAA,yV,EAAA;AAAA;AAAA,+E,EAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA,wL,EAAA,mN,GACA,qL,IAAuD,oP,IACnD,0mB,IAIR,0H,GAAA;AAAA;AAAA,c,GAGR,wL,IACI,oK,IACI;AAAA;AAAA,oBAoFS,UApFT;;AAA+D;;;;;AAA/D;AAAA,kN,GAAA,yL,EAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEI,mH,GAAA;AAAA;AAAA,c,GAYA,mH,GAAA;AAAA;AAAA,c,GAyEZ,0H,GAAA;AAAA;AAAA,c,GASpB;AAAA;AAAA,oBAMW,UANX;;AAA6B;;;;;AAA7B;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEE,qK,IAEE;AAAA;AAAA,oBAA+L,UAA/L;;AAA6B;;;;;AAA6B;;;;;AAA1D;AAAA,sS,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,GAIJ;AAAA;AAAA,oBAWW,UAXX;;AAA6B;;;;;AAA7B;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAGE,qK,IACM,wH,IAAI,yF,IACJ,uH,IAAG,oH,IACH,kJ,IACI;AAAA;AAAA,oBAAoF,UAApF;;AAA4C;;;;;AAA5C;AAAA,oB,IAAyE,4E,IACzE;AAAA;AAAA,oBAAkF,UAAlF;;AAA0C;;;;;AAA1C;AAAA,oB,IAAsE,6E,IAKlF;AAAA;AAAA,oBAWW,UAXX;;AAA6B;;;;;AAA7B;AAAA,wN,GAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,EAAA;AAAA;AAAA,Q,GAEU,qK,IACE,wH,IAAI,wF,IACJ,uH,IAAG,2H,IACH,kJ,IAEI;AAAA;AAAA,oBAAqF,UAArF;;AAA4C;;;;;AAA5C;AAAA,oB,IAA0E,4E,IAC1E;AAAA;AAAA,oBAA2E,UAA3E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,6E,IAAG;AAAA;;AAhM9E;;AAG4E,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AASK;AAAqB;;AAA1B,sBAAK,SAAL,EAA0B,SAA1B;;AAC6B,4BAAwB,gBAAxB;;AAAzB,uBAAyB,SAAzB;;AA2C6F,4BAAwB,WAAxB;;AAA7E,uBAA6E,UAA7E;;AAMsB;;AAA1B,uBAA0B,UAA1B;;AAMI;AADK,4BAAiB,QAAjB;;AAAT,uBACI,UADJ,EAAS,UAAT;;AAEiB;;AAAb,uBAAa,UAAb;;AAYa;;AAAb,uBAAa,UAAb;;AAyEc,4BAAe,QAAf;;AAA1B,uBAA0B,UAA1B;;AASwE;AAC1F;AADsD;AAA9C;AAA6D;AAA1C,4BAA0B,aAA1B;;AAA7B,uBAA4F,UAA5F,EACE,UADF,EAAwD,UAAxD,EAAU,UAAV,EAAuE,UAAvE,EAA6B,UAA7B;;AAIgH,4BAA6B,iBAA7B;AAA8B,4BAAqB,YAArB;;AAA1I,uBAA4G,UAA5G,EAA0I,UAA1I;;AAIuF;AACzF;AADqD;AAA7C;AAA4D;AAAzC,4BAAyB,YAAzB;;AAA7B,uBAA2F,UAA3F,EACE,UADF,EAAuD,UAAvD,EAAU,UAAV,EAAsE,UAAtE,EAA6B,UAA7B;;AAa0F;AAChF;AAD4C;AAA5C;AAA2D;AAAxC,4BAAwB,WAAxB;;AAA7B,uBAA0F,UAA1F,EACU,UADV,EAAsD,UAAtD,EAAU,UAAV,EAAqE,UAArE,EAA6B,UAA7B;AAAqD,O,EAAA;AAAA;;AAhIrB;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAwHrB;AAAA;;AAAA;;AAYI;;AAAA;AAA8D,O;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AC1L7E;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAiBaI,wB;;;;;AAqCX,wCAAoB5C,sBAApB,EAA4E1lB,iBAA5E,EACUC,MADV,EAC0B;AAAA;;AAAA;;AACxB;AAFkB,gBAAAylB,sBAAA,GAAAA,sBAAA;AAAwD,gBAAA1lB,iBAAA,GAAAA,iBAAA;AAClE,gBAAAC,MAAA,GAAAA,MAAA;AApCF,gBAAAC,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAKR,gBAAAwgB,eAAA,GAA2B,KAA3B;AAKA,gBAAAjb,eAAA,GAA2B,KAA3B;AAOA,gBAAAkgB,YAAA,GAAwB,KAAxB;AAIA,gBAAApa,kBAAA,GAA8B,IAA9B;AAIA,gBAAAkV,aAAA,GAAyB,KAAzB;AACA,gBAAAE,WAAA,GAAuB,KAAvB;AAGA,gBAAA2H,UAAA,GAAsB,KAAtB,CAM0B,CAGxB;;AACA,gBAAKpnB,gBAAL,GAAwB,QAAKnB,iBAAL,CAAuBoB,mBAAvB,EAAxB;AACA,gBAAK8B,SAAL,GAAiB,QAAK/B,gBAAL,CAAsB+B,SAAvC;AALwB;AAMzB;;;;mCAEO;AAEN,eAAKslB,kBAAL;AAEA,eAAKC,OAAL,GAAe,IAAI7iB,KAAJ,EAAf;AACA,eAAK8iB,gBAAL,GAAwB,CAAxB;AAEA,eAAKC,QAAL,GAAgB5pB,MAAM,CAACV,IAAP,CAAY,2EAAZ,EAAqCI,GAArC,CAAyC,UAAAsiB,GAAG;AAAA,mBAAK;AAAElT,mBAAK,EAAE,4EAAwBkT,GAAxB,CAAT;AAAuClf,mBAAK,EAAEkf;AAA9C,aAAL;AAAA,WAA5C,CAAhB;AACA,eAAK4H,QAAL,GAAgB,KAAKA,QAAL,CAAc7hB,MAAd,CAAqB,UAAAJ,CAAC;AAAA,mBAAIA,CAAC,CAACmH,KAAF,KAAY,4EAAwBmT,QAAxC;AAAA,WAAtB,CAAhB;AAEA,eAAKF,UAAL,GAAkB/hB,MAAM,CAACV,IAAP,CAAY,6EAAZ,EAAuCI,GAAvC,CAA2C,UAAAsiB,GAAG;AAAA,mBAAK;AAAElT,mBAAK,EAAE,8EAA0BkT,GAA1B,CAAT;AAAyClf,mBAAK,EAAEkf;AAAhD,aAAL;AAAA,WAA9C,CAAlB;AACA,eAAKD,UAAL,GAAkB,KAAKA,UAAL,CAAgBha,MAAhB,CAAuB,UAAAJ,CAAC;AAAA,mBAAIA,CAAC,CAACmH,KAAF,KAAY,8EAA0BmT,QAA1C;AAAA,WAAxB,CAAlB;AACD;;;sCAEU;AACT,cAAI,KAAK9gB,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;6CAEoB;AAEnB,cAAI,KAAKE,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASuE,iBAA5C,EAA+D;AAC7D,iBAAKJ,eAAL,GAAuB,IAAvB;AACA,iBAAKkjB,sBAAL;AACD,WAHD,MAIK,IAAI,KAAKznB,gBAAL,CAAsBI,IAAtB,KAA+B,6DAASwB,SAA5C,EAAuD;AAC1D,iBAAK6lB,sBAAL;AACD,WAFI,MAGA;AACH,iBAAK3oB,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,MAAD,CAArB;AACD;AACF;;;iDAEwB;AAAA;;AAEvB,eAAKhB,OAAL,GAAe,IAAf;AACA,eAAK0jB,sBAAL,CAA4BmD,yBAA5B,GACG9mB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAuD;AAChE,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC;AACA,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AAEpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AAExB,yBAAI,CAAComB,OAAL,GAAevmB,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAvB;AAEA,yBAAI,CAACymB,aAAL,GAAqB,OAAI,CAACL,OAA1B;AAGD;AACF,eAVD,MAWK;AACH,uBAAI,CAACzmB,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAjBD;AAkBD,WArBH,EAqBK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAxBH;AAyBD;;;+CAE8BimB,Q,EAAkB;AAAA;;AAC/C,cAAI,CAACA,QAAL,EAAe;AACb,iBAAKhkB,YAAL,CAAkB,iBAAlB,EAAqC,KAArC;AACA;AACD;;AACD,eAAKN,OAAL,GAAe,IAAf;AAEA,eAAK0jB,sBAAL,CAA4BiB,sBAA5B,CAAmDL,QAAnD,EACGvkB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAqD;AAC9D,mBAAI,CAACC,aAAL,CAAiDD,MAAjD,EAAyD,YAAM;AAC7D,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAAComB,OAAL,CAAa9a,IAAb,CAAkBzL,MAAM,CAACG,aAAzB;AACD;;AACD,uBAAI,CAACL,OAAL,GAAe,KAAf;AACD,eALD,MAKO;AACL,uBAAI,CAACA,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAVD;AAWD,WAdH,EAcK,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAjBH;AAkBD;;;qCAEYqC,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAsB,IAAtB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEmB;AAClB,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;uCACc2oB,Q,EAAkB;AAE/B,eAAKnD,YAAL,GAAoB,IAApB;AACA,eAAKoD,WAAL;AACA,eAAKN,gBAAL,GAAwBK,QAAxB,CAJ+B,CAK/B;AAEA;AACD;;;2CAEkB;AACjB,eAAK3X,qBAAL,GAA6B,CAAC,KAAKA,qBAAnC;AACD;;;sCAEa;AACZ,eAAKiQ,cAAL,GAAsB,IAAtB;AACA,eAAK4H,YAAL,GAAoB,IAApB;AACA,eAAKP,gBAAL,GAAwB,IAAxB;AACA,eAAK/H,eAAL,GAAuB,KAAvB;AACA,eAAK8H,OAAL,GAAe,KAAKK,aAApB;AACA,eAAKtd,kBAAL,GAA0B,KAA1B;AACD;;;mCAEUzE,K,EAAkB;AAC3BA,eAAK,CAACmQ,IAAN,CAAWhR,IAAX,CAAgB,UAACiR,KAAD,EAAQC,KAAR,EAAkB;AAChC,gBAAIC,MAAM,GAAGF,KAAK,CAACpQ,KAAK,CAACwH,KAAP,CAAlB;AACA,gBAAI+I,MAAM,GAAGF,KAAK,CAACrQ,KAAK,CAACwH,KAAP,CAAlB;AACA,gBAAIrM,MAAM,GAAG,IAAb;AAEA,gBAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACEpV,MAAM,GAAG,CAAC,CAAV,CADF,KAEK,IAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACHpV,MAAM,GAAG,CAAT,CADG,KAEA,IAAImV,MAAM,IAAI,IAAV,IAAkBC,MAAM,IAAI,IAAhC,EACHpV,MAAM,GAAG,CAAT,CADG,KAEA,IAAI,OAAOmV,MAAP,KAAkB,QAAlB,IAA8B,OAAOC,MAAP,KAAkB,QAApD,EACHpV,MAAM,GAAGmV,MAAM,CAAC9Q,aAAP,CAAqB+Q,MAArB,CAAT,CADG,KAGHpV,MAAM,GAAImV,MAAM,GAAGC,MAAV,GAAoB,CAAC,CAArB,GAA0BD,MAAM,GAAGC,MAAV,GAAoB,CAApB,GAAwB,CAA1D;AAEF,mBAAQvQ,KAAK,CAACS,KAAN,GAActF,MAAtB;AACD,WAjBD;AAkBD;;;uCAEc0f,U,EAAY;AAEzB,cAAIA,UAAU,GAAGA,UAAU,CAACtb,WAAX,EAAjB;;AACA,cAAI,KAAK2iB,YAAL,IAAqB,KAAK5H,cAA9B,EAA8C;AAC5C,iBAAK7V,kBAAL,GAA0B,IAA1B;AACD,WAFD,MAEO;AACL,iBAAKA,kBAAL,GAA0B,KAA1B;AACD;;AACD,cAAI,CAACoW,UAAD,KAAgB,KAAKqH,YAAL,IAAqB,KAAK5H,cAA1C,CAAJ,EACE,KAAKjQ,qBAAL,GAA6B,CAAC,KAAKA,qBAAnC;AACF,eAAK8X,qBAAL,CAA2BtH,UAA3B,EAAuC,KAAKkH,aAA5C;AACD;;;8CAEqBlH,U,EAAY6G,O,EAAc;AAAA;;AAE9C,cAAI,KAAKpH,cAAL,IAAuB,8EAA0BC,UAArD,EAAiE;AAC/D,gBAAIM,UAAU,CAACpd,MAAX,GAAoB,CAAxB,EAA2B;AACzB,kBAAI,KAAKykB,YAAT,EAAuB;AACrB,qBAAKR,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAlB,IAA0BI,KAAK,CAACtV,IAAN,IAAc,OAAI,CAAC8e,YAA7C,KACpCxJ,KAAK,CAACnV,SAAN,CAAgBhE,WAAhB,GAA8BL,QAA9B,CAAuC2b,UAAvC,KAAsDnC,KAAK,CAACjV,QAAN,CAAelE,WAAf,GAA6BL,QAA7B,CAAsC2b,UAAtC,CAAtD,IACInC,KAAK,CAACrV,KAAN,CAAY9D,WAAZ,GAA0BL,QAA1B,CAAmC2b,UAAnC,CAFgC,CAAJ;AAAA,iBAApB,CAAf;AAIA,qBAAKlB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD,eAND,MAMO;AACL,qBAAKikB,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAlB,KACpCI,KAAK,CAACnV,SAAN,CAAgBhE,WAAhB,GAA8BL,QAA9B,CAAuC2b,UAAvC,KAAsDnC,KAAK,CAACjV,QAAN,CAAelE,WAAf,GAA6BL,QAA7B,CAAsC2b,UAAtC,CAAtD,IACInC,KAAK,CAACrV,KAAN,CAAY9D,WAAZ,GAA0BL,QAA1B,CAAmC2b,UAAnC,CAFgC,CAAJ;AAAA,iBAApB,CAAf;AAIA,qBAAKlB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD;AACF,aAdD,MAeK;AACH,kBAAI,KAAKykB,YAAT,EAAuB;AACrB,qBAAKR,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAlB,IAA0BI,KAAK,CAACtV,IAAN,IAAc,OAAI,CAAC8e,YAAjD;AAAA,iBAApB,CAAf;AAEA,qBAAKvI,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD,eAJD,MAIO;AACL,qBAAKikB,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,IAAtB;AAAA,iBAApB,CAAf;AAEA,qBAAKqB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD;AACF;AAEF;;AACD,cAAI,KAAK6c,cAAL,IAAuB,8EAA0BQ,YAArD,EAAmE;AACjE,gBAAID,UAAU,CAACpd,MAAX,GAAoB,CAAxB,EAA2B;AACzB,kBAAI,KAAKykB,YAAT,EAAuB;AACrB,qBAAKR,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAlB,IAA2BI,KAAK,CAACtV,IAAN,IAAc,OAAI,CAAC8e,YAA9C,KACpCxJ,KAAK,CAACnV,SAAN,CAAgBhE,WAAhB,GAA8BL,QAA9B,CAAuC2b,UAAvC,KAAsDnC,KAAK,CAACjV,QAAN,CAAelE,WAAf,GAA6BL,QAA7B,CAAsC2b,UAAtC,CAAtD,IACInC,KAAK,CAACrV,KAAN,CAAY9D,WAAZ,GAA0BL,QAA1B,CAAmC2b,UAAnC,CAFgC,CAAJ;AAAA,iBAApB,CAAf;AAIA,qBAAKlB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD,eAND,MAMO;AACL,qBAAKikB,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAlB,KACpCI,KAAK,CAACnV,SAAN,CAAgBhE,WAAhB,GAA8BL,QAA9B,CAAuC2b,UAAvC,KAAsDnC,KAAK,CAACjV,QAAN,CAAelE,WAAf,GAA6BL,QAA7B,CAAsC2b,UAAtC,CAAtD,IACInC,KAAK,CAACrV,KAAN,CAAY9D,WAAZ,GAA0BL,QAA1B,CAAmC2b,UAAnC,CAFgC,CAAJ;AAAA,iBAApB,CAAf;AAIA,qBAAKlB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD;AACF,aAdD,MAcO;AACL,kBAAI,KAAKykB,YAAT,EAAuB;AACrB,qBAAKR,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAlB,IAA2BI,KAAK,CAACtV,IAAN,IAAc,OAAI,CAAC8e,YAAlD;AAAA,iBAApB,CAAf;AAEA,qBAAKvI,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD,eAJD,MAIO;AACL,qBAAKikB,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACJ,QAAN,IAAkB,KAAtB;AAAA,iBAApB,CAAf;AAEA,qBAAKqB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD;AACF;AACF;;AACD,cAAI,KAAK6c,cAAL,IAAuB,IAAvB,IAA+B,KAAKA,cAAL,IAAuB,EAA1D,EAA8D;AAC5D,gBAAIO,UAAU,CAACpd,MAAX,GAAoB,CAAxB,EAA2B;AACzB,kBAAI,KAAKykB,YAAT,EAAuB;AACrB,qBAAKR,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACtV,IAAN,IAAc,OAAI,CAAC8e,YAAnB,KACpCxJ,KAAK,CAACnV,SAAN,CAAgBhE,WAAhB,GAA8BL,QAA9B,CAAuC2b,UAAvC,KAAsDnC,KAAK,CAACjV,QAAN,CAAelE,WAAf,GAA6BL,QAA7B,CAAsC2b,UAAtC,CAAtD,IACInC,KAAK,CAACrV,KAAN,CAAY9D,WAAZ,GAA0BL,QAA1B,CAAmC2b,UAAnC,CAFgC,CAAJ;AAAA,iBAApB,CAAf;AAIA,qBAAKlB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD,eAND,MAMO;AACL,qBAAKikB,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAKA,KAAK,CAACnV,SAAN,CAAgBhE,WAAhB,GAA8BL,QAA9B,CAAuC2b,UAAvC,KAAsDnC,KAAK,CAACjV,QAAN,CAAelE,WAAf,GAA6BL,QAA7B,CAAsC2b,UAAtC,CAAtD,IACnCnC,KAAK,CAACrV,KAAN,CAAY9D,WAAZ,GAA0BL,QAA1B,CAAmC2b,UAAnC,CAD8B;AAAA,iBAApB,CAAf;AAGA,qBAAKlB,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD;AACF,aAbD,MAcK;AACH,kBAAI,KAAKykB,YAAT,EAAuB;AACrB,qBAAKR,OAAL,GAAeA,OAAO,CAAC3hB,MAAR,CAAe,UAAA2Y,KAAK;AAAA,yBAAIA,KAAK,CAACtV,IAAN,CAAW7D,WAAX,MAA4B,OAAI,CAAC2iB,YAAL,CAAkB3iB,WAAlB,EAAhC;AAAA,iBAApB,CAAf;AAEA,qBAAKoa,aAAL,GAAqB,KAAK+H,OAAL,CAAajkB,MAAb,GAAsB,CAAtB,GAA0B,IAA1B,GAAiC,KAAtD;AACD,eAJD,MAIO;AACL,qBAAKikB,OAAL,GAAeA,OAAf;AACD;AACF;AACF;AACF;;;0CAEiBU,M,EAAa;AAC7B,cAAIrR,SAAS,GAAG,sCAAsCqR,MAAM,CAACjC,QAA7D;AAEA,eAAKjnB,MAAL,CAAY6hB,aAAZ,CAA0BhK,SAA1B;AACD;;;gDAEuBqR,M,EAAa;AAEnC,eAAKvI,WAAL,GAAmB,IAAnB;AACA,eAAKwI,YAAL,GAAoBD,MAApB;AACD;;;2CAEkB;AACjB;AACA,eAAKvI,WAAL,GAAmB,KAAnB;AACA,eAAKwI,YAAL,GAAoB,IAAI,8GAAJ,EAApB;AACD;;;0CAEiB;AAAA;;AAChB,cAAI,CAAC,KAAKA,YAAV,EAAwB;AACtB;AACD;;AAED,eAAK1D,sBAAL,CAA4B2D,qBAA5B,CAAkD,KAAKD,YAAL,CAAkBlC,QAApE,EACGnlB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADtC,EAEGC,SAFH,CAEa,UAACC,MAAD,EAAgC;AACzC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AAEpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AAGpB,uBAAI,CAACE,YAAL,CAAkB,OAAI,CAAC8mB,YAAL,CAAkB9e,SAAlB,GAA8B,GAA9B,GAAoC,OAAI,CAAC8e,YAAL,CAAkB5e,QAAtD,GAAiE,wBAAnF,EAA6G,IAA7G;;AACA,uBAAI,CAACoe,sBAAL;;AACA,uBAAI,CAACzI,gBAAL;AAED,eAPD,MAQK;AACH,oBAAIje,MAAM,CAACM,OAAP,CAAeyD,QAAf,CAAwB,kCAAxB,CAAJ,EAAiE;AAC/D,yBAAI,CAAC3D,YAAL,CAAkBJ,MAAM,CAACM,OAAP,GAAiB,GAAjB,GAAuB,OAAI,CAAC4mB,YAAL,CAAkB9e,SAAzC,GAAqD,GAArD,GAA2D,OAAI,CAAC8e,YAAL,CAAkB5e,QAA/F,EAAyG,KAAzG;AACD,iBAFD,MAEO;AACL,yBAAI,CAAClI,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;;AACD,uBAAI,CAACR,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACme,gBAAL;AACD;AACF,aAnBD;AAoBD,WAvBH,EAuBK,UAAC1d,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACme,gBAAL;;AACA,mBAAI,CAAC7d,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WA3BH;AA4BD;;;mCACU0G,K,EAAY;AACrB,eAAK6e,YAAL,GAAoB,KAApB;AACA,eAAK8C,gBAAL,GAAwB,CAAxB;AACA,eAAK9G,UAAL,GAAkB,EAAlB;AACD;;;0CACiB7a,K,EAAY;AAE5B,eAAKyhB,kBAAL;AACA,eAAKc,iBAAL;AACA,eAAKC,UAAL,CAAgBxiB,KAAhB;AACD;;;gDAEuBoiB,M,EAAsC;AAC5D,eAAKZ,UAAL,GAAkB,IAAlB;AACA,eAAKiB,YAAL,GAAoBL,MAApB;AACA,eAAKM,aAAL,GAAqBN,MAAM,CAAC/e,KAA5B;AACD;;;4CAEmB;AAClB,eAAKme,UAAL,GAAkB,KAAlB;AACD;;;mCAEU;AAAA;;AACT,eAAKvmB,OAAL,GAAe,IAAf;AACA,eAAK0jB,sBAAL,CAA4BgE,uBAA5B,CAAoD,KAAKF,YAAL,CAAkBtC,QAAtE,EACGnlB,IADH,CACQ,iEAAU,KAAK7B,YAAf,CADR,EACsC,gEAAS;AAAA,mBAAM,OAAI,CAACC,QAAL,CAAca,IAAd,CAAmB,KAAnB,CAAN;AAAA,WAAT,CADtC,EACiFiB,SADjF,CAEI,UAACC,MAAD,EAAiB;AAEf,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,uBAAI,CAACmmB,UAAL,GAAkB,KAAlB;;AACA,uBAAI,CAACK,sBAAL;;AACA,uBAAI,CAACtmB,YAAL,CAAkB,gCAAgC,OAAI,CAACknB,YAAL,CAAkBpf,KAApE,EAA2E,IAA3E;AACD,eAJD,MAKK;AACH,uBAAI,CAACpI,OAAL,GAAe,KAAf;AACA,uBAAI,CAACumB,UAAL,GAAkB,KAAlB;;AACA,uBAAI,CAACjmB,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAXD;AAYD,WAhBL;AAkBD;;;;MAtY2C,2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECbtC,mJ,IAAgD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAW,O;AAAA;;;qEAE3D,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAGI,UAHJ;;AAAkD;;;;;AAAlD;AAAA,oB,IACE,2K,IACmC;AAAA;AAJlC;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAOhB,0H,IACE,kJ,IAEE,uH,IAAI,6E,IAEJ,gM,IACE,mL,IACA,oT,IACA,4a,IACA,6L,IAGF,oJ,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAAsF,0F,IAAgB;AAA9C;;AAAxD,uBAAwD,SAAxD;;AAA8B;;AAA9B,uBAA8B,SAA9B;AAAuD,O,EAAA;AAAA;AAVrD;;AAAA;;AAUF;;AAAA;;AAAA;AAA0G,O;AAAA;;;qEA0BxG,2I,IAC2D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEACnG,2I,IAC4D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEACrG,2I,IACsE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEAU/G,2I,IAC+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+C,O;AAAA;;;qEAC9G,2I,IACkD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyD,O;AAAA;;;qEAvCjH,0H,IAEE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;6bACE,iJ,IACE,mJ,IAA2B,wF,IAGzB,8J,IACE,6N,IACA,wJ,IACE,wH,IAAI,8F,IACJ,wH,IAAI,uG,IACJ,wH,IAAI,uG,IACJ,wH,IAAI,6F,IACJ,wH,IAAI,wG,IACJ,wH,IAAI,mG,IAIV,sJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,uI,GAAA;AAAA;AAAA,c,GAEA,uI,GAAA;AAAA;AAAA,c,GAEA,uI,GAAA;AAAA;AAAA,c,GAMJ,kJ,IACE,mJ,IAA2B,0F,IAC3B,qJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waAEF,uI,GAAA;AAAA;AAAA,c,GAEA,uI,GAAA;AAAA;AAAA,c,GAGF,6J,IACE;AAAA;AAAA,oBAA8E,UAA9E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,gF,IAAM;AAAA;AAxCnE,2BAAkB,KAAlB;;AAAN,sBAAM,SAAN;;AAkBmD;;AAA7C,uBAA6C,UAA7C;;AAEM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAS6C;;AAA7C,uBAA6C,UAA7C;;AAGI;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;AACiD,O,EAAA;AArCrD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAkBM;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAcA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+E,O;AAAA;;;qEAavF,yH,IACE,iJ,IAEE,uH,IAAI,mF,IACJ,uH,IAAI,sH,IAA4C,I,EAAA,I;AAAA;;;qEAtF5D,iJ,IACI,wJ,IACE,6J,IAEE,yI,IACE,uL,IAEF,uI,GAAA;AAAA;AAAA,c,GAEA,uI,GAAA;AAAA;AAAA,c,GAQA,uI,GAAA;AAAA;AAAA,c,GAkBA,uI,GAAA;AAAA;AAAA,c,GA+CA,wI,GAAA;AAAA;AAAA,c,GAQe;AAAA;AAnFX,2BAAmB,YAAnB;;AAAJ,sBAAI,SAAJ;;AAEoE,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAQc;;AAAd,uBAAc,SAAd;;AAkBc;;AAAd,uBAAc,SAAd;;AA+Cc;;AAAd,uBAAc,SAAd;AAAkD,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACjF1D;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAmBamnB,qC;;;;;AAkBX,qDAAoB7pB,WAApB,EAAsDkI,gBAAtD,EACU/H,MADV,EACkCuF,cADlC,EACkE;AAAA;;AAAA;;AAChE;AAFkB,gBAAA1F,WAAA,GAAAA,WAAA;AAAkC,gBAAAkI,gBAAA,GAAAA,gBAAA;AAC5C,gBAAA/H,MAAA,GAAAA,MAAA;AAAwB,gBAAAuF,cAAA,GAAAA,cAAA;AAjB1B,gBAAAtF,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAER,gBAAAR,KAAA,GAAQ,yBAAR;AACA,gBAAAsI,OAAA,GAAU,gBAAV;AAGA,gBAAA7H,cAAA,GAA0B,KAA1B;AACA,gBAAAC,OAAA,GAAiB,EAAjB;AAEA,gBAAAupB,uBAAA,GAA+B,CAA/B;AAqBA,gBAAAtpB,UAAA,GACA;AACEE,qBAAW,EAAE,aADf;AAEEC,yBAAe,EAAE;AAFnB,SADA;AAMA,gBAAAC,kBAAA,GAAqB;AACnBE,kBAAQ,EAAE;AACRD,oBAAQ,EAAE,sBADF;AAERE,qBAAS,EAAE,0CAFH;AAGRC,mBAAO,EAAE;AAHD,WADS;AAMnBL,yBAAe,EAAE;AACfE,oBAAQ,EAAE,8BADK;AAEfG,mBAAO,EAAE,8BAFM;AAGfD,qBAAS,EAAE,0CAHI;AAIfE,8BAAkB,EAAE;AAJL;AANE,SAArB;AApBkE;AAEjE;;;;sCAEa;AACZ,cAAI,KAAKb,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAuBO;AAAA;;AAEN,eAAKsQ,0BAAL,GAAkC,IAAI,2FAAJ,EAAlC;AACA,eAAKsY,kBAAL,GAA0B,IAAI,0FAAJ,EAA1B;AAEA,eAAKrkB,cAAL,CAAoBO,MAApB,CACChE,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EAEC+B,SAFD,CAEW,UAAC8D,MAAD,EAAoB;AAC7B,mBAAI,CAACsF,WAAL,GAAmBtF,MAAM,CAAC,aAAD,CAAzB;AACD,WAJD;;AAMA,cAAG,KAAKsF,WAAR,EAAqB;AACnB,iBAAKkG,0BAAL,CAAgCE,eAAhC,GAAkD,KAAKpG,WAAL,GAAmB,GAArE;AACD,WAbK,CAcL;;;AAED,eAAKye,gCAAL;AACD;;;2DAE0C;AAAA;;AAEzC,eAAK9hB,gBAAL,CAAsB+hB,iCAAtB,CAAwD,KAAKxY,0BAA7D,EACCxP,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAAqD;AAC9D,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAACwnB,kBAAL,CAAwBxoB,MAAxB,GAAiC,CAAH,KAAGa,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE6kB,QAAxD;AACA,yBAAI,CAAC2C,kBAAL,CAAwB3hB,KAAxB,GAAgC,CAAH,KAAGhG,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE+H,KAAvD;AACA,yBAAI,CAAC4f,WAAL,GAAmB,IAAnB;;AAEA,yBAAI,CAAC9oB,SAAL;AACD;AAEF,eATD,MAUK;AACH,uBAAI,CAAC8oB,WAAL,GAAmB,KAAnB;AACA,uBAAI,CAAChoB,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC3B,OAAL,GAAe6B,MAAM,CAACM,OAAtB,CAHG,CAIH;AACD;AACF,aAjBD;AAkBD,WArBD,EAqBG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAxBD;AAyBD;;;mCAEU;AAAA;;AAET,cAAI,KAAKoB,IAAL,CAAUX,OAAd,EACA;AACE,iBAAKY,iBAAL;AACA;AACD;;AAED,eAAKmoB,kBAAL,CAAwBjpB,QAAxB,GAAmC,KAAKa,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBE,WAA9B,EAA2CqB,KAA9E;AAEA,eAAKmG,gBAAL,CAAsBiiB,aAAtB,CAAoC,KAAKJ,kBAAzC,EACC9nB,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4B;AACrC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAACC,YAAL,CAAkB,+BAAlB,EAAmD,IAAnD;;AACAO,4BAAU,CAAC,YAAM,CACf;AACA;AACD,mBAHS,EAGP,yEAAYC,eAHL,CAAV;AAIA,yBAAI,CAAC8mB,uBAAL,GAA+B,CAA/B;AACA,yBAAI,CAACI,WAAL,GAAmB,KAAnB;AACD;AAGF,eAZD,MAaK;AACH,uBAAI,CAAChoB,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAlBD;AAmBD,WAtBD,EAsBG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAzBD;AA2BD;;;qCAEYqC,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEgB;AACf,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;oCAEmB;AAClB,cAAM+C,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB,CADkB,CAGlB;;AACAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBE,WAArC,EAAkD,KAAKV,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,0DAAWiD,SAAX,CAAqB,CAArB,CAAtB,EAA+C,gFAAgBJ,UAA/D,EAA2E,gFAAgBK,eAA3F,CAAd;AACjBJ,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoCC;AAD7B,WAA7B,CAAlD,EAJkB,CAMlB;;AACAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBG,eAArC,EAAsD,KAAKX,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,gFAAgB6C,UAAtC,EAAkD,gFAAgBK,eAAlE,CAAd;AACbJ,oBAAQ,EAAE,mEAAUC,yBAAV,CAAoCC;AADjC,WAA7B,CAAtD;AAEAR,mBAAS,CAACW,aAAV,CAAwB,gFAAgBC,aAAhB,CAA8B,aAA9B,EAA6C,iBAA7C,CAAxB;AACA,eAAKtC,IAAL,GAAY0B,SAAZ;AACD;;;;MAtKwD,2E;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;qECbnD,mJ,IAAgD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAW,O;AAAA;;;qEAG3D,0I,GAAA;AAAA;AAAA;AAAA,c,GACE,sH,IAAG,6E,IACH;AAAA;AAAA,oBAGI,UAHJ;;AAAkD;;;;;AAAlD;AAAA,oB,IACE,2K,IACmC;AAAA;AAJlC;AAAc;;AAAnB,sBAAK,SAAL,EAAmB,SAAnB;AAAmE,O,EAAA;AAAA;AAC9D;;AAAA;AAAW,O;AAAA;;;qEAOhB,0H,IACE,kJ,IAEE,uH,IAAI,6E,IAkBJ,gM,IACE,mL,IACA,oT,IACA,4a,IACA,6L,IAGF,oJ,IACE;AAAA;;AAAA;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;;;;;WAAsF,0F,IAAgB;AAA9C;;AAAxD,uBAAwD,SAAxD;;AAA8B;;AAA9B,uBAA8B,SAA9B;AAAuD,O,EAAA;AAAA;AA1BrD;;AAAA;;AA0BF;;AAAA;;AAAA;AAA0G,O;AAAA;;;qEA2BxG,2I,IAC2D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAwC,O;AAAA;;;qEACnG,2I,IAC4D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyC,O;AAAA;;;qEACrG,2I,IACsE,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAuC,O;AAAA;;;qEAU/G,2I,IAC+D,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAA+C,O;AAAA;;;qEAC9G,2I,IACkD,6E,IAAA,I,EAAA;AAAA;AAAA;;AAAA;AAAyD,O;AAAA;;;qEAvCjH,0H,IAEE;AAAA;;AAAA;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;6bACE,iJ,IACE,mJ,IAA2B,wF,IAGzB,8J,IACE,6N,IACA,wJ,IACE,wH,IAAI,8F,IACJ,wH,IAAI,uG,IACJ,wH,IAAI,uG,IACJ,wH,IAAI,6F,IACJ,wH,IAAI,wG,IACJ,wH,IAAI,mG,IAIV,sJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waACA,wH,GAAA;AAAA;AAAA,c,GAEA,wH,GAAA;AAAA;AAAA,c,GAEA,wH,GAAA;AAAA;AAAA,c,GAMJ,kJ,IACE,mJ,IAA2B,0F,IAC3B,qJ,IACE;AAAA;;AAAA;;;;;;;;;;;;;;;;;;;;;OAAA,E,IAAA,E,IAAA,C;;;;waAEF,wH,GAAA;AAAA;AAAA,c,GAEA,wH,GAAA;AAAA;AAAA,c,GAGF,6J,IACE;AAAA;AAAA,oBAA8E,UAA9E;;AAA0C;;;;;AAA1C;AAAA,oB,IAA+D,gF,IAAM;AAAA;AAxCnE,2BAAkB,KAAlB;;AAAN,sBAAM,SAAN;;AAkBmD;;AAA7C,uBAA6C,UAA7C;;AAEM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;;AAS6C;;AAA7C,uBAA6C,UAA7C;;AAGI;;AADN,uBACM,UADN;;AAGM;;AADN,uBACM,UADN;AACiD,O,EAAA;AArCrD;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAkBM;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAcA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;AAA+E,O;AAAA;;;qEAvF/F,iJ,IACI,wJ,IACE,6J,IAEE,yI,IACE,uL,IAEF,wH,GAAA;AAAA;AAAA,c,GAGA,wH,GAAA;AAAA;AAAA,c,GAQA,wH,GAAA;AAAA;AAAA,c,GAmCA,wH,GAAA;AAAA;AAAA,c,GA6Ce;AAAA;AA3FX,2BAAmB,YAAnB;;AAAJ,sBAAI,SAAJ;;AAGoE,2BAAsB,eAAtB;;AAApE,sBAAoE,SAApE;;AAQc,4BAAoB,YAApB;;AAAd,uBAAc,SAAd;;AAmCc,2BAAmB,YAAnB;;AAAd,uBAAc,SAAd;AAAiC,O,EAAA,I;AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACpDzC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAkBa+mB,sB;;;;;AAiBX,sCAAoBpqB,WAApB,EAAsDC,WAAtD,EACUE,MADV,EACkCuF,cADlC,EACkE;AAAA;;AAAA;;AAChE;AAFkB,gBAAA1F,WAAA,GAAAA,WAAA;AAAkC,gBAAAC,WAAA,GAAAA,WAAA;AAC5C,gBAAAE,MAAA,GAAAA,MAAA;AAAwB,gBAAAuF,cAAA,GAAAA,cAAA;AAhB1B,gBAAAtF,YAAA,GAAe,IAAI,4CAAJ,EAAf;AACA,gBAAAC,QAAA,GAAW,IAAI,4CAAJ,EAAX;AAER,gBAAAR,KAAA,GAAQ,kBAAR;AACA,gBAAAsI,OAAA,GAAU,gBAAV;AAGA,gBAAA7H,cAAA,GAA0B,KAA1B;AACA,gBAAAC,OAAA,GAAiB,EAAjB;AAsBA,gBAAAC,UAAA,GACA;AACEE,qBAAW,EAAE,aADf;AAEEC,yBAAe,EAAE;AAFnB,SADA;AAMA,gBAAAC,kBAAA,GAAqB;AACnBE,kBAAQ,EAAE;AACRD,oBAAQ,EAAE,sBADF;AAERE,qBAAS,EAAE,0CAFH;AAGRC,mBAAO,EAAE;AAHD,WADS;AAMnBL,yBAAe,EAAE;AACfE,oBAAQ,EAAE,8BADK;AAEfG,mBAAO,EAAE,8BAFM;AAGfD,qBAAS,EAAE,0CAHI;AAIfE,8BAAkB,EAAE;AAJL;AANE,SAArB;AApBkE;AAEjE;;;;sCAEa;AACZ,cAAI,KAAKb,YAAT,EAAuB;AACrB,iBAAKA,YAAL,CAAkBc,IAAlB;AACA,iBAAKd,YAAL,CAAkBe,QAAlB;AACD;;AACD,cAAI,KAAKd,QAAT,EAAmB;AACjB,iBAAKA,QAAL,CAAcc,QAAd;AACD;AACF;;;mCAuBO;AAAA;;AAEN,eAAKsQ,0BAAL,GAAkC,IAAI,oFAAJ,EAAlC;AACA,eAAKsY,kBAAL,GAA0B,IAAI,mFAAJ,EAA1B;AAEA,eAAKrkB,cAAL,CAAoBO,MAApB,CACChE,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EAEC+B,SAFD,CAEW,UAAC8D,MAAD,EAAoB;AAC7B,mBAAI,CAACsF,WAAL,GAAmBtF,MAAM,CAAC,aAAD,CAAzB;AACD,WAJD;;AAMA,cAAG,KAAKsF,WAAR,EAAqB;AACnB,iBAAKkG,0BAAL,CAAgCE,eAAhC,GAAkD,KAAKpG,WAAL,GAAmB,GAArE;AACD,WAbK,CAcL;;;AAED,eAAKye,gCAAL;AACD;;;2DAE0C;AAAA;;AAEzC,eAAK/pB,WAAL,CAAiBgqB,iCAAjB,CAAmD,KAAKxY,0BAAxD,EACCxP,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA8C;AACvD,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;;;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAACwnB,kBAAL,CAAwBxoB,MAAxB,GAAiC,CAAH,KAAGa,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE6H,MAAxD;AACA,yBAAI,CAAC2f,kBAAL,CAAwB3hB,KAAxB,GAAgC,CAAH,KAAGhG,MAAM,SAAN,IAAAA,MAAM,WAAN,GAAM,MAAN,GAAAA,MAAM,CAAEG,aAAR,MAAqB,IAArB,IAAqB,aAArB,GAAqB,MAArB,GAAqB,GAAE+H,KAAvD;AACA,yBAAI,CAAC4f,WAAL,GAAmB,IAAnB;;AAEA,yBAAI,CAAC9oB,SAAL;AACD;AAEF,eATD,MAUK;AACH,uBAAI,CAAC8oB,WAAL,GAAmB,KAAnB;AACA,uBAAI,CAAChoB,OAAL,GAAe,KAAf;AACA,uBAAI,CAAC3B,OAAL,GAAe6B,MAAM,CAACM,OAAtB,CAHG,CAIH;AACD;AACF,aAjBD;AAkBD,WArBD,EAqBG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WAxBD;AAyBD;;;mCAEU;AAAA;;AAET,cAAI,KAAKoB,IAAL,CAAUX,OAAd,EACA;AACE,iBAAKY,iBAAL;AACA;AACD;;AAED,eAAKmoB,kBAAL,CAAwBjpB,QAAxB,GAAmC,KAAKa,IAAL,CAAUG,GAAV,CAAc,KAAKtB,UAAL,CAAgBE,WAA9B,EAA2CqB,KAA9E;AAEA,eAAK9B,WAAL,CAAiBkqB,aAAjB,CAA+B,KAAKJ,kBAApC,EACC9nB,IADD,CACM,iEAAU,KAAK7B,YAAf,CADN,EACoC,gEAAS;AAAA,mBAAM,OAAI,CAAC8B,OAAL,GAAe,KAArB;AAAA,WAAT,CADpC,EAECC,SAFD,CAEW,UAACC,MAAD,EAA4B;AACrC,mBAAI,CAACC,aAAL,CAAwBD,MAAxB,EAAgC,YAAM;AACpC,kBAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,oBAAIF,MAAM,CAACG,aAAX,EAA0B;AACxB,yBAAI,CAACC,YAAL,CAAkB,+BAAlB,EAAmD,IAAnD;;AACAO,4BAAU,CAAC,YAAM;AACf,2BAAI,CAAC5C,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,QAAD,CAArB;AACD,mBAFS,EAEP,yEAAYF,eAFL,CAAV;AAGD;AAEF,eARD,MASK;AACH,uBAAI,CAACd,OAAL,GAAe,KAAf;;AACA,uBAAI,CAACM,YAAL,CAAkBJ,MAAM,CAACM,OAAzB,EAAkC,KAAlC;AACD;AACF,aAdD;AAeD,WAlBD,EAkBG,UAACC,iBAAD,EAAuB;AACxB,mBAAI,CAACT,OAAL,GAAe,KAAf;;AACA,mBAAI,CAACM,YAAL,CAAkBG,iBAAiB,CAACpC,OAApC,EAA6C,KAA7C;AACD,WArBD;AAuBD;;;qCAEYqC,G,EAAKC,S,EAAoB;AAAA;;AACpC,eAAKvC,cAAL,GAAqB,IAArB;AACA,eAAKwC,YAAL,GAAoBD,SAApB;AACA,eAAKtC,OAAL,GAAeqC,GAAf;AACAG,oBAAU,CAAC,YAAM;AACf,mBAAI,CAACxC,OAAL,GAAe,EAAf;AACA,mBAAI,CAACD,cAAL,GAAsB,KAAtB;AACD,WAHS,EAGP,yEAAY0C,eAHL,CAAV;AAID;;;4CAEgB;AACf,eAAK1C,cAAL,GAAsB,KAAtB;AACD;;;oCAEmB;AAClB,cAAM+C,SAAS,GAAG,KAAKrD,WAAL,CAAiBsD,KAAjB,CAAuB,EAAvB,CAAlB,CADkB,CAGlB;;AACAD,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBE,WAArC,EAAkD,KAAKV,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,0DAAWiD,SAAX,CAAqB,CAArB,CAAtB,EAA+C,yEAAgBJ,UAA/D,EAA2E,yEAAgBK,eAA3F,CAAd;AACjBJ,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AAD7B,WAA7B,CAAlD,EAJkB,CAMlB;;AACAR,mBAAS,CAACE,UAAV,CAAqB,KAAK/C,UAAL,CAAgBG,eAArC,EAAsD,KAAKX,WAAL,CAAiBwD,OAAjB,CAAyB,EAAzB,EAA6B;AAAEC,sBAAU,EAAE,CAAC,0DAAW5C,QAAZ,EAAsB,yEAAgB6C,UAAtC,EAAkD,yEAAgBK,eAAlE,CAAd;AACbJ,oBAAQ,EAAE,4DAAUC,yBAAV,CAAoCC;AADjC,WAA7B,CAAtD;AAEAR,mBAAS,CAACW,aAAV,CAAwB,yEAAgBC,aAAhB,CAA8B,aAA9B,EAA6C,iBAA7C,CAAxB;AACA,eAAKtC,IAAL,GAAY0B,SAAZ;AACD;;;;MAjKyC,oE;;;;;;;;;;;;;;;;;ACnB5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAQagnB,W;AAGX,2BAAYC,UAAZ,EAAoC;AAAA;;AAClC,aAAKA,UAAL,GAAkBA,UAAlB;AACD;AAED;;;;AAIA;AACA;AACA;AACA;AACA;;;;;4CAC8BnnB,G,EAA4C;AAAA,cAA/BonB,WAA+B,uEAAJ,IAAI;AACxE;AACA;AACA;AACA;AACA;AACA;AACA;AAEA;AACA,iBAAO,KAAKD,UAAL,CAAgBxoB,GAAhB,CAAoB,KAAK0oB,SAAL,CAAernB,GAAf,CAApB,EACL;AACEwG,mBAAO,EAAE4gB,WADX;AAEEE,wBAAY,EAAE;AAFhB,WADK,CAAP;AAMD;;;4BAEgBtnB,G,EAA4C;AAAA,cAA/BonB,WAA+B,uEAAJ,IAAI;AAC3D,iBAAO,KAAKD,UAAL,CAAgBxoB,GAAhB,CAAuB,KAAK0oB,SAAL,CAAernB,GAAf,CAAvB,EACL;AACE;AACAwG,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AAAE,8BAAiB,kBAAnB;AACzB,kDAAqC,MADZ;AAEzB,6CAA+B,GAFN;AAGzB,8CAAgC,wCAHP;AAIzB,8CAAgC;AAJP,aAAhB;AAFX,WADK,CAAP;AASD;;;kCAEsBxG,G,EAAW;AAEhC,iBAAO,KAAKmnB,UAAL,CAAgBxoB,GAAhB,CAAuB,KAAK4oB,YAAL,CAAkBvnB,GAAlB,CAAvB,CAAP;AACD;AAED;;;;;;AAMA;;;;6BACkBA,G,EAAawT,I,EAA0C;AAAA,cAA/B4T,WAA+B,uEAAJ,IAAI;AACvE,iBAAO,KAAKD,UAAL,CAAgB5gB,IAAhB,CAAwB,KAAK8gB,SAAL,CAAernB,GAAf,CAAxB,EAA6CwT,IAA7C,EACL;AACEhN,mBAAO,EAAE4gB;AADX,WADK,CAAP;AAID;;;mCAEuBpnB,G,EAAawT,I,EAA0C;AAAA,cAA/B4T,WAA+B,uEAAJ,IAAI;AAC7E;AACA,cAAMI,WAAW,GAAG;AAClBhhB,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AAAE,wBAAU,kBAAZ;AAAgC,8BAAgB;AAAhD,aAAhB;AADS,WAApB;AAGA,iBAAO,KAAK2gB,UAAL,CAAgB5gB,IAAhB,CAAwB,KAAK8gB,SAAL,CAAernB,GAAf,CAAxB,EAA6CwT,IAA7C,EACLgU,WADK,CAAP;AAED;;;mCAGuBxnB,G,EAAawT,I,EAA0C;AAAA,cAA/B4T,WAA+B,uEAAJ,IAAI;AAC7E,iBAAO,KAAKD,UAAL,CAAgB5gB,IAAhB,CAAwB,KAAKghB,YAAL,CAAkBvnB,GAAlB,CAAxB,EAAgDwT,IAAhD,EACL;AACEhN,mBAAO,EAAE4gB;AADX,WADK,CAAP;AAID;;;qCAEsBpnB,G,EAA8C;AAAA,cAAjConB,WAAiC,uEAAN,IAAM;AACnE,iBAAO,KAAKD,UAAL,CAAgBxoB,GAAhB,CAAoB,KAAK0oB,SAAL,CAAernB,GAAf,CAApB,EACP;AACEwG,mBAAO,EAAE,IAAI,gEAAJ,CAAgB;AAAE,8BAAiB,kBAAnB;AACzB,wBAAU,kBADe;AAEzB,kDAAqC,MAFZ;AAGzB,6CAA+B,GAHN;AAIzB,8CAAgC,wCAJP;AAKzB,8CAAgC;AALP,aAAhB,CADX;AAOE8gB,wBAAY,EAAE;AAPhB,WADO,CAAP;AAUD;;;yCAE0BtnB,G,EAAawT,I,EAA0C;AAAA,cAA/B4T,WAA+B,uEAAJ,IAAI;AAChF,iBAAO,KAAKD,UAAL,CAAgB5gB,IAAhB,CAAqB,KAAK8gB,SAAL,CAAernB,GAAf,CAArB,EAA0CwT,IAA1C,EACL;AACEhN,mBAAO,EAAE4gB,WADX;AAEEE,wBAAY,EAAE;AAFhB,WADK,CAAP;AAKD;;;yCAE0BtnB,G,EAAawT,I,EAA0C;AAAA,cAA/B4T,WAA+B,uEAAJ,IAAI;AAChF,iBAAO,KAAKD,UAAL,CAAgB5gB,IAAhB,CAAqB,KAAK8gB,SAAL,CAAernB,GAAf,CAArB,EAA0CwT,IAA1C,EACL;AACEhN,mBAAO,EAAE4gB,WADX;AAEEE,wBAAY,EAAE;AAFhB,WADK,CAAP;AAKD;;;wCAEyBtnB,G,EAA8D;AAAA,cAAjDwT,IAAiD,uEAArC,IAAqC;AAAA,cAA/B4T,WAA+B,uEAAJ,IAAI;AACtF,iBAAO,KAAKD,UAAL,CAAgB5gB,IAAhB,CAAqB,KAAK8gB,SAAL,CAAernB,GAAf,CAArB,EAA0CwT,IAA1C,EACL;AACEhN,mBAAO,EAAE4gB,WADX;AAEEE,wBAAY,EAAE;AAFhB,WADK,CAAP;AAKD,S,CAED;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;;;kCAEkBtnB,G,EAAW;AAC3B,iBAAO,yEAAYqG,UAAZ,GAAyBrG,GAAhC;AACD;;;qCAEoBA,G,EAAW;AAC9B,iBAAO,yEAAYsR,OAAZ,GAAsBtR,GAA7B;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACxIH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAKaynB,c;;;;;AAEX,8BAAYC,WAAZ,EAA6C1qB,MAA7C,EAA6D;AAAA;;AAAA;;AAC3D,sCAAM0qB,WAAN;AAD2C,gBAAA1qB,MAAA,GAAAA,MAAA;AAAgB;AAE5D;;;;0CAEiB;AAChB,iBAAO,KAAK2B,GAAL,CAA4C,yBAA5C,CAAP;AACD;;;uCAEcsB,S,EAAmB;AAChC,iBAAO,KAAKtB,GAAL,CAA0C,4BAA4BsB,SAAtE,CAAP;AACD;;;kDAEyBA,S,EAAmB;AAC3C,iBAAO,KAAKtB,GAAL,CAA4B,mCAAmCsB,SAA/D,CAAP;AACD;;;mCAEUvB,Q,EAA6B;AACtC,iBAAO,KAAK6H,IAAL,CAA2C,oBAA3C,EAAkE7H,QAAlE,CAAP;AACD;;;sCAEaA,Q,EAA6B;AACzC,iBAAO,KAAK6H,IAAL,CAA2C,uBAA3C,EAAqE7H,QAArE,CAAP;AACD;;;sCAEauB,S,EAAmB;AAC/B,iBAAO,KAAKtB,GAAL,CAA6B,2BAA2BsB,SAAxD,CAAP;AACD;;;+CAEsBvB,Q,EAAqC;AAC1D,iBAAO,KAAK6H,IAAL,CAA0B,gCAA1B,EAA4D7H,QAA5D,CAAP;AACD;;;oDAC2B;AAC1B,iBAAO,KAAKC,GAAL,CAA4C,mCAA5C,CAAP;AACD;;;gDACuBD,Q,EAA+B;AACrD,iBAAO,KAAK6H,IAAL,CAA8B,iCAA9B,EAAiE7H,QAAjE,CAAP;AACD;;;;MAtCiC,yD;;;;;;;;;;;;;;;;;;;;;;;;ACZpC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QA4BaipB,sB;;;;;AAEX,sCAAYR,UAAZ,EAAoC;AAAA;;AAAA,mCAC5BA,UAD4B;AAEnC;;;;oDAE2BlnB,S,EAAmB;AAC7C,iBAAO,KAAKtB,GAAL,CAAoD,kDAAkDsB,SAAtG,CAAP;AACD;;;iDAEwB2nB,iB,EAA2B;AAClD,iBAAO,KAAKjpB,GAAL,CAAiD,+CAA+CipB,iBAAhG,CAAP;AACD;;;8CAEqB3nB,S,EAAmB;AACvC,iBAAO,KAAKtB,GAAL,CAAoD,4CAA4CsB,SAAhG,CAAP;AACD;;;kDAEyBA,S,EAAmB;AAC3C,iBAAO,KAAKtB,GAAL,CAAwD,+CAA+CsB,SAAvG,CAAP;AACD;;;2CAEkB;AACjB,iBAAO,KAAKtB,GAAL,CAA+C,mBAA/C,CAAP;AACD;;;+CAEsBipB,iB,EAAwB;AAC7C,iBAAO,KAAKjpB,GAAL,CAAkD,4CAA4CipB,iBAA9F,CAAP;AACD;;;2CAEkBlpB,Q,EAAuC;AACxD,iBAAO,KAAK6H,IAAL,CAAmD,oCAAnD,EAAyF7H,QAAzF,CAAP;AACD;;;8CAEqBA,Q,EAAuC;AAC3D,iBAAO,KAAK6H,IAAL,CAAmD,uCAAnD,EAA4F7H,QAA5F,CAAP;AACD;;;gDAEuBkpB,iB,EAAyB;AAC/C,iBAAO,KAAKjpB,GAAL,CAA6B,4CAA4CipB,iBAAzE,CAAP;AACD;;;4CAGmB3nB,S,EAAmB;AACrC,iBAAO,KAAKtB,GAAL,CAAiD,yCAAyCsB,SAA1F,CAAP;AACD;;;+CAEsB2nB,iB,EAA2B;AAChD,iBAAO,KAAKjpB,GAAL,CAAiD,4CAA4CipB,iBAA7F,CAAP;AACD;;;0CAEiBC,c,EAAsB;AACtC,iBAAO,KAAKlpB,GAAL,CAA+C,yCAAyCkpB,cAAxF,CAAP;AACD;;;wCAEenpB,Q,EAAoC;AAClD,iBAAO,KAAK6H,IAAL,CAAgD,iCAAhD,EAAmF7H,QAAnF,CAAP;AACD;;;2CAEkBA,Q,EAAoC;AACrD,iBAAO,KAAK6H,IAAL,CAAgD,oCAAhD,EAAsF7H,QAAtF,CAAP;AACD;;;2DAEkCA,Q,EAAkC;AACnE,iBAAO,KAAK6H,IAAL,CAAgD,oDAAhD,EAAsG7H,QAAtG,CAAP;AACD;;;oDAE2BA,Q,EAAsC;AAChE,iBAAO,KAAK6H,IAAL,CAA8B,6CAA9B,EAA6E7H,QAA7E,CAAP;AACD;;;kDAEyBA,Q,EAAoC;AAC5D,iBAAO,KAAK6H,IAAL,CAAgD,2CAAhD,EAA6F7H,QAA7F,CAAP;AACD;;;mDAE0BmpB,c,EAAwB;AACjD,iBAAO,KAAKlpB,GAAL,CAAyD,gDAAgDkpB,cAAzG,CAAP;AACD;;;gDAEuBC,sB,EAAgC;AACtD,iBAAO,KAAKnpB,GAAL,CAAuD,iDAAiDmpB,sBAAxG,CAAP;AACD;;;wCAEeC,U,EAAoB;AAClC,iBAAO,KAAKppB,GAAL,CAAoD,qCAAqCopB,UAAzF,CAAP;AACD;;;mDAE0BC,oB,EAA4B;AACrD,iBAAO,KAAKrpB,GAAL,CAA6B,gDAAgDqpB,oBAA7E,CAAP;AACD;;;2CAEkBC,mB,EAA2B;AAC5C,iBAAO,KAAKtpB,GAAL,CAA6B,wCAAwCspB,mBAArE,CAAP;AACD;;;yDAEiCC,qB,EAA6B;AAC7D,iBAAO,KAAKvpB,GAAL,CAA6B,sDAAsDupB,qBAAnF,CAAP;AACD;;;mDAE2BA,qB,EAA6B;AACvD,iBAAO,KAAKvpB,GAAL,CAA6B,gDAAgDupB,qBAA7E,CAAP;AACD;;;sDAE6BjU,I,EAAgB;AAC5C,iBAAO,KAAK1N,IAAL,CAA8B,+CAA9B,EAA+E0N,IAA/E,CAAP;AACD;;;yDAEgCA,I,EAAgB;AAC/C,iBAAO,KAAK1N,IAAL,CAA8B,kDAA9B,EAAkF0N,IAAlF,CAAP;AACD;;;mDAE0B4T,c,EAAwB;AACjD,iBAAO,KAAKlpB,GAAL,CAAsD,gDAAgDkpB,cAAtG,CAAP;AACD;;;0DAEiCI,mB,EAA6B;AAC7D,iBAAO,KAAKtpB,GAAL,CAA6B,uDAAuDspB,mBAApF,CAAP;AACD;;;+CAEsBhU,I,EAAgB;AACrC,iBAAO,KAAK1N,IAAL,CAAuD,wCAAvD,EAAiG0N,IAAjG,CAAP;AACD;;;mDAE0BvV,Q,EAAkC;AAC3D,iBAAO,KAAK6H,IAAL,CAA8B,4CAA9B,EAA4E7H,QAA5E,CAAP;AACD;;;sDAE6BA,Q,EAAkC;AAC9D,iBAAO,KAAK6H,IAAL,CAA8B,+CAA9B,EAA+E7H,QAA/E,CAAP;AACD;;;qCAEYA,Q,EAAwB;AACnC,iBAAO,KAAKypB,gBAAL,CAAsB,8BAAtB,EAAsDzpB,QAAtD,CAAP,CADmC,CAEnC;AACA;AACD;;;wCACeA,Q,EAAwB;AACtC,iBAAO,KAAKypB,gBAAL,CAAsB,iCAAtB,EAAyDzpB,QAAzD,CAAP,CADsC,CAEtC;AACA;AACD;;;2CACkBA,Q,EAAwB;AACzC,iBAAO,KAAK6H,IAAL,CAA6B,oCAA7B,EAAmE7H,QAAnE,CAAP;AACD;;;8CACqBA,Q,EAAwB;AAC5C,iBAAO,KAAK6H,IAAL,CAA6B,uCAA7B,EAAsE7H,QAAtE,CAAP;AACD,S,CAED;;;;mEAC2C0pB,S,EAAmB;AAC5D,iBAAO,KAAKzpB,GAAL,CAA8D,gEAAgEypB,SAA9H,CAAP;AACD;;;8EACqD1pB,Q,EAA2C;AAC/F,iBAAO,KAAK6H,IAAL,CAA+D,uEAA/D,EAAyI7H,QAAzI,CAAP;AACD;;;uDAC8B0pB,S,EAAmB;AAChD,iBAAO,KAAKzpB,GAAL,CAAiD,oDAAoDypB,SAArG,CAAP;AACD;;;uDAE8BnoB,S,EAAmB;AAChD,iBAAO,KAAKtB,GAAL,CAA+D,8CAA8CsB,SAA7G,CAAP;AACD;;;8CACqB2nB,iB,EAAyB;AAC7C,iBAAO,KAAKjpB,GAAL,CAA6B,2CAA2CipB,iBAAxE,CAAP;AACD;;;2CAEkBC,c,EAAsB;AACvC,iBAAO,KAAKlpB,GAAL,CAA6B,wCAAwCkpB,cAArE,CAAP;AACD;;;sEAE6CnpB,Q,EAAsC;AAClF,iBAAO,KAAK6H,IAAL,CAA8B,mDAA9B,EAAmF7H,QAAnF,CAAP;AACD;;;2DAEkCuB,S,EAAmB;AACpD,iBAAO,KAAKtB,GAAL,CAA0D,wDAAwDsB,SAAlH,CAAP;AACD;;;sDAE6B4nB,c,EAAwB;AACpD,iBAAO,KAAKlpB,GAAL,CAA0D,mDAAmDkpB,cAA7G,CAAP;AACD;;;kDAEyB5nB,S,EAAmB;AAC3C,iBAAO,KAAKtB,GAAL,CAA2D,+CAA+CsB,SAA1G,CAAP;AACD;;;mDAC0BA,S,EAAmB;AAC5C,iBAAO,KAAKtB,GAAL,CAA2D,gDAAgDsB,SAA3G,CAAP;AACD;;;6DAEoC7B,M,EAAgB;AACnD,iBAAO,KAAKO,GAAL,CAA2D,0DAA0DP,MAArH,CAAP;AACD;;;8DAEqCA,M,EAAgB;AACpD,iBAAO,KAAKO,GAAL,CAA2D,2DAA2DP,MAAtH,CAAP;AACD;;;iDAEwBypB,c,EAAsB;AAC7C,iBAAO,KAAKlpB,GAAL,CAA4C,8CAA8CkpB,cAA1F,CAAP;AACD;;;4CAEmBI,mB,EAA2B;AAC7C,iBAAO,KAAKtpB,GAAL,CAAoD,yCAAyCspB,mBAA7F,CAAP;AACD;;;2DAEkCvpB,Q,EAA2C;AAC5E,iBAAO,KAAK6H,IAAL,CAAsD,oDAAtD,EAA6G7H,QAA7G,CAAP;AACD;;;mDAE0BmpB,c,EAAwBQ,S,EAAkB;AACnE,iBAAO,KAAK1pB,GAAL,CAAwD,gDAAgDkpB,cAAhD,GAAiE,GAAjE,GAAuEQ,SAA/H,CAAP;AACD;;;sCAEaC,sB,EAAgC;AAC5C,iBAAO,KAAK3pB,GAAL,CAAuC,mCAAmC2pB,sBAA1E,CAAP;AACD;;;+CAEsBA,sB,EAAgC3J,U,EAAoB;AACzE,iBAAO,KAAKhgB,GAAL,CAAuC,4CAA4C2pB,sBAA5C,GAAqE,GAArE,GAA2E3J,UAAlH,CAAP;AACD;;;yDAEgC4J,iB,EAA2B5J,U,EAAoB;AAC9E,iBAAO,KAAKhgB,GAAL,CAAyD,sDAAsD4pB,iBAAtD,GAA0E,GAA1E,GAAgF5J,UAAzI,CAAP;AACD,S,CAED;AACA;AACA;;;;8DACsCjgB,Q,EAAgD;AACpF,iBAAO,KAAK6H,IAAL,CAAwC,wDAAxC,EAAmG7H,QAAnG,CAAP;AACD;;;8CAEqBA,Q,EAAoC;AACxD,iBAAO,KAAK6H,IAAL,CAAyD,uCAAzD,EAAmG7H,QAAnG,CAAP;AACD;;;2DAEkCA,Q,EAAoB;AACrD,iBAAO,KAAK6H,IAAL,CAA8B,oDAA9B,EAAoF7H,QAApF,CAAP;AACD;;;;MA9OyC,yD;;;;;;;;;;;;;;;;;;;;;;;;AC3B5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAaa8pB,sB;;;;;AAEX,sCAAYrB,UAAZ,EAAoC;AAAA;;AAAA,mCAC5BA,UAD4B;AAEnC;;;;uCAEczoB,Q,EAAsC;AACnD,iBAAO,KAAK6H,IAAL,CAA6C,gCAA7C,EAAgF7H,QAAhF,CAAP;AACD;;;oDAE2BA,Q,EAAsC;AAChE,iBAAO,KAAK6H,IAAL,CAAqD,6CAArD,EAAqG7H,QAArG,CAAP;AACD;;;2CAEkBA,Q,EAAwC;AACzD,iBAAO,KAAK6H,IAAL,CAAmD,wCAAnD,EAA6F7H,QAA7F,CAAP;AACD;;;8CAEqBA,Q,EAAwC;AAC5D,iBAAO,KAAK6H,IAAL,CAAmD,2CAAnD,EAAgG7H,QAAhG,CAAP;AACD;;;+CAEsBA,Q,EAA+B;AACpD,iBAAO,KAAK6H,IAAL,CAAuD,wCAAvD,EAAiG7H,QAAjG,CAAP;AACD;;;sDAE6BA,Q,EAAsC;AAClE,iBAAO,KAAK6H,IAAL,CAA6C,+CAA7C,EAA8F7H,QAA9F,CAAP;AACD;;;8CAEqBA,Q,EAAsC;AAC1D,iBAAO,KAAK6H,IAAL,CAA6C,uCAA7C,EAAsF7H,QAAtF,CAAP;AACD;;;gDAEuBA,Q,EAAsC;AAC5D,iBAAO,KAAK6H,IAAL,CAAmD,yCAAnD,EAA8F7H,QAA9F,CAAP;AACD;;;mDAE0BA,Q,EAAsC;AAC/D,iBAAO,KAAK6H,IAAL,CAA6B,4CAA7B,EAA2E7H,QAA3E,CAAP;AACD;;;uDAE8B0pB,S,EAAmB;AAChD,iBAAO,KAAKzpB,GAAL,CAAoD,oDAAmDypB,SAAvG,CAAP;AACD;;;;MA5CyC,yD;;;;;;;;;;;;;;;;;;;;;;;;ACZ5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QASaK,sB;;;;;AAEX,sCAAYf,WAAZ,EAA6C1qB,MAA7C,EAA6D;AAAA;;AAAA;;AAC3D,sCAAM0qB,WAAN;AAD2C,gBAAA1qB,MAAA,GAAAA,MAAA;AAAgB;AAE5D;;;;oDAE2B;AAC1B,iBAAO,KAAK2B,GAAL,CAAoD,+CAApD,CAAP;AACD;;;+CAEsB0kB,Q,EAAgB;AACrC,iBAAO,KAAK1kB,GAAL,CAAkD,gDAA8C0kB,QAAhG,CAAP;AACD;;;2CAEkBqF,e,EAA4C;AAE7D,iBAAO,KAAKniB,IAAL,CAA0B,4CAA1B,EAAwEmiB,eAAxE,CAAP;AACD;;;8CAEqBA,e,EAA4C;AAChE,iBAAO,KAAKniB,IAAL,CAA0B,+CAA1B,EAA2EmiB,eAA3E,CAAP;AACD;;;8CAEqBrF,Q,EAAgB;AACpC,iBAAO,KAAK1kB,GAAL,CAA6B,mDAAiD0kB,QAA9E,CAAP;AACD;;;wDAE+B2D,a,EAAiC;AAC/D,iBAAO,KAAKzgB,IAAL,CAA8B,qDAA9B,EAAqFygB,aAArF,CAAP;AACD;;;uCAEc7hB,e,EAAmC;AAChD,iBAAO,KAAKoB,IAAL,CAA0B,oCAA1B,EAAgEpB,eAAhE,CAAP;AACD;;;8CAEqBke,Q,EAAgB;AACpC,iBAAO,KAAK9c,IAAL,CAA8B,+CAA6C8c,QAA3E,EAAqF,IAArF,CAAP;AACD;;;0DAEiC3kB,Q,EAA6B;AAC7D,iBAAO,KAAK6H,IAAL,CAAmD,uDAAnD,EAA4G7H,QAA5G,CAAP;AACD;;;sCAEaA,Q,EAA4B;AACxC,iBAAO,KAAK6H,IAAL,CAA0B,qDAA1B,EAAiF7H,QAAjF,CAAP;AACD;;;gDAEuB2kB,Q,EAAgB;AACtC,iBAAO,KAAK9c,IAAL,CAA0B,+CAA6C8c,QAAvE,EAAiF,IAAjF,CAAP;AACD;;;;MAjDyC,yD;;;;;;;;;;;;;;;;;;;;;;;;ACV5C;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAkBasF,W;;;;;AAEX,2BAAYjB,WAAZ,EAA6C3qB,iBAA7C,EACUC,MADV,EAC0B;AAAA;;AAAA;;AACxB,sCAAM0qB,WAAN;AAF2C,gBAAA3qB,iBAAA,GAAAA,iBAAA;AACnC,gBAAAC,MAAA,GAAAA,MAAA;AAAgB;AAEzB;;;;+BAEM0B,Q,EAAgC;AACrC,iBAAO,KAAK6H,IAAL,CAA4C,aAA5C,EAA2D7H,QAA3D,CAAP;AACD;;;gCAEOkqB,Q,EAAkBjrB,Q,EAAkB;AAC1C,cAAMkrB,QAAQ,GAAG,cAAcD,QAAd,GAAyB,YAAzB,GAAwCjrB,QAAxC,GAAmD,sBAApE;AAEA,iBAAO,KAAK4I,IAAL,CAA+C,OAA/C,EAAwDsiB,QAAxD,EAAkE,IAAI,gEAAJ,CACvE;AACE,4BAAgB;AADlB,WADuE,CAAlE,CAAP;AAID;;;kCAEmC;AAAA,cAA5BC,WAA4B,uEAAN,IAAM;AAClC,eAAK/rB,iBAAL,CAAuB8J,sBAAvB;AACA,eAAK7J,MAAL,CAAY+C,QAAZ,CAAqB,CAAC,QAAD,CAArB,EAFkC,CAIlC;AACD;;;uCAEcrB,Q,EAA+B;AAC5C,iBAAO,KAAK6H,IAAL,CAA0B,qBAA1B,EAAiD7H,QAAjD,CAAP;AACD;;;0DAEiCA,Q,EAA+B;AAC/D,iBAAO,KAAK6H,IAAL,CAA4C,wCAA5C,EAAsF7H,QAAtF,CAAP;AACD;;;sCAEaA,Q,EAA8B;AAC1C,iBAAO,KAAK6H,IAAL,CAA0B,oBAA1B,EAAgD7H,QAAhD,CAAP;AACD;;;sCAEaA,Q,EAAgC;AAC5C,iBAAO,KAAK6H,IAAL,CAA0B,oBAA1B,EAAgD7H,QAAhD,CAAP;AACD;;;uCAEcA,Q,EAA+B;AAC5C,iBAAO,KAAK6H,IAAL,CAA8B,qBAA9B,EAAqD7H,QAArD,CAAP;AACD;;;uCAEcA,Q,EAAoC;AACjD,iBAAO,KAAK6H,IAAL,CAAgD,qBAAhD,EAAuE7H,QAAvE,CAAP;AACD;;;oCAEWuB,S,EAAmB;AAC7B,iBAAO,KAAKtB,GAAL,CAA6C,qBAAqBsB,SAAlE,CAAP;AACD;;;iCAEQ7B,M,EAAgB;AACvB,iBAAO,KAAKO,GAAL,CAA2C,kBAAkBP,MAA7D,CAAP;AACD;;;iCAEQM,Q,EAAgC;AACvC,iBAAO,KAAK6H,IAAL,CAA8B,cAA9B,EAA8C7H,QAA9C,CAAP;AACD;;;mCAEUA,Q,EAAgC;AACzC,iBAAO,KAAK6H,IAAL,CAA8B,iBAA9B,EAAiD7H,QAAjD,CAAP;AACD;;;mCAEUN,M,EAAgB;AACzB,iBAAO,KAAKO,GAAL,CAA6B,qBAAqBP,MAAlD,CAAP;AACD;;;gDAEuBM,Q,EAAsC;AAC5D,iBAAO,KAAK6H,IAAL,CAA8B,+BAA9B,EAA+D7H,QAA/D,CAAP;AACD;;;2CAEkBA,Q,EAAgC;AACjD,iBAAO,KAAK6H,IAAL,CAA8B,uBAA9B,EAAuD7H,QAAvD,CAAP;AACD;;;2CAEkBN,M,EAAgB;AACjC,iBAAO,KAAKO,GAAL,CAAiD,6BAA6BP,MAA9E,CAAP;AACD,S,CAED;;;;gDACwB6B,S,EAAmB;AACzC,iBAAO,KAAKtB,GAAL,CAA6C,kCAAmCsB,SAAhF,CAAP;AACD;;;wDAE+BvB,Q,EAA2C;AACzE,iBAAO,KAAK6H,IAAL,CAA8C,sCAA9C,EAAuF7H,QAAvF,CAAP;AACD;;;oDAE2BN,M,EAAgB;AAC1C,iBAAO,KAAKmI,IAAL,CAA0B,sCAAoCnI,MAA9D,EAAsE,IAAtE,CAAP;AACD;;;;MA9F8B,yD;;;;;;;;;;;;;;;;;;;;;;;;ACnBjC;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;QAMa2qB,iB;AAEX,mCAAc;AAAA;AAAG;;;;8CAGE;AACjB,iBAAO9iB,IAAI,CAAC+iB,KAAL,CAAW,KAAKC,OAAL,CAAa,4DAAU/qB,gBAAvB,CAAX,CAAP;AACD;;;8CAEqBiI,W,EAAoC;AACxD,eAAK+iB,OAAL,CAAa,4DAAUhrB,gBAAvB,EAAyC+H,IAAI,CAACC,SAAL,CAAeC,WAAf,CAAzC;AACD;;;iDAEwB;AACvB,eAAKgjB,UAAL,CAAgB,4DAAUjrB,gBAA1B;AACD;;;gCAEO;AACNkrB,sBAAY,CAACC,KAAb;AACD;;;gCAEevL,G,EAAalf,K,EAAY;AACvCwqB,sBAAY,CAACF,OAAb,CAAqBpL,GAArB,EAA0Blf,KAA1B;AACD;;;mCAEkBkf,G,EAAa;AAC9BsL,sBAAY,CAACD,UAAb,CAAwBrL,GAAxB;AACD;;;gCAEeA,G,EAAa;AAC3B,iBAAOsL,YAAY,CAACH,OAAb,CAAqBnL,GAArB,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;AClCH;AAAA;;;AAAA;AAAA;AAAA;;QAAsBwL,a;AAMpB,+BAAc;AAAA;;AAFd,aAAAC,qBAAA,GAAwB,kBAAxB;AAIC;;;;sCAEgBtqB,M,EAAgF;AAAA,cAA1DuqB,SAA0D,uEAAlC,IAAkC;AAAA,cAA5BC,OAA4B,uEAAN,IAAM;;AACjG;AACE;AACA,cAAI,CAACxqB,MAAL,EAAa;AACX;AACD,WAL8F,CAO/F;;;AACA,cAAIA,MAAM,CAACE,SAAX,EAAsB;AACpB,gBAAIqqB,SAAJ,EAAe;AACbA,uBAAS;AACV;AACF,WAJD,CAKA;AACA;AACA;AAPA,eASK;AACHA,uBAAS,GADN,CAEH;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD;AACF;;;4CAGmB;AAAA;;AAClB1tB,gBAAM,CAACV,IAAP,CAAY,KAAKoD,IAAL,CAAUid,QAAtB,EAAgCxR,OAAhC,CAAwC,UAAC6T,GAAD,EAAS;AAC/C,mBAAI,CAACtf,IAAL,CAAUG,GAAV,CAAcmf,GAAd,EAAmBpB,aAAnB;AACD,WAFD;AAGD;;;iCAEQgN,W,EAAqBC,S,EAAmB;AAC/C,cAAMtpB,OAAO,GAAG,KAAK7B,IAAL,CAAUG,GAAV,CAAc+qB,WAAd,CAAhB;;AACA,cAAI,CAACrpB,OAAL,EAAc;AACZ,mBAAO,KAAP;AACD;;AAED,iBAAO,CAACA,OAAO,CAACupB,OAAR,IAAmBvpB,OAAO,CAACwpB,KAA5B,KAAsCxpB,OAAO,CAACypB,QAAR,CAAiBH,SAAjB,CAA7C;AACD;;;wCAEenqB,iB,EAAsC;AACpD,cAAIA,iBAAiB,CAACkH,KAAlB,IAA2BlH,iBAAiB,CAACkH,KAAlB,CAAwBqjB,gBAAvD,EAAyE;AACvE,mBAAOvqB,iBAAiB,CAACkH,KAAlB,CAAwBqjB,gBAA/B;AACD;;AAED,iBAAOvqB,iBAAiB,CAACpC,OAAzB;AACD;;;;;;;;;;;;;;;;;;;;;ACtEH;AAAA;;;AAAA;AAAA;AAAA;;QAAa4sB,e;;;;;;;qCACSC,U,EAAU;AAC5B,iBAAOnuB,MAAM,CAACV,IAAP,CAAY6uB,UAAZ,EACJzuB,GADI,CACA,UAAAsiB,GAAG;AAAA,mBAAK;AAAElf,mBAAK,EAAEkf,GAAT;AAAcphB,mBAAK,EAAEutB,UAAU,CAACnM,GAAD;AAA/B,aAAL;AAAA,WADH,CAAP;AAED;;;6CAC2BoM,U,EAAY;AACtC,cAAMC,QAAQ,GAAG,EAAjB;AACA,cAAM/uB,IAAI,GAAGU,MAAM,CAACV,IAAP,CAAY8uB,UAAZ,CAAb,CAFsC,CAGtC;AACA;AACA;;AAEA,mCAAgB9uB,IAAhB,2BAAsB;AAAjB,gBAAM0pB,CAAC,YAAP;AACHqF,oBAAQ,CAACzf,IAAT,CAAc;AAAEua,eAAC,EAAEmF,MAAL;AAAatM,iBAAG,EAAEgH,CAAlB;AAAqBlmB,mBAAK,EAAEsrB,UAAU,CAACpF,CAAD;AAAtC,aAAd;AACD;;AACD,iBAAOqF,QAAP;AACD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;QChBUE,S;;;;AACK,cAAAnsB,gBAAA,GAAmB,kBAAnB;AACA,cAAAosB,IAAA,GAAO,MAAP;AAET,cAAA9K,MAAA,IAAM;AAAA;AAAA,OACK,GAAAva,KAAA,GAAQ,OADb,EAEK,GAAA2jB,QAAA,GAAW,UAFhB,EAGK,GAAAjrB,QAAA,GAAW,UAHhB,E,EAAN;AAMA,cAAA8C,yBAAA,IAAyB;AAAA;AAAA,OACd,GAAA6X,MAAA,GAAS,QADK,EAGd,GAAA5X,IAAA,GAAO,MAHO,EAKd,GAAA6pB,MAAA,GAAS,QALK,E,EAAzB;;;;;;;;;;;;;;;;ACRT;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,e;;;;;;;mCAEOnqB,O,EAAwB;AACxC,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAM6rB,YAAY,GAAGpqB,OAAO,CAACzB,KAA7B;AACA,gBAAI6rB,YAAY,CAAC7d,QAAb,GAAwBuL,IAAxB,GAA+B5W,MAA/B,GAAwC,CAA5C,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEhB,wBAAU,EAAE;AAAd,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;uCAEqBF,O,EAAwB;AAC5C,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAM8rB,WAAW,GAAG,eAApB;AACA,gBAAIA,WAAW,CAACC,IAAZ,CAAiBtqB,OAAO,CAACzB,KAAzB,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEob,6BAAe,EAAE;AAAnB,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;yCAEuB3Z,O,EAAwB;AAC9C,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAM8rB,WAAW,GAAG,mBAApB;AACA,gBAAIA,WAAW,CAACC,IAAZ,CAAiBtqB,OAAO,CAACzB,KAAzB,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEob,6BAAe,EAAE;AAAnB,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;4BAEU3Z,O,EAAwB;AACjC,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAMgsB,YAAY,GAAG,mKAArB;AACA,gBAAIA,YAAY,CAACD,IAAb,CAAkBtqB,OAAO,CAACzB,KAA1B,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEisB,sBAAQ,EAAE;AAAZ,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;wCAEsBxqB,O,EAAwB;AAC7C,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAM8rB,WAAW,GAAG,wEAApB;AACA,gBAAIA,WAAW,CAACC,IAAZ,CAAiBtqB,OAAO,CAACzB,KAAzB,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEksB,iCAAmB,EAAE;AAAvB,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;8BAEYzqB,O,EAAwB;AACnC,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAM8rB,WAAW,GAAG,gDAApB;AACA,gBAAIA,WAAW,CAACC,IAAZ,CAAiBtqB,OAAO,CAACzB,KAAzB,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEqG,mBAAK,EAAE;AAAT,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;sCAEoB8lB,e,EAAyBC,sB,EAA8B;AAC1E,iBAAO,UAAC3qB,OAAD,EAA2D;AAChE,gBAAI4qB,aAAa,GAAG5qB,OAAO,CAACob,QAAR,CAAiBsP,eAAjB,CAApB;AACA,gBAAIG,oBAAoB,GAAG7qB,OAAO,CAACob,QAAR,CAAiBuP,sBAAjB,CAA3B;AACA,gBAAIC,aAAa,IAAI,IAAjB,IAAyBC,oBAAoB,IAAI,IAArD,EACE,OAAO,IAAP;AAEF,gBAAMvtB,QAAQ,GAAWstB,aAAa,CAACrsB,KAAvC;AACA,gBAAMpB,eAAe,GAAW0tB,oBAAoB,CAACtsB,KAArD;;AAEA,gBAAIjB,QAAQ,IAAIH,eAAhB,EAAiC;AAC/B,kBAAIG,QAAQ,IAAIH,eAAhB,EACE,OAAO,IAAP;AAEF,qBAAO;AAAEM,kCAAkB,EAAE;AAAtB,eAAP;AACD,aALD,MAOE,OAAO,IAAP;AACH,WAjBD;AAkBD;;;oCAEkBuC,O,EAAwB;AACzC,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAMusB,aAAa,GAAG,uBAAtB;AACA,gBAAIA,aAAa,CAACR,IAAd,CAAmBtqB,OAAO,CAACzB,KAA3B,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEqb,yBAAW,EAAE;AAAf,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;qCAEmB5Z,O,EAAwB;AAC1C,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAMusB,aAAa,GAAG,oBAAtB;AACA,gBAAIA,aAAa,CAACR,IAAd,CAAmBtqB,OAAO,CAACzB,KAA3B,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEqb,yBAAW,EAAE;AAAf,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;0CAEwB5Z,O,EAAwB;AAC/C,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAMusB,aAAa,GAAG,aAAtB;AACA,gBAAIA,aAAa,CAACR,IAAd,CAAmBtqB,OAAO,CAACzB,KAA3B,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEob,6BAAe,EAAE;AAAnB,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;oCACkB3Z,O,EAAwB;AACzC,cAAIA,OAAO,CAACzB,KAAZ,EAAmB;AACjB,gBAAMusB,aAAa,GAAG,mCAAtB;AACA,gBAAIA,aAAa,CAACR,IAAd,CAAmBtqB,OAAO,CAACzB,KAA3B,CAAJ,EACE,OAAO,IAAP;AAEF,mBAAO;AAAEqb,yBAAW,EAAE;AAAf,aAAP;AACD,WAND,MAQE,OAAO,IAAP;AACH;;;;;;;;;;;;;;;;;;;;;AC9IH;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAAA,QAAYmR,QAAZ;;AAAA,eAAYA,QAAZ,EAAoB;AAClB;AACA;AACA;AACD,KAJD,EAAYA,QAAQ,KAARA,QAAQ,MAApB;;AAMA,QAAYC,cAAZ;;AAAA,eAAYA,cAAZ,EAA0B;AACxB;AACA;AACA;AACA;AACA;AACD,KAND,EAAYA,cAAc,KAAdA,cAAc,MAA1B;;AAQA,QAAYpS,gBAAZ;;AAAA,eAAYA,gBAAZ,EAA4B;AAC1B;AACA;AACD,KAHD,EAAYA,gBAAgB,KAAhBA,gBAAgB,MAA5B;;AAKA,QAAYqS,iBAAZ;;AAAA,eAAYA,iBAAZ,EAA6B;AAC3B;AACA;AACA,qDAH2B,CAI3B;AACA;AACD,KAND,EAAYA,iBAAiB,KAAjBA,iBAAiB,MAA7B;;AAQA,QAAYC,2BAAZ;;AAAA,eAAYA,2BAAZ,EAAuC;AACrC;AACA;AACA;AACA;AACA;AACD,KAND,EAAYA,2BAA2B,KAA3BA,2BAA2B,MAAvC;;AAQA,QAAYC,cAAZ;;AAAA,eAAYA,cAAZ,EAA0B;AACxB;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACD,KAVD,EAAYA,cAAc,KAAdA,cAAc,MAA1B;;AAWA,QAAYC,yBAAZ;;AAAA,eAAYA,yBAAZ,EAAqC;AACnC;AACA;AACA;AACD,KAJD,EAAYA,yBAAyB,KAAzBA,yBAAyB,MAArC;;AAMA,QAAYC,uBAAZ;;AAAA,eAAYA,uBAAZ,EAAmC;AACjC;AACA;AACA;AACD,KAJD,EAAYA,uBAAuB,KAAvBA,uBAAuB,MAAnC;;;;;;;;;;;;;;;;;ACzCA;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,kB;AAGX,kCAAoB5uB,iBAApB,EAA0D;AAAA;;AAAtC,aAAAA,iBAAA,GAAAA,iBAAA;AAFpB,aAAA6uB,IAAA,GAAsB,CAAC,SAAD,EAAY,iBAAZ,EAA+B,oCAA/B,EAAqE,gBAArE,EAAsF,UAAtF,CAAtB;AACA,aAAAC,OAAA,GAAmB,KAAnB;AAC4D;;;;kCAElDC,O,EAA2B/tB,I,EAAiB;AAAA;;AACpD,cAAI2H,KAAK,GAAG,EAAZ;;AACA,cAAI,KAAK3I,iBAAL,CAAuBoB,mBAAvB,EAAJ,EAAkD;AAChDuH,iBAAK,GAAG,KAAK3I,iBAAL,CAAuBoB,mBAAvB,GAA6CuH,KAArD;AACD;;AAED,eAAKmmB,OAAL,GAAe,KAAf;AACA,eAAKD,IAAL,CAAU3hB,OAAV,CAAkB,UAAAxG,CAAC,EAAI;AACrB,gBAAIqoB,OAAO,CAAC9rB,GAAR,CAAYqD,WAAZ,GAA0BL,QAA1B,CAAmCS,CAAC,CAACJ,WAAF,EAAnC,CAAJ,EAAyD;AACvD,qBAAI,CAACwoB,OAAL,GAAe,IAAf;AACA;AACD;AACF,WALD;;AAMA,cAAInmB,KAAK,IAAI,EAAT,IAAe,CAAC,KAAKmmB,OAAzB,EAAkC;AAChCC,mBAAO,GAAGA,OAAO,CAACC,KAAR,CAAc;AACtBC,wBAAU,EAAE;AACVC,6BAAa,mBAAYvmB,KAAZ;AADH;AADU,aAAd,CAAV;AAOD;;AACD,iBAAO3H,IAAI,CAACmuB,MAAL,CAAYJ,OAAZ,CAAP;AACD;;;;;;;;;;;;;;;;;;;;;ACuBH;AAAA;;;AAAA;AAAA;AAAA;;QAAaK,Y;;;;;;;;;;;;;;;;;;;AC9Db;AAAA;;;AAAA;AAAA;AAAA;;QAAaC,I;AAQX,sBAAc;AAAA;;AANN,aAAAC,SAAA,GAAY,CAAZ;AACA,aAAAC,QAAA,GAAW,IAAIC,IAAI,CAACC,QAAT,CAAkB3hB,SAAlB,EAA6B;AAC5C4hB,iBAAO,EAAE,IADmC;AAE5CC,qBAAW,EAAE;AAF+B,SAA7B,CAAX;AAKS;;;;kCAEAhoB,Q,EAAUH,K,EAAkB;AAAA;;AAAA,cAAXE,IAAW,uEAAJ,EAAI;;AAEzC,cAAIF,KAAK,KAAK,MAAd,EAAsB;AAClB,iBAAK8nB,SAAL,GAAiB,CAAC,CAAlB;AACH;;AACD,iBAAO,UAACnpB,CAAD,EAAIC,CAAJ,EAAU;AACb,gBAAIsB,IAAI,KAAK,MAAb,EAAqB;AACjB,qBAAO,OAAI,CAACkoB,QAAL,CAAc,IAAIve,IAAJ,CAASlL,CAAC,CAACwB,QAAD,CAAV,CAAd,EAAqC,IAAI0J,IAAJ,CAASjL,CAAC,CAACuB,QAAD,CAAV,CAArC,CAAP;AACH,aAFD,MAEO;AACH,qBAAO,OAAI,CAAC4nB,QAAL,CAAcM,OAAd,CAAsB1pB,CAAC,CAACwB,QAAD,CAAvB,EAAmCvB,CAAC,CAACuB,QAAD,CAApC,IAAkD,OAAI,CAAC2nB,SAA9D;AACH;AACJ,WAND;AAOH;;;iCAEgBnpB,C,EAAGC,C,EAAG;AACnB,cAAID,CAAC,GAAGC,CAAR,EAAW;AACP,mBAAO,CAAC,CAAD,GAAK,KAAKkpB,SAAjB;AACH,WAFD,MAEO,IAAInpB,CAAC,GAAGC,CAAR,EAAW;AACd,mBAAO,IAAI,KAAKkpB,SAAhB;AACH,WAFM,MAEA;AACH,mBAAO,IAAI,KAAKA,SAAhB;AACH;AACJ;;;;;;;;;;;;;;;;;;;;;AChCH;AAAA;;;AAAA;AAAA;AAAA,O,CAAA;AACA;AACA;;;AAEO,QAAMQ,WAAW,GAAG;AACzBC,gBAAU,EAAE,IADa;AAEzBzmB,gBAAU,EAAE,iCAFa;AAGzBiL,aAAO,EAAE,6BAHgB;AAIzByb,YAAM,EAAE,6BAJiB;AAMzB;AACA;AACA;AACAC,4BAAsB,EAAE,IATC;AAUzBC,4BAAsB,EAAE,IAVC;AAWzBC,0BAAoB,EAAE,KAXG;AAYzB;AACAC,oBAAc,EAAE,EAbS;AAczBttB,qBAAe,EAAE;AAdQ,KAApB;AAiBP;;;;;;;AAOA;;;;;;;;;;;;;;;;;AC5BA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;AAAA;;;AAAA;AAAA;AAAA;;AAMA,QAAI,sEAAYitB,UAAhB,EAA4B;AAC1B;AACD;;AAED,gFAAyB,sBAAzB,CAAyC,4EAAzC,WACS,UAAAM,GAAG;AAAA,aAAI9d,OAAO,CAAC5I,KAAR,CAAc0mB,GAAd,CAAJ;AAAA,KADZ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACVA;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;ACAA;;;;;;;;;;;;;;;ACAA","file":"main-es5.js","sourcesContent":["function webpackEmptyAsyncContext(req) {\n\t// Here Promise.resolve().then() is used instead of new Promise() to prevent\n\t// uncaught exception popping up in devtools\n\treturn Promise.resolve().then(function() {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t});\n}\nwebpackEmptyAsyncContext.keys = function() { return []; };\nwebpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext;\nmodule.exports = webpackEmptyAsyncContext;\nwebpackEmptyAsyncContext.id = \"./$$_lazy_route_resource lazy recursive\";","var map = {\n\t\"./af\": \"./node_modules/moment/locale/af.js\",\n\t\"./af.js\": \"./node_modules/moment/locale/af.js\",\n\t\"./ar\": \"./node_modules/moment/locale/ar.js\",\n\t\"./ar-dz\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-dz.js\": \"./node_modules/moment/locale/ar-dz.js\",\n\t\"./ar-kw\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-kw.js\": \"./node_modules/moment/locale/ar-kw.js\",\n\t\"./ar-ly\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ly.js\": \"./node_modules/moment/locale/ar-ly.js\",\n\t\"./ar-ma\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-ma.js\": \"./node_modules/moment/locale/ar-ma.js\",\n\t\"./ar-sa\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-sa.js\": \"./node_modules/moment/locale/ar-sa.js\",\n\t\"./ar-tn\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar-tn.js\": \"./node_modules/moment/locale/ar-tn.js\",\n\t\"./ar.js\": \"./node_modules/moment/locale/ar.js\",\n\t\"./az\": \"./node_modules/moment/locale/az.js\",\n\t\"./az.js\": \"./node_modules/moment/locale/az.js\",\n\t\"./be\": \"./node_modules/moment/locale/be.js\",\n\t\"./be.js\": \"./node_modules/moment/locale/be.js\",\n\t\"./bg\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bg.js\": \"./node_modules/moment/locale/bg.js\",\n\t\"./bm\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bm.js\": \"./node_modules/moment/locale/bm.js\",\n\t\"./bn\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bn-bd\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn-bd.js\": \"./node_modules/moment/locale/bn-bd.js\",\n\t\"./bn.js\": \"./node_modules/moment/locale/bn.js\",\n\t\"./bo\": \"./node_modules/moment/locale/bo.js\",\n\t\"./bo.js\": \"./node_modules/moment/locale/bo.js\",\n\t\"./br\": \"./node_modules/moment/locale/br.js\",\n\t\"./br.js\": \"./node_modules/moment/locale/br.js\",\n\t\"./bs\": \"./node_modules/moment/locale/bs.js\",\n\t\"./bs.js\": \"./node_modules/moment/locale/bs.js\",\n\t\"./ca\": \"./node_modules/moment/locale/ca.js\",\n\t\"./ca.js\": \"./node_modules/moment/locale/ca.js\",\n\t\"./cs\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cs.js\": \"./node_modules/moment/locale/cs.js\",\n\t\"./cv\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cv.js\": \"./node_modules/moment/locale/cv.js\",\n\t\"./cy\": \"./node_modules/moment/locale/cy.js\",\n\t\"./cy.js\": \"./node_modules/moment/locale/cy.js\",\n\t\"./da\": \"./node_modules/moment/locale/da.js\",\n\t\"./da.js\": \"./node_modules/moment/locale/da.js\",\n\t\"./de\": \"./node_modules/moment/locale/de.js\",\n\t\"./de-at\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-at.js\": \"./node_modules/moment/locale/de-at.js\",\n\t\"./de-ch\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de-ch.js\": \"./node_modules/moment/locale/de-ch.js\",\n\t\"./de.js\": \"./node_modules/moment/locale/de.js\",\n\t\"./dv\": \"./node_modules/moment/locale/dv.js\",\n\t\"./dv.js\": \"./node_modules/moment/locale/dv.js\",\n\t\"./el\": \"./node_modules/moment/locale/el.js\",\n\t\"./el.js\": \"./node_modules/moment/locale/el.js\",\n\t\"./en-au\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-au.js\": \"./node_modules/moment/locale/en-au.js\",\n\t\"./en-ca\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-ca.js\": \"./node_modules/moment/locale/en-ca.js\",\n\t\"./en-gb\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-gb.js\": \"./node_modules/moment/locale/en-gb.js\",\n\t\"./en-ie\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-ie.js\": \"./node_modules/moment/locale/en-ie.js\",\n\t\"./en-il\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-il.js\": \"./node_modules/moment/locale/en-il.js\",\n\t\"./en-in\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-in.js\": \"./node_modules/moment/locale/en-in.js\",\n\t\"./en-nz\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-nz.js\": \"./node_modules/moment/locale/en-nz.js\",\n\t\"./en-sg\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./en-sg.js\": \"./node_modules/moment/locale/en-sg.js\",\n\t\"./eo\": \"./node_modules/moment/locale/eo.js\",\n\t\"./eo.js\": \"./node_modules/moment/locale/eo.js\",\n\t\"./es\": \"./node_modules/moment/locale/es.js\",\n\t\"./es-do\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-do.js\": \"./node_modules/moment/locale/es-do.js\",\n\t\"./es-mx\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-mx.js\": \"./node_modules/moment/locale/es-mx.js\",\n\t\"./es-us\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es-us.js\": \"./node_modules/moment/locale/es-us.js\",\n\t\"./es.js\": \"./node_modules/moment/locale/es.js\",\n\t\"./et\": \"./node_modules/moment/locale/et.js\",\n\t\"./et.js\": \"./node_modules/moment/locale/et.js\",\n\t\"./eu\": \"./node_modules/moment/locale/eu.js\",\n\t\"./eu.js\": \"./node_modules/moment/locale/eu.js\",\n\t\"./fa\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fa.js\": \"./node_modules/moment/locale/fa.js\",\n\t\"./fi\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fi.js\": \"./node_modules/moment/locale/fi.js\",\n\t\"./fil\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fil.js\": \"./node_modules/moment/locale/fil.js\",\n\t\"./fo\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fo.js\": \"./node_modules/moment/locale/fo.js\",\n\t\"./fr\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fr-ca\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ca.js\": \"./node_modules/moment/locale/fr-ca.js\",\n\t\"./fr-ch\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr-ch.js\": \"./node_modules/moment/locale/fr-ch.js\",\n\t\"./fr.js\": \"./node_modules/moment/locale/fr.js\",\n\t\"./fy\": \"./node_modules/moment/locale/fy.js\",\n\t\"./fy.js\": \"./node_modules/moment/locale/fy.js\",\n\t\"./ga\": \"./node_modules/moment/locale/ga.js\",\n\t\"./ga.js\": \"./node_modules/moment/locale/ga.js\",\n\t\"./gd\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gd.js\": \"./node_modules/moment/locale/gd.js\",\n\t\"./gl\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gl.js\": \"./node_modules/moment/locale/gl.js\",\n\t\"./gom-deva\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-deva.js\": \"./node_modules/moment/locale/gom-deva.js\",\n\t\"./gom-latn\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gom-latn.js\": \"./node_modules/moment/locale/gom-latn.js\",\n\t\"./gu\": \"./node_modules/moment/locale/gu.js\",\n\t\"./gu.js\": \"./node_modules/moment/locale/gu.js\",\n\t\"./he\": \"./node_modules/moment/locale/he.js\",\n\t\"./he.js\": \"./node_modules/moment/locale/he.js\",\n\t\"./hi\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hi.js\": \"./node_modules/moment/locale/hi.js\",\n\t\"./hr\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hr.js\": \"./node_modules/moment/locale/hr.js\",\n\t\"./hu\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hu.js\": \"./node_modules/moment/locale/hu.js\",\n\t\"./hy-am\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./hy-am.js\": \"./node_modules/moment/locale/hy-am.js\",\n\t\"./id\": \"./node_modules/moment/locale/id.js\",\n\t\"./id.js\": \"./node_modules/moment/locale/id.js\",\n\t\"./is\": \"./node_modules/moment/locale/is.js\",\n\t\"./is.js\": \"./node_modules/moment/locale/is.js\",\n\t\"./it\": \"./node_modules/moment/locale/it.js\",\n\t\"./it-ch\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it-ch.js\": \"./node_modules/moment/locale/it-ch.js\",\n\t\"./it.js\": \"./node_modules/moment/locale/it.js\",\n\t\"./ja\": \"./node_modules/moment/locale/ja.js\",\n\t\"./ja.js\": \"./node_modules/moment/locale/ja.js\",\n\t\"./jv\": \"./node_modules/moment/locale/jv.js\",\n\t\"./jv.js\": \"./node_modules/moment/locale/jv.js\",\n\t\"./ka\": \"./node_modules/moment/locale/ka.js\",\n\t\"./ka.js\": \"./node_modules/moment/locale/ka.js\",\n\t\"./kk\": \"./node_modules/moment/locale/kk.js\",\n\t\"./kk.js\": \"./node_modules/moment/locale/kk.js\",\n\t\"./km\": \"./node_modules/moment/locale/km.js\",\n\t\"./km.js\": \"./node_modules/moment/locale/km.js\",\n\t\"./kn\": \"./node_modules/moment/locale/kn.js\",\n\t\"./kn.js\": \"./node_modules/moment/locale/kn.js\",\n\t\"./ko\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ko.js\": \"./node_modules/moment/locale/ko.js\",\n\t\"./ku\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ku.js\": \"./node_modules/moment/locale/ku.js\",\n\t\"./ky\": \"./node_modules/moment/locale/ky.js\",\n\t\"./ky.js\": \"./node_modules/moment/locale/ky.js\",\n\t\"./lb\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lb.js\": \"./node_modules/moment/locale/lb.js\",\n\t\"./lo\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lo.js\": \"./node_modules/moment/locale/lo.js\",\n\t\"./lt\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lt.js\": \"./node_modules/moment/locale/lt.js\",\n\t\"./lv\": \"./node_modules/moment/locale/lv.js\",\n\t\"./lv.js\": \"./node_modules/moment/locale/lv.js\",\n\t\"./me\": \"./node_modules/moment/locale/me.js\",\n\t\"./me.js\": \"./node_modules/moment/locale/me.js\",\n\t\"./mi\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mi.js\": \"./node_modules/moment/locale/mi.js\",\n\t\"./mk\": \"./node_modules/moment/locale/mk.js\",\n\t\"./mk.js\": \"./node_modules/moment/locale/mk.js\",\n\t\"./ml\": \"./node_modules/moment/locale/ml.js\",\n\t\"./ml.js\": \"./node_modules/moment/locale/ml.js\",\n\t\"./mn\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mn.js\": \"./node_modules/moment/locale/mn.js\",\n\t\"./mr\": \"./node_modules/moment/locale/mr.js\",\n\t\"./mr.js\": \"./node_modules/moment/locale/mr.js\",\n\t\"./ms\": \"./node_modules/moment/locale/ms.js\",\n\t\"./ms-my\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms-my.js\": \"./node_modules/moment/locale/ms-my.js\",\n\t\"./ms.js\": \"./node_modules/moment/locale/ms.js\",\n\t\"./mt\": \"./node_modules/moment/locale/mt.js\",\n\t\"./mt.js\": \"./node_modules/moment/locale/mt.js\",\n\t\"./my\": \"./node_modules/moment/locale/my.js\",\n\t\"./my.js\": \"./node_modules/moment/locale/my.js\",\n\t\"./nb\": \"./node_modules/moment/locale/nb.js\",\n\t\"./nb.js\": \"./node_modules/moment/locale/nb.js\",\n\t\"./ne\": \"./node_modules/moment/locale/ne.js\",\n\t\"./ne.js\": \"./node_modules/moment/locale/ne.js\",\n\t\"./nl\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nl-be\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl-be.js\": \"./node_modules/moment/locale/nl-be.js\",\n\t\"./nl.js\": \"./node_modules/moment/locale/nl.js\",\n\t\"./nn\": \"./node_modules/moment/locale/nn.js\",\n\t\"./nn.js\": \"./node_modules/moment/locale/nn.js\",\n\t\"./oc-lnc\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./oc-lnc.js\": \"./node_modules/moment/locale/oc-lnc.js\",\n\t\"./pa-in\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pa-in.js\": \"./node_modules/moment/locale/pa-in.js\",\n\t\"./pl\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pl.js\": \"./node_modules/moment/locale/pl.js\",\n\t\"./pt\": \"./node_modules/moment/locale/pt.js\",\n\t\"./pt-br\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt-br.js\": \"./node_modules/moment/locale/pt-br.js\",\n\t\"./pt.js\": \"./node_modules/moment/locale/pt.js\",\n\t\"./ro\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ro.js\": \"./node_modules/moment/locale/ro.js\",\n\t\"./ru\": \"./node_modules/moment/locale/ru.js\",\n\t\"./ru.js\": \"./node_modules/moment/locale/ru.js\",\n\t\"./sd\": \"./node_modules/moment/locale/sd.js\",\n\t\"./sd.js\": \"./node_modules/moment/locale/sd.js\",\n\t\"./se\": \"./node_modules/moment/locale/se.js\",\n\t\"./se.js\": \"./node_modules/moment/locale/se.js\",\n\t\"./si\": \"./node_modules/moment/locale/si.js\",\n\t\"./si.js\": \"./node_modules/moment/locale/si.js\",\n\t\"./sk\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sk.js\": \"./node_modules/moment/locale/sk.js\",\n\t\"./sl\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sl.js\": \"./node_modules/moment/locale/sl.js\",\n\t\"./sq\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sq.js\": \"./node_modules/moment/locale/sq.js\",\n\t\"./sr\": \"./node_modules/moment/locale/sr.js\",\n\t\"./sr-cyrl\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr-cyrl.js\": \"./node_modules/moment/locale/sr-cyrl.js\",\n\t\"./sr.js\": \"./node_modules/moment/locale/sr.js\",\n\t\"./ss\": \"./node_modules/moment/locale/ss.js\",\n\t\"./ss.js\": \"./node_modules/moment/locale/ss.js\",\n\t\"./sv\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sv.js\": \"./node_modules/moment/locale/sv.js\",\n\t\"./sw\": \"./node_modules/moment/locale/sw.js\",\n\t\"./sw.js\": \"./node_modules/moment/locale/sw.js\",\n\t\"./ta\": \"./node_modules/moment/locale/ta.js\",\n\t\"./ta.js\": \"./node_modules/moment/locale/ta.js\",\n\t\"./te\": \"./node_modules/moment/locale/te.js\",\n\t\"./te.js\": \"./node_modules/moment/locale/te.js\",\n\t\"./tet\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tet.js\": \"./node_modules/moment/locale/tet.js\",\n\t\"./tg\": \"./node_modules/moment/locale/tg.js\",\n\t\"./tg.js\": \"./node_modules/moment/locale/tg.js\",\n\t\"./th\": \"./node_modules/moment/locale/th.js\",\n\t\"./th.js\": \"./node_modules/moment/locale/th.js\",\n\t\"./tk\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tk.js\": \"./node_modules/moment/locale/tk.js\",\n\t\"./tl-ph\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tl-ph.js\": \"./node_modules/moment/locale/tl-ph.js\",\n\t\"./tlh\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tlh.js\": \"./node_modules/moment/locale/tlh.js\",\n\t\"./tr\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tr.js\": \"./node_modules/moment/locale/tr.js\",\n\t\"./tzl\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzl.js\": \"./node_modules/moment/locale/tzl.js\",\n\t\"./tzm\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./tzm-latn\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm-latn.js\": \"./node_modules/moment/locale/tzm-latn.js\",\n\t\"./tzm.js\": \"./node_modules/moment/locale/tzm.js\",\n\t\"./ug-cn\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./ug-cn.js\": \"./node_modules/moment/locale/ug-cn.js\",\n\t\"./uk\": \"./node_modules/moment/locale/uk.js\",\n\t\"./uk.js\": \"./node_modules/moment/locale/uk.js\",\n\t\"./ur\": \"./node_modules/moment/locale/ur.js\",\n\t\"./ur.js\": \"./node_modules/moment/locale/ur.js\",\n\t\"./uz\": \"./node_modules/moment/locale/uz.js\",\n\t\"./uz-latn\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz-latn.js\": \"./node_modules/moment/locale/uz-latn.js\",\n\t\"./uz.js\": \"./node_modules/moment/locale/uz.js\",\n\t\"./vi\": \"./node_modules/moment/locale/vi.js\",\n\t\"./vi.js\": \"./node_modules/moment/locale/vi.js\",\n\t\"./x-pseudo\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./x-pseudo.js\": \"./node_modules/moment/locale/x-pseudo.js\",\n\t\"./yo\": \"./node_modules/moment/locale/yo.js\",\n\t\"./yo.js\": \"./node_modules/moment/locale/yo.js\",\n\t\"./zh-cn\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-cn.js\": \"./node_modules/moment/locale/zh-cn.js\",\n\t\"./zh-hk\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-hk.js\": \"./node_modules/moment/locale/zh-hk.js\",\n\t\"./zh-mo\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-mo.js\": \"./node_modules/moment/locale/zh-mo.js\",\n\t\"./zh-tw\": \"./node_modules/moment/locale/zh-tw.js\",\n\t\"./zh-tw.js\": \"./node_modules/moment/locale/zh-tw.js\"\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 = \"./node_modules/moment/locale sync recursive ^\\\\.\\\\/.*$\";","import { NgModule } from '@angular/core';\r\nimport { Routes, RouterModule } from '@angular/router';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { MyProfileComponent } from './my-profile/my-profile.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { AuthenticationGuard } from './guard/authentication.guard';\r\nimport { GroupComponent } from './customer/group/group.component';\r\nimport { GroupManageComponent } from './customer/group/group-manage/group-manage.component';\r\nimport { CompanyComponent } from './inception/company/company.component';\r\nimport { CompanyManageComponent } from './inception/company/company-manage/company-manage.component';\r\nimport { DocumentCabinetComponent } from './document-cabinet/document-cabinet.component';\r\nimport { DocumentThemeSetupComponent } from './document-cabinet/document-theme-setup/document-theme-setup.component';\r\nimport { ManageDocumentCabinetComponent } from './document-cabinet/manage-document-cabinet/manage-document-cabinet.component';\r\nimport { UserComponent } from './customer/user/user.component';\r\nimport { UserManageComponent } from './customer/user/user-manage/user-manage.component';\r\nimport { PermissionComponent } from './customer/permission/permission.component';\r\nimport { ManageDocuwareCabinetComponent } from './document-cabinet/manage-docuware-cabinet/manage-docuware-cabinet.component';\r\nimport { DocumentTypeDocumentComponent } from './document-cabinet/document-type-document/document-type-document.component';\r\nimport { ManageDocumentTypeDocumentComponent } from './document-cabinet/manage-document-type-document/manage-document-type-document.component';\r\nimport { InceptionCustomWebPageComponent } from './inception-custom-web-page/inception-custom-web-page.component';\r\nimport { DocumentInboxComponent } from './document-cabinet/document-inbox/document-inbox.component';\r\nimport { TileDocumentCabinetComponent } from './document-cabinet/tile-document-cabinet/tile-document-cabinet.component';\r\nimport { TileDocumentTypeComponent } from './document-cabinet/tile-document-type/tile-document-type.component';\r\nimport { MigrationCLientComponent } from './new-workflow-design/migration-client/migration-client.component';\r\nimport { ResetMigrationClientPasswordComponent } from './reset-migration-client-password/reset-migration-client-password.component';\r\nimport { ForgotMigrationClientPasswordComponent } from './forgot-migration-client-password/forgot-migration-client-password.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: 'login',\r\n component: LoginComponent\r\n },\r\n {\r\n path: 'forgot-password',\r\n component: ForgotPasswordComponent\r\n },\r\n // {\r\n // path: 'municipality-accounts',\r\n // canActivate: [AuthenticationGuard],\r\n // component: MunicipalityAccountsComponent\r\n // },\r\n // {\r\n // path: 'municipality-account/add',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageComponent\r\n // },\r\n // {\r\n // path: 'municipality-account/edit/:id',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageComponent\r\n // },\r\n // {\r\n // path: 'municipality-account/add-customer',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageCustomerComponent\r\n // },\r\n // {\r\n // path: 'manage-cabinet/:id',\r\n // canActivate: [AuthenticationGuard],\r\n // component: ManageCabinetsComponent\r\n // },\r\n {\r\n path: 'reset-password/:queryString',\r\n component: ResetPasswordComponent\r\n },\r\n {\r\n path: 'my-profile',\r\n canActivate: [AuthenticationGuard],\r\n component: MyProfileComponent\r\n },\r\n {\r\n path: 'change-password',\r\n canActivate: [AuthenticationGuard],\r\n component: ChangePasswordComponent\r\n },\r\n {\r\n path: 'custom-webpage/:queryString',\r\n component: InceptionCustomWebPageComponent\r\n },\r\n {\r\n path: 'docuware-migration-subscription',\r\n component: MigrationCLientComponent\r\n },\r\n {\r\n path: 'reset-client-password/:queryString',\r\n component: ResetMigrationClientPasswordComponent\r\n },\r\n {\r\n path: 'forgot-client-password',\r\n component: ForgotMigrationClientPasswordComponent\r\n },\r\n {\r\n path: 'company',\r\n canActivate: [AuthenticationGuard],\r\n children: [\r\n { path : '' , component: CompanyComponent},\r\n // {\r\n // path: 'add',\r\n // component: CompanyManageComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet',\r\n // component: TileDocumentCabinetComponent\r\n // },\r\n // {\r\n // // path: ':id/document-cabinet/:documentcabinetid/document-type',\r\n // path: ':id/document-cabinet-old',\r\n // component: DocumentCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/:documentcabinetid/document-type',\r\n // component: TileDocumentTypeComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/add',\r\n // component: ManageDocumentCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/edit/:documenttypeid',\r\n // component: ManageDocumentCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/:documentcabinetid/document-type/:documenttypeid/documents',\r\n // component: DocumentTypeDocumentComponent\r\n // },\r\n // {\r\n // path: ':id/document-cabinet/:documentcabinetid/document-type/:documenttypeid/document-inbox',\r\n // component: DocumentInboxComponent\r\n // },\r\n // {\r\n // path: ':id/docuware-cabinet/add',\r\n // component: ManageDocuwareCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/docuware-cabinet/edit/:documentcabinetid',\r\n // component: ManageDocuwareCabinetComponent\r\n // },\r\n // {\r\n // path: ':id/groups',\r\n // //canActivate: [AuthenticationGuard],\r\n // component: GroupComponent\r\n // },\r\n // {\r\n // path: ':id/users',\r\n // component: UserComponent\r\n // },\r\n // New workflow design routes\r\n {\r\n path: ':id/inbox',\r\n loadChildren: () => import('./new-workflow-design/inbox/inbox.module').then(m => m.InboxModule)\r\n },\r\n {\r\n path: ':id/search',\r\n loadChildren: () => import('./new-workflow-design/search/search.module').then(m => m.SearchModule)\r\n },\r\n {\r\n path: ':id/configuration',\r\n loadChildren: () => import('./new-workflow-design/configuration/configuration.module').then(m => m.ConfigurationModule),\r\n },\r\n {\r\n path: ':id/configuration/document-filing-cabinets',\r\n loadChildren: () => import('./new-workflow-design/configuration/document-filling-cabinets/document-filling-cabinets.module').then(m => m.DocumentFillingCabinetsModule)\r\n },\r\n {\r\n path: ':id/configuration/user-administration',\r\n loadChildren: () => import('./new-workflow-design/configuration/user-administration/user-administration.module').then(m => m.UserAdministrationModule)\r\n },\r\n {\r\n path: ':id/configuration/public-access-settings',\r\n loadChildren: () => import('./new-workflow-design/configuration/public-access-settings/public-access-settings.module').then(m => m.PublicAccessSettingsModule)\r\n },\r\n {\r\n path: ':id/configuration/partner-api-settings',\r\n loadChildren: () => import('./new-workflow-design/configuration/partner-api-settings/partner-api-settings.module').then(m => m.PartnerApiSettingsModule)\r\n }\r\n ]\r\n },\r\n {\r\n path: '404',\r\n component: PageNotFoundComponent,\r\n },\r\n {\r\n path: '',\r\n redirectTo: '/login',\r\n pathMatch: 'full'\r\n },\r\n {\r\n path: '**',\r\n redirectTo: '404',\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })],\r\n exports: [RouterModule]\r\n})\r\nexport class AppRoutingModule { }\r\n","","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'app-root',\r\n templateUrl: './app.component.html',\r\n styleUrls: ['./app.component.sass']\r\n})\r\nexport class AppComponent {\r\n title = 'DocuWarePublicPortalWeb';\r\n}\r\n","import { BrowserModule } from '@angular/platform-browser';\r\nimport { CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { HttpClientModule, HTTP_INTERCEPTORS } from '@angular/common/http';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { AppRoutingModule } from './app-routing.module';\r\nimport { AppComponent } from './app.component';\r\nimport { LoginComponent } from './login/login.component';\r\nimport { ForgotPasswordComponent } from './forgot-password/forgot-password.component';\r\nimport { ResetPasswordComponent } from './reset-password/reset-password.component';\r\nimport { MunicipalityAccountsComponent } from './municipality-accounts/municipality-accounts.component';\r\nimport { ManageComponent } from './municipality-accounts/manage/manage.component';\r\nimport { MyProfileComponent } from './my-profile/my-profile.component';\r\nimport { ChangePasswordComponent } from './change-password/change-password.component';\r\nimport { HeaderComponent } from './components/header/header.component';\r\nimport { DropdownMenuComponent } from './components/dropdown-menu/dropdown-menu.component';\r\nimport { DeletePopupComponent } from './components/delete-popup/delete-popup.component';\r\nimport { EmptyStateComponent } from './components/empty-state/empty-state.component';\r\nimport { PrimanyButtonComponent } from './components/buttons/primany-button/primany-button.component';\r\nimport { SecondaryButtonComponent } from './components/buttons/secondary-button/secondary-button.component';\r\nimport { AccentButtonComponent } from './components/buttons/accent-button/accent-button.component';\r\nimport { CheckboxComponent } from './components/checkbox/checkbox.component';\r\nimport { SwitchButtonComponent } from './components/switch-button/switch-button.component';\r\nimport { TextboxComponent } from './components/textbox/textbox.component';\r\nimport { PasswordComponent } from './components/password/password.component';\r\nimport { BrowseComponent } from './components/browse/browse.component';\r\nimport { TextAreaComponent } from './components/text-area/text-area.component';\r\nimport { ColorPickerComponent } from './components/color-picker/color-picker.component';\r\nimport { TitleH1Component } from './components/title/title-h1/title-h1.component';\r\nimport { TitleH2Component } from './components/title/title-h2/title-h2.component';\r\nimport { TitleH3Component } from './components/title/title-h3/title-h3.component';\r\nimport { PageNotFoundComponent } from './components/page-not-found/page-not-found.component';\r\nimport { LogoComponent } from './components/logo/logo.component';\r\nimport { SearchComponent } from './components/search/search.component';\r\nimport { ManageCabinetsComponent } from './municipality-accounts/manage-cabinets/manage-cabinets.component';\r\nimport { CustomWebPageComponent, FilterPipe } from './custom-web-page/custom-web-page.component';\r\nimport { SortDirective } from './directive/sort.directive';\r\nimport {DropdownModule } from 'primeng/dropdown';\r\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\r\nimport {SidebarModule} from 'primeng/sidebar';\r\n\r\nimport { InputMaskModule } from 'primeng/inputmask';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { TableModule } from 'primeng/table';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\n\r\nimport {DpDatePickerModule} from 'ng2-date-picker';\r\nimport { ColorPickerModule } from 'ngx-color-picker';\r\n// import { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { ManageCustomerComponent } from './municipality-accounts/manage-customer/manage-customer.component';\r\n// import { HeaderCustomerComponent } from './components/header-customer/header-customer.component';\r\nimport { CustomerComponent } from './customer/customer.component';\r\nimport { GroupComponent } from './customer/group/group.component';\r\nimport { GroupManageComponent } from './customer/group/group-manage/group-manage.component';\r\nimport { CompanyComponent } from './inception/company/company.component';\r\nimport { CompanyManageComponent } from './inception/company/company-manage/company-manage.component';\r\nimport { DocumentCabinetComponent } from './document-cabinet/document-cabinet.component';\r\nimport { UserComponent } from './customer/user/user.component';\r\nimport { DocumentThemeSetupComponent } from './document-cabinet/document-theme-setup/document-theme-setup.component';\r\nimport { ManageDocumentCabinetComponent } from './document-cabinet/manage-document-cabinet/manage-document-cabinet.component';\r\nimport { UserManageComponent } from './customer/user/user-manage/user-manage.component';\r\nimport { PermissionComponent } from './customer/permission/permission.component';\r\nimport { ManageDocuwareCabinetComponent } from './document-cabinet/manage-docuware-cabinet/manage-docuware-cabinet.component';\r\nimport { DocumentTypeDocumentComponent } from './document-cabinet/document-type-document/document-type-document.component';\r\nimport { ManageDocumentTypeDocumentComponent } from './document-cabinet/manage-document-type-document/manage-document-type-document.component';\r\nimport { InceptionCustomWebPageComponent } from './inception-custom-web-page/inception-custom-web-page.component';\r\nimport {OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { SubMenuComponent } from './components/sub-menu/sub-menu.component';\r\nimport { DocumentInboxComponent } from './document-cabinet/document-inbox/document-inbox.component';\r\nimport {DialogModule} from 'primeng/dialog';\r\n// import { DragAndDropDirective } from './directive/drag-and-drop.directive';\r\nimport {AutoCompleteModule} from 'primeng/autocomplete';\r\nimport { TileDocumentCabinetComponent } from './document-cabinet/tile-document-cabinet/tile-document-cabinet.component';\r\nimport { TileDocumentTypeComponent } from './document-cabinet/tile-document-type/tile-document-type.component';\r\nimport { DocumentCabinetsMenuComponent } from './new-workflow-design/document-cabinets-menu/document-cabinets-menu.component';\r\nimport { ConfigurationModule } from './new-workflow-design/configuration/configuration.module';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport { SharedModule } from './shared/shared.module';\r\nimport { HeadersInterceptor } from './shared/headers.interceptor';\r\nimport { JwtHelperService, JWT_OPTIONS } from '@auth0/angular-jwt';\r\nimport { MigrationCLientComponent } from './new-workflow-design/migration-client/migration-client.component';\r\nimport { ManageMigrationCLientComponent } from './new-workflow-design/migration-client/manage-migration-client/manage-migration-client.component';\r\nimport { ResetMigrationClientPasswordComponent } from './reset-migration-client-password/reset-migration-client-password.component';\r\nimport { ForgotMigrationClientPasswordComponent } from './forgot-migration-client-password/forgot-migration-client-password.component';\r\n// declare module \"@angular/core\" {\r\n// interface ModuleWithProviders {\r\n// ngModule: Type;\r\n// providers?: Provider[];\r\n// }\r\n// }\r\n\r\n@NgModule({\r\n declarations: [\r\n AppComponent,\r\n LoginComponent,\r\n ForgotPasswordComponent,\r\n ResetPasswordComponent,\r\n MunicipalityAccountsComponent,\r\n ManageComponent,\r\n MyProfileComponent,\r\n ChangePasswordComponent,\r\n //HeaderComponent,\r\n //DropdownMenuComponent,\r\n DeletePopupComponent,\r\n EmptyStateComponent,\r\n PrimanyButtonComponent,\r\n SecondaryButtonComponent,\r\n AccentButtonComponent,\r\n CheckboxComponent,\r\n SwitchButtonComponent,\r\n TextboxComponent,\r\n PasswordComponent,\r\n BrowseComponent,\r\n TextAreaComponent,\r\n ColorPickerComponent,\r\n TitleH1Component,\r\n TitleH2Component,\r\n TitleH3Component,\r\n PageNotFoundComponent,\r\n LogoComponent,\r\n SearchComponent,\r\n ManageCabinetsComponent,\r\n CustomWebPageComponent,\r\n SortDirective,\r\n FilterPipe,\r\n ManageCustomerComponent,\r\n // HeaderCustomerComponent,\r\n CustomerComponent,\r\n GroupComponent,\r\n GroupManageComponent,\r\n CompanyComponent,\r\n CompanyManageComponent,\r\n DocumentCabinetComponent,\r\n UserComponent,\r\n DocumentThemeSetupComponent,\r\n ManageDocumentCabinetComponent,\r\n UserManageComponent,\r\n PermissionComponent,\r\n // ManageDocuwareCabinetComponent,\r\n DocumentTypeDocumentComponent,\r\n ManageDocumentTypeDocumentComponent,\r\n InceptionCustomWebPageComponent,\r\n SubMenuComponent,\r\n DocumentInboxComponent,\r\n // DragAndDropDirective,\r\n TileDocumentCabinetComponent,\r\n TileDocumentTypeComponent,\r\n MigrationCLientComponent,\r\n ManageMigrationCLientComponent,\r\n ResetMigrationClientPasswordComponent,\r\n ForgotMigrationClientPasswordComponent,\r\n // DocumentCabinetsMenuComponent,\r\n\r\n ],\r\n imports: [\r\n CommonModule,\r\n BrowserModule,\r\n AppRoutingModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n HttpClientModule,\r\n ColorPickerModule,\r\n DpDatePickerModule,\r\n // DragDropModule,\r\n DropdownModule,\r\n MultiSelectModule,\r\n BrowserAnimationsModule,\r\n TableModule,\r\n FileUploadModule,\r\n InputNumberModule,\r\n InputMaskModule,\r\n TooltipModule,\r\n ButtonModule,\r\n InputTextModule,\r\n CalendarModule,\r\n RadioButtonModule,\r\n OverlayPanelModule,\r\n SidebarModule,\r\n DialogModule,\r\n AutoCompleteModule,\r\n ConfigurationModule,\r\n SharedModule,\r\n ],\r\n exports: [\r\n FormsModule,\r\n ReactiveFormsModule,\r\n FilterPipe,\r\n // DragDropModule,\r\n DropdownModule,\r\n MultiSelectModule,\r\n TableModule,\r\n FileUploadModule,\r\n InputNumberModule,\r\n InputMaskModule,\r\n TooltipModule,\r\n ButtonModule,\r\n InputTextModule,\r\n CalendarModule,\r\n RadioButtonModule,\r\n OverlayPanelModule,\r\n SidebarModule,\r\n DialogModule,\r\n AutoCompleteModule,\r\n //ColorPickerModule,\r\n DocumentThemeSetupComponent,\r\n ],\r\n schemas:[CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA],\r\n providers: [{ provide: HTTP_INTERCEPTORS, useClass: HeadersInterceptor, multi: true },\r\n { provide: JWT_OPTIONS, useValue: JWT_OPTIONS },\r\n JwtHelperService ],\r\n bootstrap: [AppComponent]\r\n})\r\nexport class AppModule { }\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n

\r\n \r\n \r\n \r\n \r\n \r\n Change Password\r\n

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

{{message}}

\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.oldPassword.required}}\r\n\r\n
\r\n \"info\"\r\n
    \r\n
  • Password Suggestions
  • \r\n
  • At least one uppercase letter
  • \r\n
  • At least one lowercase letter
  • \r\n
  • At least one number
  • \r\n
  • At least one special character
  • \r\n
  • Minimum 8 characters long
  • \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.password.required}}\r\n {{validationMessages.password.minlength}}\r\n {{validationMessages.password.invalid}}\r\n
\r\n\r\n
\r\n \r\n \r\n\r\n {{validationMessages.confirmPassword.required}}\r\n {{validationMessages.confirmPassword.validPasswordMatch}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { Subject } from 'rxjs';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { UserService } from '../services/user.service';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { Constants } from '../shared/constants';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { ChangePasswordModel } from '../models/response/forgot-password';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\nimport { UserRole } from '../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-change-password',\r\n templateUrl: './change-password.component.html',\r\n styleUrls: ['./change-password.component.sass']\r\n})\r\nexport class ChangePasswordComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n currentUserToken: any;\r\n userId: number;\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n formFields =\r\n {\r\n oldPassword: 'oldPassword',\r\n newPassword: 'newPassword',\r\n confirmPassword: 'confirmPassword'\r\n };\r\n\r\n validationMessages = {\r\n oldPassword: {\r\n required: 'Old password is required',\r\n // minlength: 'Password should be at least 8 characters',\r\n // invalid: 'Enter valid password'\r\n },\r\n password: {\r\n required: 'New password is required',\r\n minlength: 'New Password should be at least 8 characters',\r\n invalid: 'Enter valid new password'\r\n },\r\n confirmPassword: {\r\n required: 'Confirm password is required',\r\n invalid: 'Enter valid confirm password',\r\n minlength: 'Confirm password should be at least 8 characters',\r\n validPasswordMatch: 'New password and confirm password don\\'t match'\r\n }\r\n };\r\n isCustomer: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService,\r\n private webStorageService: WebStorageService, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n\r\n this.userId = this.currentUserToken.userId;\r\n this.isCustomer = this.currentUserToken.role === UserRole.enumCustomer ? true : false;\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n onSubmit() {\r\n\r\n if(this.form.invalid){\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const reqModel = new ChangePasswordModel()\r\n reqModel.userId = this.userId;\r\n reqModel.oldPassword = this.form.get(this.formFields.oldPassword).value;\r\n reqModel.newPassword = this.form.get(this.formFields.newPassword).value;\r\n\r\n this.userService.ChangePassword(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n \r\n if (result.IsSuccess && result?.ResponseModel == true) {\r\n\r\n this.timeoutFunct(\"Password updated successfully\", true);\r\n this.form.reset();\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n\r\n onReset() {\r\n this.form.reset();\r\n }\r\n\r\n onBack() {\r\n // if(this.currentUserToken.role === UserRole.enumCustomer) {\r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n // this.router.navigate([url]);\r\n // } else {\r\n // this.router.navigate(['/company']);\r\n // }\r\n if(this.currentUserToken.role === UserRole.enumAdmin) { \r\n this.router.navigate(['/company']);\r\n } else { \r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n var url = '/company/' + this.currentUserToken.companyId +'/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n }\r\n }\r\n\r\n private buildForm() {\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.oldPassword, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.whitespace],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.newPassword, this.formBuilder.control('',\r\n { validators: [Validators.required, Validators.minLength(8), CustomValidator.whitespace,CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.confirmPassword, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.setValidators(CustomValidator.passwordMatch('newPassword', 'confirmPassword'));\r\n\r\n this.form = formGroup;\r\n}\r\n\r\n\r\n}\r\n","\r\n\r\n
\r\n \"avatar\" \r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n\r\n","import { Component, OnInit , Input,Output,EventEmitter } from '@angular/core';\r\nimport * as $ from 'jquery';\r\nimport { UserService } from 'src/app/services/user.service';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { UserRole } from '../../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-dropdown-menu',\r\n templateUrl: './dropdown-menu.component.html',\r\n styleUrls: ['./dropdown-menu.component.sass']\r\n})\r\nexport class DropdownMenuComponent implements OnInit {\r\n status: boolean;\r\n userName: string;\r\n isMigrationAdmin: boolean = false;\r\n @Output() notifyParent: EventEmitter = new EventEmitter();\r\n constructor(private userService: UserService, private webStorageService: WebStorageService) { }\r\n\r\n ngOnInit(): void {\r\n \r\n const currentToken = this.webStorageService.getCurrentUserToken();\r\n if(currentToken){\r\n this.userName = currentToken.userName;\r\n }\r\n \r\n if (currentToken.role == UserRole.enumAdmin)\r\n this.isMigrationAdmin = true;\r\n else\r\n this.isMigrationAdmin = false;\r\n\r\n $(document).on('click', function () {\r\n $('.dropdownmenu-menu').next().removeClass('active');\r\n $('.dropdownmenu-menu').removeClass('active');\r\n });\r\n\r\n if ($('.clickEvent').length) {\r\n const dropdown = $('.clickEvent');\r\n \r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n \r\n $('.custome-dropdownmenu').removeClass('active');\r\n }\r\n\r\n\r\n }\r\n\r\n openDropdown(){ \r\n this.notifyParent.emit();\r\n }\r\n \r\n clickEvent(){\r\n this.status = !this.status;\r\n }\r\n\r\n logout() {\r\n this.userService.signOut();\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as $ from 'jquery';\r\nimport { WebStorageService } from '../../services/web-storage.service';\r\n\r\ninterface Company {\r\n name: string,\r\n code: string\r\n}\r\n\r\n@Component({\r\n selector: 'app-header-customer',\r\n templateUrl: './header-customer.component.html',\r\n styleUrls: ['./header-customer.component.sass']\r\n})\r\nexport class HeaderCustomerComponent implements OnInit {\r\n\r\n organization: Company[];\r\n selectedCity: Company;\r\n status: boolean;\r\n companyName: string;\r\n companyId: number;\r\n isCompanyPage: boolean;\r\n isDocuware: boolean;\r\n constructor(private webStorageService: WebStorageService, private router: Router) {\r\n const currentToken = this.webStorageService.getCurrentUserToken();\r\n if (currentToken) {\r\n this.companyName = currentToken.companyName;\r\n this.companyId = currentToken.companyId;\r\n this.isDocuware = currentToken.isDocuware;\r\n }\r\n this.organization = [\r\n { name: this.companyName, code: this.companyName },\r\n \r\n ];\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n $(document).on('click', function () {\r\n $('.custome-dropdownmenu').next().removeClass('active');\r\n $('.custome-dropdownmenu').removeClass('active'); \r\n });\r\n\r\n if ($('.custome-click').length) {\r\n const dropdown = $('.custome-click');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n }); \r\n }\r\n\r\n if(this.router.url !== '/company' && this.router.url !== '/my-profile' && this.router.url !== '/change-password')\r\n {\r\n this.isCompanyPage = false;\r\n } else {\r\n this.isCompanyPage = true;\r\n }\r\n\r\n }\r\n}\r\n","\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n {{companyName}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit, Output, EventEmitter, Input, ViewChild, ElementRef, AfterViewInit } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { CompanyResponseModel } from 'src/app/models/response/company-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { CompanyService } from 'src/app/services/company.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as $ from 'jquery';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { enumDatabaseType, UserRole } from 'src/app/shared/enum';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\n\r\n@Component({\r\n selector: 'app-header',\r\n templateUrl: './header.component.html',\r\n styleUrls: ['./header.component.sass']\r\n})\r\n\r\nexport class HeaderComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n @Output() companyFromHeader = new EventEmitter();\r\n @Input('companyId') companyId: number;\r\n @ViewChild('dropdownParent') dropdownparent: any;\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n status: boolean;\r\n companies: CompanyResponseModel[];\r\n selectedHeaderCompany: CompanyResponseModel;\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n isCompanyPage: boolean = false;\r\n currentUserToken: UserAuthResponseModel;\r\n companyName: string;\r\n enumUserRole: UserRole;\r\n isCustomerAdmin: boolean = false;\r\n isDocuware: boolean = false;\r\n\r\n\r\n constructor(private companyService: CompanyService, private router: Router, private activatedRoute: ActivatedRoute, private webStorageService: WebStorageService) {\r\n super();\r\n }\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n async ngOnInit() {\r\n this.companyName = '';\r\n this.companies = new Array();\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n \r\n\r\n if (this.router.url !== '/company' && this.router.url !== '/my-profile' && this.router.url !== '/change-password' && this.router.url !== '/docuware-migration-subscription') {\r\n this.isCompanyPage = false;\r\n await this.getAllCompanies();\r\n } else {\r\n\r\n this.companyId = this.currentUserToken.companyId;\r\n this.isCompanyPage = true;\r\n }\r\n\r\n if (this.currentUserToken.role === UserRole.enumCustomerAdmin) {\r\n this.companyName = this.currentUserToken.companyName;\r\n this.isCustomerAdmin = true;\r\n }\r\n\r\n if (this.companyId !== 0) {\r\n \r\n // var x = this.companies.filter(x => x.CompanyId == this.companyId);\r\n // console.log(this.companies);\r\n \r\n }\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.companyId = params['id'];\r\n });\r\n\r\n $(document).on('click', function () {\r\n $('.custome-dropdownmenu').next().removeClass('active');\r\n $('.custome-dropdownmenu').removeClass('active');\r\n });\r\n\r\n if ($('.custome-click').length) {\r\n const dropdown = $('.custome-click');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n }\r\n\r\n }\r\n\r\n isActive() {\r\n const createdURL = 'company/' + this.companyId + '/configuration/';\r\n return this.router.url.includes(createdURL);\r\n }\r\n\r\n\r\n async getAllCompanies() {\r\n \r\n this.companyService.getAllCompanies()\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n this.companies = result?.ResponseModel;\r\n if (this.companies.length > 0 && this.companyId) {\r\n this.companies = this.companies.sort((a, b) => {\r\n return a.CompanyName.toLowerCase().localeCompare(b.CompanyName.toLowerCase());\r\n });\r\n this.selectedHeaderCompany = new CompanyResponseModel();\r\n this.selectedHeaderCompany = this.companies.find(x => x.CompanyId == this.companyId);\r\n\r\n if (this.selectedHeaderCompany?.InterfaceWith === enumDatabaseType.enumDocuware) {\r\n this.isDocuware = true;\r\n }\r\n }\r\n\r\n if (this.currentUserToken.role === UserRole.enumCustomerAdmin) {\r\n this.companies = this.companies.filter(x => x.CompanyId === this.currentUserToken.companyId);\r\n }\r\n }\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n onCompanyChange(event: any) {\r\n \r\n this.companyFromHeader.emit(event.value);\r\n }\r\n\r\n closeParent(event) {\r\n this.dropdownparent.hide();\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n
\r\n \"empty-state\"\r\n
\r\n

404

\r\n

Page Not found

\r\n

Page does not exist or it has been changed.

\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { UserRole } from 'src/app/shared/enum';\r\n\r\n@Component({\r\n selector: 'app-page-not-found',\r\n templateUrl: './page-not-found.component.html',\r\n styleUrls: ['./page-not-found.component.sass']\r\n})\r\nexport class PageNotFoundComponent implements OnInit {\r\n\r\n currentUserToken:UserAuthResponseModel;\r\n isDocuware: boolean;\r\n companyId: number;\r\n\r\n constructor(private webStorageService: WebStorageService, private router: Router) { }\r\n\r\n ngOnInit(): void {\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.isDocuware = this.currentUserToken.isDocuware;\r\n this.companyId = this.currentUserToken.companyId;\r\n }\r\n\r\n goToHome() {\r\n if(this.currentUserToken.role === UserRole.enumCustomer) {\r\n // const url = '/company/' + this.currentUserToken.companyId + '/document-cabinet'\r\n \r\n const url = !this.isDocuware ? '/company/' + this.companyId + '/inbox' : '/company/' + this.companyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n\r\n } else {\r\n this.router.navigate(['/company']);\r\n } \r\n }\r\n\r\n}\r\n","import { Directive, Input, Renderer2,ElementRef,HostListener } from '@angular/core';\r\nimport { Sort } from '../util/sort';\r\n\r\n@Directive({\r\n selector: '[appSort]'\r\n})\r\nexport class SortDirective {\r\n @Input() appSort: Array;\r\n\r\n constructor(private renderer: Renderer2, private targetElement: ElementRef) { }\r\n\r\n @HostListener(\"click\")\r\n sortData() {\r\n const sort = new Sort();\r\n\r\n const elem = this.targetElement.nativeElement;\r\n\r\n const order = elem.getAttribute(\"data-order\");\r\n\r\n const type = elem.getAttribute(\"data-type\");\r\n\r\n const property = elem.getAttribute(\"data-name\");\r\n\r\n if (order === \"desc\") {\r\n this.appSort.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"asc\");\r\n } else {\r\n this.appSort.sort(sort.startSort(property, order, type));\r\n elem.setAttribute(\"data-order\", \"desc\");\r\n }\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

\r\n
\r\n

{{message}}

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

Enter your registered email address to reset your password.

\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.validemail}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { environment } from 'src/environments/environment';\r\nimport { ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Constants } from '../shared/constants';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { MigrationClientService } from '../services/migration-client.service';\r\n\r\n@Component({\r\n selector: 'app-forgot-migration-client-password',\r\n templateUrl: './forgot-migration-client-password.component.html',\r\n styleUrls: ['./forgot-migration-client-password.component.sass']\r\n})\r\nexport class ForgotMigrationClientPasswordComponent extends BaseComponent implements OnInit {\r\n\r\n title = 'DocuWare Migration Tool';\r\n h2title = 'Forgot Password?';\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n private unsubscriber = new Subject();\r\n\r\n formFields = { \r\n email: 'email',\r\n };\r\n\r\n validationMessages = {\r\n email: {\r\n required: 'Email is required',\r\n validemail: 'Email is invalid'\r\n }\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private migrationService: MigrationClientService, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n }\r\n onSubmit(){\r\n if (this.form.invalid) {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const forgotPassword = new ForgotPasswordModel();\r\n forgotPassword.email = this.form.get(this.formFields.email).value;\r\n\r\n this.migrationService.forgotPassword(forgotPassword)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n \r\n if (result.IsSuccess) {\r\n // this.timeoutFunct(\"Password successfully sent on your email address.\", true);\r\n this.timeoutFunct(\"Link to reset password is successfully sent to your email address.\", true);\r\n setTimeout(() => {\r\n //Link to redirect shall be changed\r\n //this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n }else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm(){\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

\r\n
\r\n

{{message}}

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

Enter your registered email address to reset your password.

\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.validemail}}\r\n
\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { Constants } from '../shared/constants';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { UserService } from '../services/user.service';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Subject } from 'rxjs';\r\nimport { Router } from '@angular/router';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-forgot-password',\r\n templateUrl: './forgot-password.component.html',\r\n styleUrls: ['./forgot-password.component.sass']\r\n})\r\nexport class ForgotPasswordComponent extends BaseComponent implements OnInit, OnDestroy {\r\n title = 'DocTainium Cloud';\r\n h2title = 'Forgot Password?';\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n private unsubscriber = new Subject();\r\n\r\n formFields = {\r\n email: 'email',\r\n };\r\n\r\n validationMessages = {\r\n email: {\r\n required: 'Email is required',\r\n validemail: 'Email is invalid'\r\n }\r\n }\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService, private router: Router) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n }\r\n onSubmit(){\r\n if (this.form.invalid) {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const forgotPassword = new ForgotPasswordModel();\r\n forgotPassword.email = this.form.get(this.formFields.email).value;\r\n\r\n this.userService.forgotPassword(forgotPassword)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n \r\n if (result.IsSuccess) {\r\n // this.timeoutFunct(\"Password successfully sent on your email address.\", true);\r\n this.timeoutFunct(\"Link to reset password is successfully sent to your email address.\", true);\r\n setTimeout(() => {\r\n this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n }else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm(){\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n this.form = formGroup;\r\n }\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree, Router } from '@angular/router';\r\nimport { JwtHelperService } from '@auth0/angular-jwt';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from '../../environments/environment';\r\nimport { UserAuthResponseModel } from '../models/response/access-token-response';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { UserRole } from '../shared/enum';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class AuthenticationGuard implements CanActivate {\r\n constructor(private webStorageService: WebStorageService, private jwtHelper: JwtHelperService, private router: Router\r\n , private http: HttpClient) { }\r\n\r\n async canActivate(\r\n route: ActivatedRouteSnapshot,\r\n state: RouterStateSnapshot) //: Observable | Promise | boolean | UrlTree\r\n {\r\n \r\n const currentUserToken = this.webStorageService.getCurrentUserToken()\r\n if (currentUserToken) {\r\n\r\n const token = currentUserToken.token;\r\n if (token && !this.jwtHelper.isTokenExpired(token)) {\r\n // console.log(this.jwtHelper.decodeToken(token))\r\n return true;\r\n }\r\n\r\n const isRefreshSuccess = await this.tryRefreshingTokens(token);\r\n if (!isRefreshSuccess) {\r\n this.router.navigate(['/login']);\r\n }\r\n return isRefreshSuccess;\r\n\r\n } else {\r\n // return false;\r\n this.router.navigate(['/login']);\r\n }\r\n }\r\n\r\n private async tryRefreshingTokens(token: string): Promise {\r\n // debugger\r\n const usertoken = this.webStorageService.getCurrentUserToken();\r\n if (!usertoken.token || !usertoken.refreshtoken) {\r\n return false;\r\n }\r\n\r\n const credentials = JSON.stringify({ accessToken: usertoken.token, refreshToken: usertoken.refreshtoken });\r\n let isRefreshSuccess: boolean;\r\n var url = environment.apiBaseUrl + \"token/refresh\";\r\n const refreshRes = await new Promise>((resolve, reject) => {\r\n this.http.post>(url, credentials, {\r\n headers: new HttpHeaders({\r\n \"Content-Type\": \"application/json\"\r\n })\r\n }).subscribe({\r\n next: (res: ResultOfT) => resolve(res),\r\n error: (_) => { reject; isRefreshSuccess = false; }\r\n });\r\n });\r\n if (refreshRes.IsSuccess) {\r\n this.webStorageService.deleteCurrentUserToken();\r\n const userauthmodel = new UserAuthResponseModel();\r\n userauthmodel.companyId = refreshRes?.ResponseModel?.CompanyId;\r\n userauthmodel.companyName = refreshRes?.ResponseModel?.CompanyName;\r\n userauthmodel.groupId = refreshRes?.ResponseModel?.GroupId;\r\n userauthmodel.userId = refreshRes?.ResponseModel?.UserId;\r\n userauthmodel.role = refreshRes?.ResponseModel?.Role;\r\n userauthmodel.email = refreshRes?.ResponseModel?.Email;\r\n userauthmodel.userFirstName = refreshRes?.ResponseModel?.FirstName;\r\n userauthmodel.userLastName = refreshRes?.ResponseModel?.LastName;\r\n userauthmodel.userName = refreshRes?.ResponseModel?.FirstName + \" \" + refreshRes?.ResponseModel?.LastName;\r\n userauthmodel.group = refreshRes?.ResponseModel?.Group\r\n \r\n if (refreshRes?.ResponseModel?.Role == UserRole.enumCustomer) {\r\n userauthmodel.isDocuware = refreshRes?.ResponseModel?.IsDocuware;\r\n if (refreshRes?.ResponseModel?.Group == null)\r\n userauthmodel.userPermission = refreshRes?.ResponseModel?.UserPermissions;\r\n else if (refreshRes?.ResponseModel?.Group != null)\r\n userauthmodel.groupPermission = refreshRes?.ResponseModel?.GroupPermissions;\r\n }\r\n\r\n userauthmodel.token = refreshRes?.ResponseModel?.token;\r\n userauthmodel.refreshtoken = refreshRes?.ResponseModel?.refreshtoken;\r\n this.webStorageService.storeCurrentUserToken(userauthmodel);\r\n }\r\n isRefreshSuccess = true;\r\n return isRefreshSuccess;\r\n }\r\n\r\n}\r\n","\r\n \r\n \r\n Listing\r\n \r\n\r\n\r\n
\r\n\r\n
\r\n
\r\n Logo\r\n \r\n {{companyResponseModel?.CompanyName}}\r\n
\r\n
\r\n\r\n
\r\n

{{message}}

\r\n \r\n \r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n\r\n
0 && !forSepcialCompanyDb && !isDocuware\" style=\"padding-bottom: 32px;\">\r\n \r\n \r\n
\r\n\r\n \r\n
\r\n
\r\n\r\n \r\n \r\n 0 && !forSepcialCompanyDb && isDocuware\">\r\n

Search

\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n
\r\n \r\n {{last ? callFunction(i) : ''}}\r\n
\r\n
\r\n \r\n 0 && backupRecords?.length > 0 && !forSepcialCompanyDb && !isDocuware\">\r\n

Search

\r\n \r\n
\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n \r\n \r\n
\r\n
\r\n \r\n \r\n \r\n\r\n
\r\n {{last ? callFunction(i) : ''}}\r\n
\r\n
\r\n 0 && forSepcialCompanyDb\">\r\n

Search

\r\n \r\n
\r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n\r\n \r\n \r\n\r\n \r\n
\r\n {{last ? callFunction(i) : ''}}\r\n
\r\n
\r\n
\r\n \r\n
\r\n \r\n Clear\r\n
\r\n\r\n \r\n\r\n
\r\n\r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n

Documents

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

\r\n {{customAuthResponseModel?.DocumentType?.DocumentTypeName}}\r\n

\r\n\r\n
\r\n \r\n
\r\n \r\n 2 && searchRecords?.length > 0\">\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n {{header.headerName}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n 0\">\r\n \r\n \r\n\r\n \r\n \r\n {{record[header.headerName]}}\r\n \r\n\r\n \r\n {{record[header.headerName] | date: 'MM/dd/yyyy'}}\r\n \r\n\r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n Please apply search to proceed.\r\n \r\n
\r\n View\r\n
\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n
No records found.
\r\n
\r\n\r\n \r\n
\r\n \r\n \r\n \r\n 0\" >\r\n \r\n \r\n View\r\n \r\n\r\n \r\n \r\n {{header.headerName}}\r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n 0\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n\r\n \r\n \r\n\r\n \r\n \r\n {{record[header.headerName]}}\r\n \r\n $ {{record[header.headerName]}}\r\n \r\n {{record[header.headerName] | date: 'MM/dd/yyyy'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n \r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n\r\n \r\n
\r\n
{{startRecord}} - {{endRecord}} of\r\n {{totalRecordCount}}\r\n
\r\n
\r\n prev\r\n \r\n {{i+1}}\r\n \r\n next\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n

Preview Document

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

Browser doesn't support file format

\r\n \r\n
\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n","import { Component, OnInit, OnDestroy, PipeTransform, Pipe, ChangeDetectorRef } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { Subject } from 'rxjs';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { DocuwareCabinetReuestModel, DocuwareFieldData } from '../models/request/cabinet-request';\r\nimport { DownloadFile, ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { CustomAuthResponseModel, InceptionCustomAuthResponseModel } from '../models/response/custom-auth';\r\nimport { DocuwareRecordsModel } from '../models/response/docuware-fields';\r\nimport { FormGroup, FormBuilder } from '@angular/forms';\r\nimport { Constants } from '../shared/constants';\r\nimport { environment } from 'src/environments/environment';\r\nimport { IDatePickerConfig } from 'ng2-date-picker';\r\nimport * as $ from 'jquery';\r\nimport { DocuwareCabinetService } from '../services/docuware-cabinet.service';\r\nimport { DocumentTypeListResponseModel, DocumentTypeResponseModel } from '../models/response/document-type-response';\r\nimport { CompanyResponseModel } from '../models/response/company-response';\r\nimport { enumDatabaseType, enumFieldTypes } from '../shared/enum';\r\nimport { DocumentCabinetService } from '../services/document-cabinet.service';\r\nimport { DocumentDisplayModel, DocumentTypeDocumentModelForSearch, DocumentTypeDocumentResponseModel, FilterValueModel, LabelValueModel, SearchInputModel, SPFullTextModel } from '../models/response/document-type-document-response';\r\nimport { SortEvent } from 'primeng/api';\r\nimport { saveAs as importedSaveAs } from 'file-saver';\r\nimport * as moment from 'moment';\r\nimport { SearchableFieldResponseModel } from '../models/response/searchable-field-response';\r\nimport { SearchableFieldValueResponseModel } from '../models/response/searchable-field-value-response';\r\nimport { MetadataSearchModel, MetadataSearchRequestModel } from '../models/request/metadata-search-request';\r\nimport { DocumentTypeDocumentSearchRequestModel } from '../models/request/document-type-document-request';\r\nimport { DomSanitizer } from '@angular/platform-browser';\r\ndeclare var Tiff: any;\r\n\r\n@Component({\r\n selector: 'app-inception-custom-web-page',\r\n templateUrl: './inception-custom-web-page.component.html',\r\n styleUrls: ['./inception-custom-web-page.component.sass'],\r\n styles: [`\r\n :host ::ng-deep .p-datatable .p-datatable-thead > tr > th {\r\n position: inherit;\r\n top: 0;\r\n }\r\n\r\n .layout-news-active :host ::ng-deep .p-datatable tr > th {\r\n top: 0;\r\n }\r\n `]\r\n})\r\nexport class InceptionCustomWebPageComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n queryString: string = '';\r\n cardImageBase64: string = '';\r\n documentViewerLink: string = '';\r\n\r\n cabinetRequestModel: DocuwareCabinetReuestModel;\r\n customAuthResponseModel: InceptionCustomAuthResponseModel;\r\n docuwareRecordsModel: DocuwareRecordsModel[];\r\n docuwareSearchControlModel: DocuwareRecordsModel[];\r\n docuwareRecordsBackup: DocuwareRecordsModel[];\r\n // municipalityResponseModel: MunicipalityResponseModel;\r\n documentTypeResponseModel: DocumentTypeResponseModel;\r\n companyResponseModel: CompanyResponseModel;\r\n // documents: DocumentTypeDocumentResponseModel[];\r\n documents: DocumentDisplayModel[];\r\n\r\n headers: any[];\r\n records: any[];\r\n backupRecords: any[];\r\n searchRecords: Array;\r\n searchRecordsTemp: any[];\r\n backupSearchRecords: any[];\r\n searchFilterData: any;\r\n searchFilterDataTemp: Array;\r\n // isSearch: boolean = false;\r\n displayClearButton: boolean = false;\r\n\r\n viewerLoader: boolean = false;\r\n customLoader: boolean = false;\r\n totalRecordCount: number = 0;\r\n pageCount: number = 1;\r\n pageSize: number = 1000;\r\n pageArray: Array;\r\n paginationPage: number;\r\n startRecord: number;\r\n endRecord: number;\r\n displayPagination: boolean = true;\r\n enumDatabaseType: enumDatabaseType;\r\n isInitialEmptyState: boolean = true;\r\n\r\n selectedValue: any;\r\n filterResposniveEvent: any;\r\n\r\n // searchInputList: { DisplayAs: string, FieldName: string, FieldType: string, Sequence: number, Values: {label: string , value: string}[] }[];\r\n // searchInputList: { DisplayAs: string, FieldName: string, FieldType: string, Sequence: number, Values: { label: string, value: string }[], FilteredValues: { label: string, value: string }[] }[];\r\n searchInputList: SearchInputModel[];\r\n enumFieldType: enumFieldTypes;\r\n FilterValues : LabelValueModel[];\r\n\r\n forgotPasswordRequestModel: ForgotPasswordModel;\r\n\r\n isMore: boolean = false;\r\n\r\n displayMessage: boolean = false;\r\n message: string = '';\r\n messageClass: boolean;\r\n config: IDatePickerConfig = {\r\n format: 'MM/DD/YYYY'\r\n };\r\n\r\n searchLoader: boolean = true;\r\n isDocuware: boolean = false;\r\n showSearchPanel: boolean = false;\r\n searchableFieldModel: SearchableFieldResponseModel[];\r\n isSearchHasData: boolean;\r\n forSepcialCompanyDb: boolean = false;\r\n\r\n filePath: string;\r\n fileName: string = '';\r\n fileExtension: string = '';\r\n DocumentViewerPopup: boolean;\r\n documentTypeList: DocumentTypeListResponseModel[];\r\n selectedDocumentType: DocumentTypeListResponseModel;\r\n selectedFileId: number; \r\n listOfFullTextSearchedDocIds: SPFullTextModel[];\r\n fullTextSearch: string = '';\r\n metadataSearchModel: MetadataSearchModel[];\r\n FilterValuesForSpecialCompanies: SearchableFieldValueResponseModel[];\r\n isImage: boolean;\r\n isPdf: boolean;\r\n base64String: string;\r\n optionList: FilterValueModel[] = [];\r\n yearRange = '';\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private docuwareCabinetService: DocuwareCabinetService, private sanitizer:DomSanitizer,\r\n private formBuilder: FormBuilder, private documentCabinetService: DocumentCabinetService,\r\n private cd: ChangeDetectorRef) {\r\n super();\r\n\r\n // this is for routerLink on same component when only queryParameter changes \r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false; \r\n }\r\n\r\n filter() {\r\n this.isInitialEmptyState = false;\r\n this.loading = true;\r\n this.customLoader = true;\r\n var that = this;\r\n\r\n\r\n this.cabinetRequestModel.DocuwareFieldData = new Array();\r\n var docuFieldData = new DocuwareFieldData();\r\n\r\n // var ifFullText = this.searchInputList.find(searchbox => searchbox.DisplayAs === 'Full Text');\r\n\r\n // var fieldValue = that.form.get(ifFullText['FieldName']).value;\r\n\r\n if (this.forSepcialCompanyDb) {\r\n this.searchableFieldModel.forEach(searchBox => {\r\n docuFieldData = new DocuwareFieldData();\r\n\r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n if (searchBox.FieldType === 'Date') {\r\n const momentDateValue = moment(searchValue, 'MM/DD/YYYY');\r\n var dateValue = momentDateValue.format('MM/DD/YYYY');\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = dateValue;\r\n }\r\n else if (searchBox.FieldType !== 'Date' && searchBox.DisplayAs == 'Full Text') {\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = searchValue;\r\n }\r\n else {\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = searchValue.FieldValue;\r\n }\r\n\r\n this.cabinetRequestModel.DocuwareFieldData.push(docuFieldData);\r\n }\r\n });\r\n }\r\n else {\r\n this.searchInputList.forEach(searchBox => {\r\n docuFieldData = new DocuwareFieldData();\r\n \r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n\r\n if (searchBox.FieldType == 'Date') {\r\n const momentDateValue = moment(searchValue, 'MM/DD/YYYY');\r\n var dateValue = momentDateValue.format('MM/DD/YYYY');\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = dateValue;\r\n }\r\n else if (searchBox.FieldType !== 'Date' && searchBox.DisplayAs == 'Full Text') {\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n docuFieldData.FieldValue = searchValue;\r\n }\r\n else {\r\n\r\n // that.searchRecords = that.searchRecords.filter(item => new Date(item[searchBox.DisplayAs]).getDate() == new Date(searchValue).getDate() );\r\n docuFieldData.FieldName = searchBox.FieldName;\r\n // docuFieldData.FieldValue = searchValue;\r\n docuFieldData.FieldValue = searchValue.label;\r\n docuFieldData.FieldValue = (searchValue.label !== undefined) ? searchValue.label : searchValue;\r\n }\r\n\r\n this.cabinetRequestModel.DocuwareFieldData.push(docuFieldData);\r\n }\r\n });\r\n }\r\n\r\n if (this.cabinetRequestModel.ServerURL === 'https://nashuanh.docuware.cloud') {\r\n docuFieldData = new DocuwareFieldData();\r\n docuFieldData.FieldName = 'PUBLIC_STATUS';\r\n docuFieldData.FieldValue = 'Public';\r\n\r\n this.cabinetRequestModel.DocuwareFieldData.push(docuFieldData);\r\n }\r\n\r\n // if(fieldValue) {\r\n // this.cabinetRequestModel.SearchFullText = fieldValue.toString();\r\n // } else {\r\n // this.cabinetRequestModel.SearchFullText = '';\r\n // }\r\n this.docuwareCabinetService.fullTextSearch(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.docuwareRecordsModel = result.ResponseModel;\r\n\r\n that.records = [];\r\n that.searchRecords = [];\r\n\r\n this.docuwareRecordsModel.forEach(docuwareRecord => {\r\n const record = {};\r\n\r\n record[\"DocumentId\"] = docuwareRecord.DocuwareDocumentId;\r\n docuwareRecord.DocuwareFields.forEach(field => {\r\n record[field.DisplayAs] = field.FieldValue;\r\n\r\n });\r\n\r\n that.records.push(record);\r\n });\r\n\r\n that.searchRecords = that.records;\r\n\r\n for (const prop in this.searchFilterData) {\r\n if (prop === 'Full Text') {\r\n delete this.searchFilterData[prop];\r\n }\r\n }\r\n\r\n // if (this.cabinetRequestModel.ServerURL === 'https://nashuanh.docuware.cloud') \r\n // {\r\n this.headers = [];\r\n\r\n this.headers.push({ headerName: \"DocumentId\", fieldType: 'Numeric', sequence: -1 });\r\n this.headers.push({ headerName: 'View', fieldType: 'Text', sequence: 0 });\r\n this.docuwareRecordsModel[0]?.DocuwareFields.forEach(field => {\r\n if (field.IsDisplay) {\r\n\r\n this.headers.push({ headerName: field.DisplayAs, fieldType: field.FieldType, sequence: field.DisplaySequence });\r\n }\r\n });\r\n\r\n this.headers = this.headers.sort((a, b) => a.sequence - b.sequence);\r\n\r\n this.displayPagination = true;\r\n\r\n this.startRecord = ((this.cabinetRequestModel.PageNo - 1) * (this.pageSize)) + 1;\r\n // this.endRecord = this.startRecord + this.pageSize -1;\r\n this.endRecord = this.startRecord + this.searchRecords.length - 1;\r\n\r\n if (this.pageCount == this.paginationPage) {\r\n this.endRecord = this.totalRecordCount;\r\n }\r\n // }\r\n\r\n }\r\n this.displayPagination = false;\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.customLoader = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.customLoader = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n filterInAppDocs() {\r\n\r\n this.isInitialEmptyState = false;\r\n this.loading = true;\r\n this.customLoader = true;\r\n\r\n if(this.fullTextSearch !== '' && this.fullTextSearch !== null && this.fullTextSearch !== undefined) {\r\n const reqModel = new DocumentTypeDocumentSearchRequestModel();\r\n reqModel.DocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId;\r\n reqModel.SearchText = this.fullTextSearch;\r\n\r\n // this.documentCabinetService.GetDocumentTypeDocumentIdsForFullText(this.documentTypeResponseModel?.DocumentTypeId, this.fullTextSearch)\r\n this.documentCabinetService.GetDocumentTypeDocumentIdsForFullText(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n this.listOfFullTextSearchedDocIds = new Array();\r\n if(result.ResponseModel.length > 0) {\r\n this.listOfFullTextSearchedDocIds = result.ResponseModel;\r\n\r\n var fullTextSearchedRecords = new Array();\r\n // filter the records that are in list of full text search ids list\r\n\r\n this.listOfFullTextSearchedDocIds.forEach(docId => {\r\n // var selectedRecord = this.backupRecords.find(x => x.documentTypeDocumentId === docId.DocumentTypeDocumentId);\r\n const selectedRecord = this.backupRecords.filter((obj) => {\r\n \r\n return obj['DocumentTypeInboxId']?.toString().toLowerCase() === docId.DocumentTypeInboxId.toString().toLowerCase();\r\n });\r\n \r\n // if (selectedRecord !== undefined || selectedRecord !== null || selectedRecord.length > 0) {\r\n if (selectedRecord !== undefined && selectedRecord !== null && selectedRecord.length > 0) {\r\n fullTextSearchedRecords.push(selectedRecord[0]);\r\n }\r\n });\r\n\r\n this.searchRecords = fullTextSearchedRecords;\r\n\r\n if (this.metadataSearchModel.length > 0) {\r\n // this.searchRecords = new Array();\r\n this.searchRecordsTemp = fullTextSearchedRecords;\r\n this.searchInMetadata();\r\n }\r\n else {\r\n this.searchRecords = fullTextSearchedRecords;\r\n }\r\n }\r\n else {\r\n this.searchRecords = new Array();\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n } else {\r\n //this.searchRecords = this.backupRecords;\r\n this.searchInMetadata();\r\n }\r\n\r\n // this.searchRecords = this.backupRecords;\r\n \r\n // var that = this;\r\n // this.searchFilterDataTemp.forEach(value => {\r\n // \r\n // if (value.FieldType === enumFieldTypes.enumInteger) {\r\n // const result = that.searchRecords.filter((obj) => {\r\n \r\n // return parseInt(obj[value.FieldName]) >= parseInt(value.FieldValueFrom) && parseInt(obj[value.FieldName]) <= parseInt(value.FieldValueTo);\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n // else if (value.FieldType === enumFieldTypes.enumDecimal || value.FieldType === enumFieldTypes.enumCurrency) {\r\n // \r\n // const result = that.searchRecords.filter((obj) => {\r\n // return parseFloat(obj[value.FieldName]) >= parseFloat(value.FieldValueFrom) && parseFloat(obj[value.FieldName]) <= parseFloat(value.FieldValueTo);\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n // else if (value.FieldType === enumFieldTypes.enumDate) {\r\n // \r\n // const result = that.searchRecords.filter((obj) => {\r\n // // return (obj[value.FieldName] as Date) >= (value.FieldValueFrom as Date) && (obj[value.FieldName] as Date) <= (value.FieldValueTo as Date);\r\n // return (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) >= (moment(value.FieldValueFrom, 'MM/DD/YYYY').format('YYYY/MM/DD')) && (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) <= (moment(value.FieldValueTo, 'MM/DD/YYYY').format('YYYY/MM/DD'));\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n // else {\r\n // const result = that.searchRecords.filter((obj) => {\r\n // \r\n // return obj[value.FieldName]?.toString().toLowerCase() === value.FieldValueFrom.toString().toLowerCase();\r\n // });\r\n // that.searchRecords = result;\r\n // }\r\n\r\n\r\n\r\n // });\r\n \r\n // //that.searchRecords = that.searchRecords.filter(item => {\r\n\r\n\r\n // //let notMatchingField = Object.keys(this.searchFilterData).find(key =>\r\n\r\n // // !item[key]?.toString().toLowerCase().includes(this.searchFilterData[key]?.toString().toLowerCase())\r\n\r\n // //);\r\n\r\n // //return !notMatchingField; // true if matches all fields\r\n\r\n // //});\r\n\r\n this.loading = false;\r\n this.customLoader = false;\r\n this.searchLoader = false;\r\n }\r\n\r\n searchInMetadataOLD(){\r\n \r\n var that = this;\r\n this.searchFilterDataTemp.forEach(value => {\r\n\r\n if (value.FieldType === enumFieldTypes.enumInteger) {\r\n\r\n const result = that.searchRecords.filter((obj) => { \r\n return parseInt(obj[value.FieldName]) >= parseInt(value.FieldValueFrom) && parseInt(obj[value.FieldName]) <= parseInt(value.FieldValueTo);\r\n });\r\n that.searchRecords = result;\r\n }\r\n else if (value.FieldType === enumFieldTypes.enumDecimal || value.FieldType === enumFieldTypes.enumCurrency) {\r\n\r\n const result = that.searchRecords.filter((obj) => {\r\n return parseFloat(obj[value.FieldName]) >= parseFloat(value.FieldValueFrom) && parseFloat(obj[value.FieldName]) <= parseFloat(value.FieldValueTo);\r\n });\r\n that.searchRecords = result;\r\n }\r\n else if (value.FieldType === enumFieldTypes.enumDate) {\r\n\r\n const result = that.searchRecords.filter((obj) => {\r\n // return (obj[value.FieldName] as Date) >= (value.FieldValueFrom as Date) && (obj[value.FieldName] as Date) <= (value.FieldValueTo as Date);\r\n return (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) >= (moment(value.FieldValueFrom, 'MM/DD/YYYY').format('YYYY/MM/DD')) && (moment(obj[value.FieldName], 'MM/DD/YYYY').format('YYYY/MM/DD')) <= (moment(value.FieldValueTo, 'MM/DD/YYYY').format('YYYY/MM/DD'));\r\n });\r\n that.searchRecords = result;\r\n }\r\n else {\r\n const result = that.searchRecords.filter((obj) => {\r\n return obj[value.FieldName]?.toString().toLowerCase() === value.FieldValueFrom.toString().toLowerCase();\r\n });\r\n that.searchRecords = result;\r\n }\r\n\r\n });\r\n }\r\n\r\n searchInMetadata(){\r\n \r\n var reqModel = new MetadataSearchRequestModel();\r\n reqModel.DocumentTypeId = this.documentTypeResponseModel.DocumentTypeId;\r\n reqModel.forCustomPage = true;\r\n reqModel.MetadataSearch = this.metadataSearchModel;\r\n\r\n this.documentCabinetService.GetMetadataSearchData(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n \r\n if(result.ResponseModel.BackupSearchRecords?.length > 0) {\r\n // this.searchRecords = result.ResponseModel.BackupSearchRecords;\r\n\r\n if (!(this.listOfFullTextSearchedDocIds?.length > 0 && this.searchRecordsTemp?.length > 0)) {\r\n \r\n // this.searchRecords = this.backupSearchRecords; \r\n this.searchRecordsTemp = this.backupSearchRecords;\r\n }\r\n //var filteredRecords = this.searchRecords.filter(function (o1) {\r\n // // filter out (!) items in result2\r\n // return result.ResponseModel.BackupSearchRecords.some(function (o2) {\r\n // return o1['DocumentTypeDocumentId'] === o2['DocumentTypeDocumentId']; // assumes unique id\r\n // });\r\n //});\r\n var filteredRecords = this.searchRecordsTemp.filter(function (o1) {\r\n // filter out (!) items in result2\r\n return result.ResponseModel.BackupSearchRecords.some(function (o2) {\r\n // return o1['DocumentTypeDocumentId'] === o2['DocumentTypeDocumentId']; // assumes unique id\r\n return o1['DocumentTypeInboxId'] === o2['DocumentTypeInboxId']; // assumes unique id\r\n });\r\n });\r\n \r\n if (filteredRecords.length > 0) {\r\n this.searchRecords = filteredRecords;\r\n }\r\n }\r\n else {\r\n this.searchRecords = new Array();\r\n }\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n \r\n }\r\n\r\n filterClickEvent() {\r\n this.filterResposniveEvent = !this.filterResposniveEvent;\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.yearRange = '1900:' + (new Date().getFullYear() + 50);\r\n this.searchFilterData = {};\r\n this.searchFilterDataTemp = new Array();\r\n this.forgotPasswordRequestModel = new ForgotPasswordModel();\r\n this.documentTypeResponseModel = new DocumentTypeResponseModel();\r\n this.metadataSearchModel = new Array();\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n\r\n this.queryString = params['queryString'];\r\n });\r\n\r\n if (this.queryString) {\r\n if(this.queryString.charAt(this.queryString.length - 1) !== '='){\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString + \"=\";\r\n } else {\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString;\r\n }\r\n this.authenticateCustomPage();\r\n }\r\n\r\n\r\n this.paginationPage = parseInt($('.cdp').attr('actpage'), 10);\r\n\r\n }\r\n\r\n onPageClick(pagenumber: number) {\r\n this.cabinetRequestModel.PageNo = pagenumber;\r\n\r\n this.getFileCabinetRecordsById();\r\n\r\n }\r\n\r\n // onSelectChange(searchBox: any) {\r\n // \r\n // this.searchInputList;\r\n // var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n // if (searchValue) {\r\n // this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue;\r\n // } else {\r\n // this.isDocuware ? delete this.searchFilterData[searchBox.DisplayAs] : delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n // }\r\n\r\n // }\r\n\r\n onSelectChange(event :any,searchBox: any) {\r\n\r\n if(event?.label) {\r\n\r\n this.form.get(searchBox.FieldName).setValue(event);\r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n }\r\n else {\r\n if(event?.FieldValue) {\r\n this.form.get(searchBox.FieldName).setValue(event);\r\n var searchValue1 = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue1) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue1 : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue1;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n } else {\r\n if(searchBox?.DocumentTypeMetadataId == 0) {\r\n this.form.get(searchBox.FieldName).setValue(event.value);\r\n } \r\n else {\r\n if(this.isDocuware) {\r\n this.form.get(searchBox.FieldName).setValue(null);\r\n if(this.searchFilterDataTemp?.length > 0) {\r\n this.isDocuware ? delete this.searchFilterData[searchBox.DisplayAs] : delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n else {\r\n this.form.get(searchBox.FieldName).setValue(event?.value);\r\n this.searchFilterData[searchBox.DisplayAs] = this.form.get(searchBox.FieldName)?.value;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n\r\n onDropdownChange(event :any,searchBox: any) {\r\n \r\n if(event?.value) {\r\n \r\n this.form.get(searchBox.FieldName).setValue(event.value);\r\n var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n }\r\n else {\r\n if(event?.FieldValue) {\r\n this.form.get(searchBox.FieldName).setValue(event);\r\n var searchValue1 = this.form.get(searchBox.FieldName)?.value;\r\n if (searchValue1) {\r\n if(this.searchFilterDataTemp == undefined){\r\n this.searchFilterDataTemp = new Array();\r\n }\r\n this.isDocuware ? this.searchFilterData[searchBox.DisplayAs] = searchValue1 : this.searchFilterDataTemp[searchBox.DisplayAs] = searchValue1;\r\n } else {\r\n //delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n } else {\r\n if(searchBox?.DocumentTypeMetadataId == 0) {\r\n this.form.get(searchBox.FieldName).setValue(event.value);\r\n } \r\n else {\r\n if(this.isDocuware) {\r\n this.form.get(searchBox.FieldName).setValue(null);\r\n if(this.searchFilterDataTemp?.length > 0) {\r\n this.isDocuware ? delete this.searchFilterData[searchBox.DisplayAs] : delete this.searchFilterDataTemp[searchBox.DisplayAs];\r\n }\r\n else {\r\n this.form.get(searchBox.FieldName).setValue(event?.value);\r\n this.searchFilterData[searchBox.DisplayAs] = this.form.get(searchBox.FieldName)?.value;\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n \r\n //// This was used when we didn't apply API call for filter\r\n // filterAutoCompleteSuggestion(event: any, searchBox) {\r\n\r\n // searchBox.FilteredValues = new Array<{ label: '', value: '' }>();\r\n\r\n // let query = event.query;\r\n // if (query.length > 0) {\r\n // searchBox.FilteredValues = searchBox.Values.filter(x => x.label.toLowerCase().trim().includes(query.toLowerCase().trim()));\r\n // }\r\n // }\r\n\r\n filterAutoCompleteSuggestion(event: any, searchBox) {\r\n \r\n let query = event.query;\r\n \r\n if(query.length >= 2) {\r\n searchBox.FilteredValues = new Array();\r\n\r\n this.documentCabinetService.GetFilterDataForSearch(searchBox.DocumentTypeMetadataId, query)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n this.loading = true;\r\n if (result.IsSuccess) {\r\n searchBox.FilteredValues = result.ResponseModel;\r\n this.FilterValues = result.ResponseModel;\r\n\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n else {\r\n searchBox.FilteredValues = new Array();\r\n }\r\n }\r\n\r\n filterDropdownSuggestion(searchBox: number, fieldName: string) {\r\n \r\n // searchBox.FilteredValues = new Array();\r\n \r\n this.documentCabinetService.GetFilterData(searchBox)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n \r\n this.processResult(result, () => {\r\n console.log(result.ResponseModel);\r\n this.loading = true;\r\n \r\n if (result.IsSuccess) {\r\n \r\n result.ResponseModel.forEach(\r\n x=> {\r\n this.optionList.push({FieldName: fieldName, label: x.label, value: x.value})\r\n }\r\n )\r\n \r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n BindDropdown(fieldName: string){\r\n \r\n var lst: FilterValueModel[] = [];\r\n lst.push({ FieldName: fieldName, label: \"All\", value: \"\" });\r\n this.optionList.filter(x => x.FieldName == fieldName).forEach(x => {\r\n lst.push(x);\r\n });\r\n return lst;\r\n }\r\n\r\n filterAutoCompleteSuggestionForSpecialCompanies(event: any, searchBox) {\r\n \r\n\r\n \r\n let query = event.query;\r\n if (query.length > 0) {\r\n // searchBox.SearchFieldValuesFiltered = searchBox.SearchableFieldValues.filter(x => x.FieldValue.toString().toLowerCase().trim().includes(query.toLowerCase().trim()));\r\n // searchBox.SearchFieldValuesFiltered = searchBox.SearchFieldValuesFiltered.filter((thing, i, arr) => {\r\n // return arr.indexOf(arr.find(t => t.FieldValue.toString().toLowerCase().trim() === thing.FieldValue.toString().toLowerCase().trim())) === i;\r\n // });\r\n searchBox.SearchFieldValuesFiltered = new Array();\r\n this.documentCabinetService.GetFilterDataForSpecialCompanies(searchBox.SearchableFieldId, query)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n this.loading = true;\r\n if (result.IsSuccess) {\r\n searchBox.FilteredValues = result.ResponseModel;\r\n this.FilterValuesForSpecialCompanies = result.ResponseModel;\r\n \r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n else {\r\n searchBox.SearchFieldValuesFiltered = new Array();\r\n }\r\n }\r\n\r\n onSearchOLD() {\r\n // this.isSearch = true;\r\n this.searchFilterDataTemp = new Array();\r\n this.displayClearButton = true;\r\n if (this.isDocuware) {\r\n var searchValue = this.form.get(\"FULL_TEXT\")?.value;\r\n if (searchValue) {\r\n this.searchFilterData['Full Text'] = searchValue;\r\n }\r\n const countKeys = Object.keys(this.searchFilterData);\r\n if (countKeys.length > 0) {\r\n\r\n // this.searchRecords = this.backupRecords;\r\n this.filter();\r\n } else {\r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n }\r\n else {\r\n for(let searchBox of this.searchInputList) {\r\n if(!(searchBox.FieldName === 'FULL_TEXT')) {\r\n\r\n var searchDataItem = {};\r\n if (searchBox.FieldType === enumFieldTypes.enumInteger || searchBox.FieldType === enumFieldTypes.enumDecimal || searchBox.FieldType === enumFieldTypes.enumCurrency) {\r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n // this.searchFilterDataTemp[searchBox.DisplayAs+'From'] = searchValueFrom;\r\n //this.searchFilterDataTemp[searchBox.DisplayAs + 'To'] = searchValueTo;\r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem['FieldName'] = searchBox.FieldName;\r\n searchDataItem['FieldType'] = searchBox.FieldType;\r\n searchDataItem['FieldValueFrom'] = searchValueFrom;\r\n searchDataItem['FieldValueTo'] = searchValueTo;\r\n searchDataItem['DocumentTypeMetadataId'] = searchBox.DocumentTypeMetadataId;\r\n \r\n if(parseFloat(searchValueFrom) > parseFloat(searchValueTo)) {\r\n this.timeoutFunct('Please apply appropriate '+ searchBox.FieldName +' range', false);\r\n return;\r\n }\r\n \r\n this.searchFilterDataTemp.push(searchDataItem);\r\n }\r\n else if(searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n } \r\n else if(!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n \r\n } \r\n else if (searchBox.FieldType === enumFieldTypes.enumDate) {\r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem['FieldName'] = searchBox.FieldName;\r\n searchDataItem['FieldType'] = searchBox.FieldType;\r\n searchDataItem['DocumentTypeMetadataId'] = searchBox.DocumentTypeMetadataId;\r\n \r\n const momentDateValueFrom = moment(searchValueFrom, 'MM/DD/YYYY');\r\n var dateValueFrom = momentDateValueFrom.format('MM/DD/YYYY');\r\n searchDataItem['FieldValueFrom'] = dateValueFrom;\r\n const momentDateValueTo = moment(searchValueTo, 'MM/DD/YYYY');\r\n var dateValueTo = momentDateValueTo.format('MM/DD/YYYY');\r\n searchDataItem['FieldValueTo'] = dateValueTo;\r\n \r\n if(dateValueFrom > dateValueTo) {\r\n this.timeoutFunct('Please apply appropriate date range', false);\r\n return;\r\n }\r\n \r\n this.searchFilterDataTemp.push(searchDataItem);\r\n }\r\n else if (searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n }\r\n else if (!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n }\r\n else {\r\n var searchValue = this.form.get(searchBox.FieldName)?.value?.label ? this.form.get(searchBox.FieldName)?.value?.label : this.form.get(searchBox.FieldName)?.value;\r\n\r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValue) {\r\n searchDataItem['FieldName'] = searchBox.FieldName;\r\n searchDataItem['FieldType'] = searchBox.FieldType;\r\n searchDataItem['FieldValueFrom'] = searchValue;\r\n searchDataItem['FieldValueTo'] = searchValue;\r\n searchDataItem['DocumentTypeMetadataId'] = searchBox.DocumentTypeMetadataId;\r\n this.searchFilterDataTemp.push(searchDataItem);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.fullTextSearch = this.form.get('FULL_TEXT')?.value;\r\n }\r\n \r\n\r\n // else \r\n // {\r\n // var searchValue = this.form.get(searchBox.FieldName)?.value;\r\n // if (searchValue) {\r\n // if (searchBox.FieldType === 'Date') {\r\n \r\n // const momentDateValue = moment(searchValue, 'MM/DD/YYYY');\r\n // var dateValue = momentDateValue.format('MM/DD/YYYY');\r\n // this.searchFilterData[searchBox.DisplayAs] = dateValue;\r\n \r\n // }\r\n // else if (searchBox.FieldType !== 'Date' && searchBox.DisplayAs == 'Full Text') {\r\n // this.searchFilterData[searchBox.DisplayAs] = searchValue;\r\n // }\r\n // else {\r\n // if (searchValue.label)\r\n // this.searchFilterData[searchBox.DisplayAs] = searchValue.label;\r\n // else\r\n // this.searchFilterData[searchBox.DisplayAs] = searchValue;\r\n // }\r\n // }\r\n // }\r\n\r\n }\r\n if (this.searchFilterDataTemp.length > 0 || this.fullTextSearch !== '') {\r\n this.filterInAppDocs();\r\n } else {\r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n onSearch() {\r\n\r\n // this.isSearch = true;\r\n // this.searchFilterDataTemp = new Array();\r\n \r\n this.searchRecords = [];\r\n this.searchRecordsTemp = [];\r\n\r\n this.displayClearButton = true;\r\n if (this.isDocuware) {\r\n var searchValue = this.form.get(\"FULL_TEXT\")?.value;\r\n if (searchValue) {\r\n this.searchFilterData['Full Text'] = searchValue;\r\n }\r\n const countKeys = Object.keys(this.searchFilterData);\r\n if (countKeys.length > 0) {\r\n\r\n // this.searchRecords = this.backupRecords;\r\n this.filter();\r\n } else {\r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n }\r\n else {\r\n\r\n this.metadataSearchModel = new Array< MetadataSearchModel>();\r\n for(let searchBox of this.searchInputList) {\r\n\r\n if(!(searchBox.FieldName === 'FULL_TEXT')) {\r\n\r\n var searchDataItem = new MetadataSearchModel;\r\n if (searchBox.FieldType === enumFieldTypes.enumInteger || searchBox.FieldType === enumFieldTypes.enumDecimal || searchBox.FieldType === enumFieldTypes.enumCurrency) {\r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n // this.searchFilterDataTemp[searchBox.DisplayAs+'From'] = searchValueFrom;\r\n //this.searchFilterDataTemp[searchBox.DisplayAs + 'To'] = searchValueTo;\r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem.FieldName = searchBox.FieldName;\r\n searchDataItem.FieldType = searchBox.FieldType;\r\n searchDataItem.FieldValueFrom = searchValueFrom;\r\n searchDataItem.FieldValueTo = searchValueTo;\r\n searchDataItem.DocumentTypeMetadataId = searchBox.DocumentTypeMetadataId;\r\n \r\n if(parseFloat(searchValueFrom) > parseFloat(searchValueTo)) {\r\n this.timeoutFunct('Please apply appropriate '+ searchBox.FieldName +' range', false);\r\n return;\r\n }\r\n \r\n this.metadataSearchModel.push(searchDataItem);\r\n }\r\n else if(searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n } \r\n else if(!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n \r\n } \r\n else if (searchBox.FieldType === enumFieldTypes.enumDate) {\r\n \r\n var searchValueFrom = this.form.get(searchBox.FieldName + 'From')?.value;\r\n var searchValueTo = this.form.get(searchBox.FieldName + 'To')?.value;\r\n \r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValueFrom && searchValueTo) {\r\n searchDataItem.FieldName = searchBox.FieldName;\r\n searchDataItem.FieldType = searchBox.FieldType;\r\n searchDataItem.DocumentTypeMetadataId = searchBox.DocumentTypeMetadataId;\r\n \r\n const momentDateValueFrom = moment(searchValueFrom, 'MM/DD/YYYY');\r\n var dateValueFrom = momentDateValueFrom.format('MM/DD/YYYY');\r\n searchDataItem.FieldValueFrom = dateValueFrom;\r\n const momentDateValueTo = moment(searchValueTo, 'MM/DD/YYYY');\r\n var dateValueTo = momentDateValueTo.format('MM/DD/YYYY');\r\n searchDataItem.FieldValueTo = dateValueTo;\r\n \r\n // if(dateValueFrom > dateValueTo) {\r\n // this.timeoutFunct('Please apply appropriate date range', false);\r\n // return;\r\n // }\r\n if(momentDateValueFrom > momentDateValueTo) {\r\n this.timeoutFunct('Please apply appropriate date range', false);\r\n return;\r\n }\r\n \r\n this.metadataSearchModel.push(searchDataItem);\r\n }\r\n else if (searchValueFrom && !searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' To filter', false);\r\n return;\r\n }\r\n else if (!searchValueFrom && searchValueTo) {\r\n this.timeoutFunct('Please apply ' + searchBox.FieldName + ' From filter', false);\r\n return;\r\n }\r\n }\r\n }\r\n else {\r\n \r\n var searchValue = this.form.get(searchBox.FieldName)?.value?.label ? this.form.get(searchBox.FieldName)?.value?.label : this.form.get(searchBox.FieldName)?.value;\r\n \r\n if (!this.searchFilterDataTemp.includes(searchBox.FieldName)) {\r\n if (searchValue) {\r\n searchDataItem.FieldName = searchBox.FieldName;\r\n searchDataItem.FieldType = searchBox.FieldType;\r\n searchDataItem.FieldValueFrom = searchValue;\r\n searchDataItem.FieldValueTo = searchValue;\r\n searchDataItem.DocumentTypeMetadataId = searchBox.DocumentTypeMetadataId;\r\n this.metadataSearchModel.push(searchDataItem);\r\n }\r\n }\r\n }\r\n }\r\n else {\r\n this.fullTextSearch = this.form.get('FULL_TEXT')?.value;\r\n }\r\n \r\n }\r\n if (this.metadataSearchModel.length > 0 || (this.fullTextSearch !== '' && this.fullTextSearch != null && this.fullTextSearch != undefined)) {\r\n this.filterInAppDocs();\r\n } else { \r\n this.displayClearButton = false;\r\n this.timeoutFunct('Please select search filter', false);\r\n }\r\n\r\n }\r\n\r\n }\r\n\r\n recFunct(recordList: DocuwareRecordsModel[], searchFieldName: string, searchValue: string) {\r\n var searchedRecords = new Array();\r\n\r\n if (recordList?.length > 0) {\r\n\r\n recordList.forEach(record => {\r\n\r\n var result = record.DocuwareFields.filter(x => x.FieldName == searchFieldName && x.FieldValue.includes(searchValue));\r\n if (result.length !== 0) {\r\n searchedRecords.push(record);\r\n }\r\n\r\n });\r\n }\r\n return searchedRecords;\r\n }\r\n\r\n\r\n onReset() {\r\n this.form.reset();\r\n this.searchFilterData = {};\r\n this.displayClearButton = false;\r\n // this.isSearch = false;\r\n\r\n // this.searchRecords = this.backupRecords;\r\n // this.displayPagination = true;\r\n\r\n // if (this.cabinetRequestModel.ServerURL !== 'https://nashuanh.docuware.cloud') {\r\n // this.searchRecords = this.backupRecords;\r\n // this.displayPagination = true;\r\n // }\r\n // else {\r\n // this.searchRecords = null;\r\n // this.displayPagination = false;\r\n // }\r\n\r\n this.displayPagination = false;\r\n this.isInitialEmptyState = true;\r\n\r\n if(this.isDocuware) {\r\n this.searchRecords = null;\r\n this.searchRecordsTemp = null;\r\n } else {\r\n this.searchRecords = this.backupRecords;\r\n this.searchRecordsTemp = this.backupRecords;\r\n }\r\n\r\n }\r\n\r\n onDownload(record: any) {\r\n\r\n\r\n this.cabinetRequestModel.DocuwareDocumentId = record.DocumentId.toString();\r\n\r\n this.docuwareCabinetService.generateDocumentViewerLink(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n\r\n this.documentViewerLink = result.ResponseModel;\r\n window.open(this.documentViewerLink, \"_blank\");\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n onView(id) {\r\n \r\n this.base64String = '';\r\n var foundDoc = this.searchRecords.find((obj) => {\r\n // return parseInt(obj['DocumentTypeDocumentId']) === id;\r\n return parseInt(obj['DocumentTypeInboxId']) === id;\r\n });\r\n if(foundDoc !== undefined) {\r\n this.DocumentViewerPopup = true;\r\n // var documentPath = foundDoc['DocumentPath'];\r\n // this.fileName = documentPath.split('\\\\').pop().split('/').pop();\r\n // var indexOf = documentPath.indexOf('\\Documents');\r\n // var fileNamePath = documentPath.substr(indexOf, foundDoc.DocumentPath.length)\r\n // this.fileExtension = this.fileName.substr(this.fileName.lastIndexOf('.') + 1, this.fileName.length).toLowerCase();\r\n const fileName = foundDoc?.DocumentPath.split('\\\\').pop().split('/').pop();\r\n this.fileExtension = fileName.split('.').pop().toLowerCase();\r\n\r\n const forFileName = this.documents?.find(x => x.DocumentTypeInboxId === id);\r\n this.fileName = (forFileName !== undefined) ? forFileName.ActualDocumentName : fileName ;\r\n \r\n var baseUrl = environment.baseUrl;\r\n // this.filePath = baseUrl + fileNamePath;\r\n this.selectedFileId = id;\r\n\r\n if(foundDoc !== undefined) {\r\n this.DocumentViewerPopup = true;\r\n \r\n \r\n const reqModel = new DownloadFile();\r\n reqModel.StrFileName = fileName;\r\n reqModel.StrCompanyId = this.companyResponseModel?.CompanyId.toString();\r\n reqModel.StrDocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId.toString();\r\n // reqModel.DownloadFromInbox = true;\r\n reqModel.DownloadFromInbox = false;\r\n\r\n this.viewerLoader = true;\r\n this.documentCabinetService.GetBase64ForViewer(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n \r\n if(result) {\r\n // this.base64String = '';\r\n if(result.ResponseModel != '') {\r\n switch(this.fileExtension.toLowerCase()) {\r\n case '.png':\r\n case 'png':\r\n this.isImage = true;\r\n this.isPdf = false;\r\n this.base64String = 'data:image/png;base64,' + result.ResponseModel; \r\n break;\r\n \r\n case 'jpg':\r\n this.isImage = true;\r\n this.isPdf = false;\r\n this.base64String = this.base64String = 'data:image/jpeg;base64,' + result.ResponseModel;\r\n break;\r\n\r\n case 'tiff':\r\n this.isImage = true;\r\n this.isPdf = false;\r\n const binaryData = Uint8Array.from(atob(result.ResponseModel), c => c.charCodeAt(0)); \r\n const tiff = new Tiff({buffer: binaryData}); \r\n const canvas = tiff.toCanvas();\r\n const jpgBase64Data = canvas.toDataURL(\"image/jpeg\").replace(/^data:image\\/jpeg;base64,/, \"\");\r\n this.base64String=\"data:image/jpeg;base64,\"+jpgBase64Data;\r\n break;\r\n \r\n case 'pdf':\r\n this.isImage = false;\r\n this.isPdf = true;\r\n this.base64String = this.base64String = 'data:application/pdf;base64,' + result.ResponseModel;\r\n }\r\n }\r\n \r\n // importedSaveAs(result,fileName);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n this.viewerLoader = false;\r\n }, (httpResponseError) => {\r\n \r\n this.viewerLoader = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n \r\n }\r\n }\r\n\r\n }\r\n transformImg(){\r\n if(this.base64String != '') {\r\n return this.sanitizer.bypassSecurityTrustResourceUrl(this.base64String);\r\n }\r\n }\r\n\r\n onCloseDocumentViewer (){\r\n this.DocumentViewerPopup = false;\r\n this.base64String = '';\r\n this.isImage = false;\r\n this.isPdf = false;\r\n this.viewerLoader= false;\r\n }\r\n\r\n onFileDownload(id) {\r\n \r\n var foundDoc = this.searchRecords.find((obj) => {\r\n // return parseInt(obj['DocumentTypeDocumentId']) === id;\r\n return parseInt(obj['DocumentTypeInboxId']) === id;\r\n });\r\n if (foundDoc !== undefined) {\r\n var documentPath = foundDoc['DocumentPath'];\r\n const fileName = documentPath.split('\\\\').pop().split('/').pop();\r\n\r\n const reqModel = new DownloadFile();\r\n reqModel.StrFileName = fileName;\r\n reqModel.StrCompanyId = this.companyResponseModel?.CompanyId.toString();\r\n reqModel.StrDocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId.toString();\r\n reqModel.DownloadFromInbox = false;\r\n\r\n this.documentCabinetService.DownloadFile(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: any) => {\r\n this.processResult(result, () => {\r\n\r\n if (result) {\r\n importedSaveAs(result, this.fileName);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n }\r\n\r\n onPdfDownload(id) {\r\n \r\n var foundDoc = this.searchRecords.find((obj) => {\r\n // return parseInt(obj['DocumentTypeDocumentId']) === id;\r\n return parseInt(obj['DocumentTypeInboxId']) === id;\r\n });\r\n if (foundDoc !== undefined) {\r\n var documentPath = foundDoc['DocumentPath'];\r\n const fileName = documentPath.split('\\\\').pop().split('/').pop();\r\n\r\n const reqModel = new DownloadFile();\r\n reqModel.StrFileName = fileName;\r\n reqModel.StrCompanyId = this.companyResponseModel?.CompanyId.toString();\r\n reqModel.StrDocumentTypeId = this.documentTypeResponseModel?.DocumentTypeId.toString();\r\n reqModel.DownloadFromInbox = false;\r\n\r\n this.documentCabinetService.DownloadFile(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: any) => {\r\n this.processResult(result, () => {\r\n\r\n if (result) {\r\n \r\n // importedSaveAs(result, this.fileName);\r\n var file = new Blob([result], {type: 'application/pdf'});\r\n const blobURL= URL.createObjectURL(file);\r\n // window.open(blobURL, '_blank');\r\n var iframe = document.createElement('iframe'); //load content in an iframe to print later\r\n document.body.appendChild(iframe);\r\n\r\n iframe.style.display = 'none';\r\n iframe.src = blobURL;\r\n // iframe.focus();\r\n // iframe.contentWindow.print();\r\n\r\n iframe.onload = function() {\r\n setTimeout(function() {\r\n iframe.focus();\r\n iframe.contentWindow.print();\r\n }, 500);\r\n };\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n // event.data.sort((data1, data2) => {\r\n // let value1 = data1[event.field];\r\n // let value2 = data2[event.field];\r\n // let result = null;\r\n\r\n // if (value1 == null && value2 != null)\r\n // result = -1;\r\n // else if (value1 != null && value2 == null)\r\n // result = 1;\r\n // else if (value1 == null && value2 == null)\r\n // result = 0;\r\n // else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n // result = value1.localeCompare(value2);\r\n // else\r\n // result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n // return (event.order * result);\r\n // });\r\n\r\n\r\n event.data.sort((data1, data2) => {\r\n let value1 = data1[event.field];\r\n let value2 = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (value1 != null && value2 != null ) {\r\n if( event.field.toLocaleLowerCase().includes('date')) {\r\n var datevalue1 = moment(value1, 'MM/DD/YYYY').format('YYYY/MM/DD');\r\n var datevalue2 = moment(value2, 'MM/DD/YYYY').format('YYYY/MM/DD');\r\n\r\n result = ( datevalue1 <= datevalue2 ) ? -1 : (datevalue1 > datevalue2 ) ? 1 : 0;\r\n }\r\n\r\n // else if (event.field.toLocaleLowerCase() === 'currency' || event.field.toLocaleLowerCase() === 'decimal' || event.field.toLocaleLowerCase() === 'integer') {\r\n else if (!value1.match(/[a-z]/i) && !value2.match(/[a-z]/i)) {\r\n var floatvalue1 = parseFloat(value1);\r\n var floatvalue2 = parseFloat(value2);\r\n\r\n result = (floatvalue1 <= floatvalue2) ? -1 : (floatvalue1 > floatvalue2) ? 1 : 0;\r\n }\r\n\r\n else \r\n result = value1.localeCompare(value2);\r\n }\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n\r\n\r\n }\r\n\r\n onDocumentTypeChange() {\r\n this.selectedDocumentType;\r\n if(this.selectedDocumentType !== null) {\r\n var routerUrl = '/custom-webpage/' + this.selectedDocumentType.DocumentTypeURL ;\r\n this.router.navigate([routerUrl], {relativeTo: this.activatedRoute}); // when working with same route but different query params add 'this.router.routeReuseStrategy.shouldReuseRoute = () => false;' in constructor \r\n }\r\n }\r\n\r\n private authenticateCustomPage() {\r\n this.loading = true;\r\n this.customLoader = true;\r\n this.docuwareCabinetService.authenticateCustomPage(this.forgotPasswordRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n \r\n this.customAuthResponseModel = result.ResponseModel;\r\n\r\n if (this.customAuthResponseModel?.Company) {\r\n this.companyResponseModel = this.customAuthResponseModel.Company;\r\n }\r\n\r\n if (this.customAuthResponseModel?.DocumentType) {\r\n this.documentTypeResponseModel = this.customAuthResponseModel?.DocumentType;\r\n this.cardImageBase64 = 'data:image/png;base64,' + this.documentTypeResponseModel.LogoImage;\r\n }\r\n\r\n if (this.documentTypeResponseModel.LogoImage) {\r\n this.cardImageBase64 = 'data:image/png;base64,' + this.documentTypeResponseModel.LogoImage;\r\n }\r\n\r\n this.cabinetRequestModel = new DocuwareCabinetReuestModel();\r\n this.cabinetRequestModel.DocumentTypeId = this.customAuthResponseModel?.DocumentType?.DocumentTypeId;\r\n this.cabinetRequestModel.CabinetId = this.customAuthResponseModel?.DocumentType?.DocuwareCabinetId;\r\n this.cabinetRequestModel.OrganizationName = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.OrganizationName;\r\n this.cabinetRequestModel.ServerURL = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.ServerURL;\r\n this.cabinetRequestModel.UserName = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.UserName;\r\n this.cabinetRequestModel.Password = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.Password;\r\n this.cabinetRequestModel.PassPhrase = this.customAuthResponseModel?.Company?.DocuwareMasters[0]?.PassPhrase;\r\n this.cabinetRequestModel.PageNo = 1;\r\n this.cabinetRequestModel.PageSize = this.pageSize;\r\n\r\n if (this.companyResponseModel?.DocuwareMasters?.length > 0 && this.companyResponseModel?.InterfaceWith === enumDatabaseType.enumDocuware) {\r\n this.isDocuware = true;\r\n // this.getFileCabinetRecordsById();\r\n // if(this.cabinetRequestModel.ServerURL !== 'https://nashuanh.docuware.cloud'){\r\n // this.getFileCabinetRecordsById();\r\n // }\r\n if (this.cabinetRequestModel.CabinetId == 'eb2769dc-2eb7-4e7b-a9d8-a9a49d2f1b38' \r\n || this.cabinetRequestModel.CabinetId == '9e1b6b38-2ecc-4c18-b7f5-1a9592c1596e'\r\n || this.cabinetRequestModel.CabinetId == '40ed34b0-23b3-4fa3-9df6-acc88589364a') {\r\n \r\n this.getSearchableFieldsFromDb();\r\n this.loading = false;\r\n this.customLoader = false;\r\n }\r\n else {\r\n this.forSepcialCompanyDb = false;\r\n this.getSearchControlValues();\r\n }\r\n }\r\n else {\r\n // methods tp get app database records\r\n if (this.documentTypeResponseModel) {\r\n this.forSepcialCompanyDb = false;\r\n this.getHeadersForAppDb();\r\n this.getAllDocumentTypeDocument();\r\n this.getAllDocumentTypeList();\r\n }\r\n }\r\n\r\n } else {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n }\r\n }\r\n else {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n getSearchableFieldsFromDb() {\r\n this.docuwareCabinetService.getSearchableFieldsByCabinetId(this.cabinetRequestModel.CabinetId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n\r\n if (result.ResponseModel) {\r\n this.searchableFieldModel = result.ResponseModel;\r\n if (this.searchableFieldModel.length > 0) {\r\n this.isSearchHasData = true;\r\n this.displayPagination = false;\r\n this.forSepcialCompanyDb = true;\r\n\r\n this.showSearchPanel = true;\r\n }\r\n else {\r\n this.isSearchHasData = false;\r\n\r\n this.showSearchPanel = false;\r\n }\r\n }\r\n this.buildForm();\r\n this.loading = false;\r\n }\r\n else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getHeadersForAppDb() {\r\n this.headers = [];\r\n if (this.documentTypeResponseModel && this.documentTypeResponseModel?.DocumentTypeMetadatas) {\r\n\r\n this.headers.push({ headerName: \"DocumentId\", fieldType: 'Numeric', sequence: -1 });\r\n this.headers.push({ headerName: 'View', fieldType: 'Text', sequence: 0 });\r\n\r\n this.documentTypeResponseModel.DocumentTypeMetadatas.forEach(metadata => {\r\n if (metadata.IsDisplay) {\r\n this.headers.push({ headerName: metadata.DisplayName, fieldType: metadata.FieldType, sequence: metadata.DisplaySequence });\r\n }\r\n\r\n if(metadata.DocumentTypeMetadataOptions.length > 0){\r\n \r\n this.filterDropdownSuggestion(metadata.DocumentTypeMetadataId, metadata.FieldName);\r\n }\r\n });\r\n this.headers = this.headers.sort((a, b) => a.sequence - b.sequence);\r\n }\r\n\r\n // if (this.documentTypeResponseModel?.DocumentTypeMetadatas.length == 0) {\r\n // this.timeoutFunct('Please add document type fields', false);\r\n // }\r\n }\r\n\r\n // private _getAllDocumentTypeDocument() {\r\n\r\n // this.documentCabinetService.GetAllDocumentTypeDocument(this.documentTypeResponseModel.DocumentTypeId)\r\n // .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n // .subscribe((result: ResultOfT) => {\r\n // this.processResult(result, () => {\r\n // if (result.IsSuccess) {\r\n // this.documents = result.ResponseModel;\r\n\r\n // this.searchRecords = [];\r\n // this.backupRecords = [];\r\n // var searchControls = [];\r\n // if (this.documents) {\r\n\r\n // if (this.documents.length > 0) {\r\n // // this.showSearchPanel = true;\r\n \r\n // this.documents.forEach(document => {\r\n // if(document.IsPublic) {\r\n // const record = {};\r\n\r\n // record[\"DocumentTypeDocumentId\"] = document.DocumentTypeDocumentId;\r\n \r\n // document.DocumentTypeDocumentMetadatas.forEach(metadata => {\r\n // if(metadata.DocumentTypeMetadata.FieldType === enumFieldTypes.enumDecimal) {\r\n // var parsedValue = Number(metadata.MetadataValue);\r\n // var formattedDecimal = parsedValue.toFixed(metadata.DocumentTypeMetadata.DecimalPlaces);\r\n // record[metadata.DocumentTypeMetadata.DisplayName] = formattedDecimal.toString();\r\n // } else {\r\n // record[metadata.DocumentTypeMetadata.DisplayName] = metadata.MetadataValue;\r\n // }\r\n // });\r\n // this.searchRecords.push(record);\r\n // searchControls.push(record);\r\n // }\r\n\r\n // });\r\n\r\n // this.backupRecords = this.searchRecords;\r\n\r\n // // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType:'', Sequence: 0, Values: {label:'', value:''}[] }>();\r\n // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType: '', Sequence: 0, Values: { label: '', value: '' }[], FilteredValues: { label: '', value: '' }[] }>();\r\n\r\n // // const searchModel = this.documents[0].DocumentTypeDocumentMetadatas.filter(x => x.DocumentTypeMetadata.IsSearch === true);\r\n // // if(searchModel?.length > 0) {\r\n // \r\n // // searchModel.forEach(item => {\r\n // // this.searchInputList.push( { DisplayAs: item.DocumentTypeMetadata.DisplayName , FieldName: item.DocumentTypeMetadata.FieldName, FieldType: item.DocumentTypeMetadata.FieldType, Sequence: item.DocumentTypeMetadata.SearchSequence , Values: null});\r\n // // });\r\n // // }\r\n\r\n // const searchModel = this.documentTypeResponseModel.DocumentTypeMetadatas.filter(x => x.IsSearch === true);\r\n // if (searchModel?.length > 0) {\r\n // searchModel.forEach(item => {\r\n // // this.searchInputList.push( { DisplayAs: item.DisplayName, FieldName: item.FieldName, FieldType: item.FieldType, Sequence: item.SearchSequence, Values: null} );\r\n // // this.searchInputList.push({ DisplayAs: item.DisplayName, FieldName: item.FieldName, FieldType: item.FieldType, Sequence: item.SearchSequence, Values: null, FilteredValues: null });\r\n \r\n // });\r\n // }\r\n\r\n // this.searchInputList.forEach(item => {\r\n // item.Values = new Array<{ label: '', value: '' }>();\r\n\r\n // searchControls.forEach(rec => {\r\n // //var x = rec[item.DisplayAs];\r\n\r\n // if (rec[item.DisplayAs] !== undefined) {\r\n // var repeated = item.Values.filter(x => x.label.toLowerCase().trim() == rec[item.DisplayAs].toLowerCase().trim());\r\n // if (rec[item.DisplayAs] !== null && rec[item.DisplayAs] !== '' && rec[item.DisplayAs] !== ' ' && repeated.length < 1) {\r\n // item.Values.push({ label: rec[item.DisplayAs], value: rec[item.DisplayAs] });\r\n // }\r\n // }\r\n // });\r\n\r\n // item.Values = item.Values.sort((a, b) => {\r\n // return a.label.toLowerCase().trim().localeCompare(b.label.toLowerCase().trim());\r\n // });\r\n\r\n // });\r\n\r\n // this.searchInputList = this.searchInputList.sort((a,b) => a.Sequence - b.Sequence);\r\n // // this.searchRecords = [];\r\n\r\n // if(this.searchRecords?.length > 0 && this.searchInputList?.length > 0) {\r\n // this.showSearchPanel = true;\r\n // }\r\n // }\r\n // }\r\n // // console.clear();\r\n // // console.log(\"Search records\");\r\n // // console.log(this.searchRecords);\r\n // // console.log(\"Search input list\");\r\n // // console.log(this.searchInputList);\r\n // // console.log(\"Search filter\");\r\n // // console.log(this.searchFilterData)\r\n // // console.log(\"Headers\");\r\n // // console.log(this.headers);\r\n\r\n // // console.log(\"documents\");\r\n // // console.log(this.documents);\r\n // // console.log(\"document type response model\");\r\n // // console.log(this.documentTypeResponseModel);\r\n \r\n // this.buildForm();\r\n // this.searchLoader = false;\r\n // this.customLoader = false;\r\n // } else {\r\n // this.timeoutFunct(result.Message, false);\r\n // }\r\n // });\r\n // }, (httpResponseError) => {\r\n // this.timeoutFunct(httpResponseError.message, false);\r\n // });\r\n // this.loading = false;\r\n // }\r\n\r\n private getAllDocumentTypeDocument() {\r\n\r\n this.loading = true;\r\n var isCustomPage = true;\r\n this.documentCabinetService.GetRawDataForDynamicObject(this.documentTypeResponseModel.DocumentTypeId, isCustomPage)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n this.loading = true;\r\n if (result.IsSuccess) {\r\n // this.documents = result.ResponseModel;\r\n this.searchRecords = [];\r\n this.backupRecords = [];\r\n var searchControls = [];\r\n \r\n\r\n if(result.ResponseModel ) {\r\n if(result.ResponseModel.Documents) {\r\n this.documents = result.ResponseModel.Documents;\r\n }\r\n if (this.documents?.length > 0) {\r\n this.showSearchPanel = true;\r\n }\r\n\r\n if(result.ResponseModel.BackupSearchRecords) {\r\n this.backupRecords = result.ResponseModel.BackupSearchRecords;\r\n this.searchRecords = result.ResponseModel.BackupSearchRecords;\r\n this.backupSearchRecords = result.ResponseModel.BackupSearchRecords;\r\n }\r\n\r\n if(result.ResponseModel.SearchInput) {\r\n this.searchInputList = new Array();\r\n this.searchInputList = result.ResponseModel.SearchInput;\r\n // console.log(\"searchInputList\");\r\n // console.log(this.searchInputList);\r\n }\r\n }\r\n \r\n // console.clear();\r\n // console.log('search records');\r\n // console.log(this.searchRecords);\r\n // console.log('backup search records');\r\n // console.log(this.backupSearchRecords);\r\n // console.log('Search input list');\r\n // console.log(this.searchInputList);\r\n this.buildForm();\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getAllDocumentTypeList() {\r\n this.loading = true;\r\n this.documentCabinetService.GetAllDocumentTypeList(this.documentTypeResponseModel.DocumentCabinetId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n this.documentTypeList = result.ResponseModel;\r\n\r\n if(this.documentTypeResponseModel && this.documentTypeList.length > 0) {\r\n this.selectedDocumentType = new DocumentTypeListResponseModel();\r\n this.selectedDocumentType = this.documentTypeList.find(x => x.DocumentTypeId == this.documentTypeResponseModel.DocumentTypeId);\r\n // this.showSearchPanel = true;\r\n }\r\n\r\n this.searchLoader = false;\r\n this.customLoader = false;\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n this.loading = false;\r\n }\r\n\r\n private getFileCabinetRecordsById() {\r\n\r\n this.loading = true;\r\n this.customLoader = true;\r\n\r\n // this.docuwareService.getFileCabinetRecordsById(this.cabinetRequestModel)\r\n this.docuwareCabinetService.getDocuwareFileCabinetRecords(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n\r\n this.docuwareRecordsModel = result.ResponseModel;\r\n this.docuwareRecordsBackup = this.docuwareRecordsModel;\r\n\r\n this.headers = [];\r\n this.records = [];\r\n this.searchRecords = [];\r\n\r\n this.docuwareRecordsModel.forEach(docuwareRecord => {\r\n const record = {};\r\n\r\n record[\"DocumentId\"] = docuwareRecord.DocuwareDocumentId;\r\n\r\n\r\n docuwareRecord.DocuwareFields.forEach(field => {\r\n\r\n record[field.DisplayAs] = field.FieldValue;\r\n\r\n });\r\n\r\n this.records.push(record);\r\n });\r\n\r\n this.searchRecords = this.records;\r\n this.backupRecords = this.records;\r\n\r\n this.headers.push({ headerName: \"DocumentId\", fieldType: 'Numeric', sequence: -1 });\r\n this.headers.push({ headerName: 'View', fieldType: 'Text', sequence: 0 });\r\n this.docuwareRecordsModel[0]?.DocuwareFields.forEach(field => {\r\n if (field.IsDisplay) {\r\n\r\n this.headers.push({ headerName: field.DisplayAs, fieldType: field.FieldType, sequence: field.DisplaySequence });\r\n }\r\n });\r\n\r\n this.headers = this.headers.sort((a, b) => a.sequence - b.sequence);\r\n\r\n this.displayPagination = true;\r\n\r\n this.startRecord = ((this.cabinetRequestModel.PageNo - 1) * (this.pageSize)) + 1;\r\n // this.endRecord = this.startRecord + this.pageSize -1;\r\n this.endRecord = this.startRecord + this.searchRecords.length - 1;\r\n\r\n if (this.pageCount == this.paginationPage) {\r\n this.endRecord = this.totalRecordCount;\r\n }\r\n\r\n }\r\n this.loading = false;\r\n this.customLoader = false;\r\n // this.buildForm();\r\n }\r\n else {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n\r\n changePage(pageNumber: string) {\r\n\r\n // this.cabinetRequestModel.PageNo = pageNumber;\r\n pageNumber;\r\n\r\n this.paginationPage = parseInt($('.cdp').attr('actpage'), 10);\r\n\r\n if (pageNumber === '+1') {\r\n this.paginationPage++;\r\n } else if (pageNumber === '-1') {\r\n this.paginationPage--;\r\n } else {\r\n this.paginationPage = parseInt(pageNumber, 10);\r\n }\r\n $('.cdp').attr('actpage', this.paginationPage);\r\n\r\n\r\n this.cabinetRequestModel.PageNo = this.paginationPage;\r\n this.getFileCabinetRecordsById();\r\n }\r\n\r\n private getSearchControlValues() {\r\n this.loading = true;\r\n this.customLoader = true;\r\n\r\n this.docuwareCabinetService.getSearchControlValue(this.cabinetRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false)))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n\r\n this.docuwareSearchControlModel = result.ResponseModel;\r\n if (this.docuwareSearchControlModel.length > 0) {\r\n\r\n this.showSearchPanel = true;\r\n this.totalRecordCount = this.docuwareSearchControlModel[0].TotalRecordCount;\r\n this.pageCount = Math.ceil(this.totalRecordCount / this.pageSize);\r\n\r\n this.pageArray = new Array();\r\n this.pageArray = Array(this.pageCount);\r\n }\r\n\r\n var searchControls = [];\r\n\r\n this.docuwareSearchControlModel.forEach(docuwareRecord => {\r\n const record = {};\r\n\r\n record[\"DocumentId\"] = docuwareRecord.DocuwareDocumentId;\r\n\r\n\r\n docuwareRecord.DocuwareFields.forEach(field => {\r\n\r\n record[field.DisplayAs] = field.FieldValue;\r\n\r\n });\r\n\r\n searchControls.push(record);\r\n });\r\n\r\n\r\n const searchModel = this.docuwareSearchControlModel[0]?.DocuwareFields.filter(x => x.IsSearch == true);\r\n \r\n // // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType:'', Sequence: 0, Values: {label:'', value:''}[] }>();\r\n // // this.searchInputList.push({DisplayAs:'Full Text', FieldName: \"FULL_TEXT\", FieldType: \"Text\", Sequence: 0, Values: null });\r\n // this.searchInputList = new Array<{ DisplayAs: '', FieldName: '', FieldType: '', Sequence: 0, Values: { label: '', value: '' }[], FilteredValues: { label: '', value: '' }[] }>();\r\n // this.searchInputList.push({ DisplayAs: 'Full Text', FieldName: \"FULL_TEXT\", FieldType: \"Text\", Sequence: 0, Values: null, FilteredValues: null });\r\n // if (searchModel?.length > 0) {\r\n\r\n // searchModel.forEach(item => {\r\n // this.searchInputList.push({ DisplayAs: item.DisplayAs, FieldName: item.FieldName, FieldType: item.FieldType, Sequence: item.SearchSequence, Values: null, FilteredValues: null });\r\n // });\r\n // }\r\n\r\n\r\n this.searchInputList = new Array();\r\n var forFulltext = new SearchInputModel();\r\n\r\n forFulltext.DisplayAs = 'Full Text';\r\n forFulltext.FieldName = 'FULL_TEXT';\r\n forFulltext.FieldType = 'Text';\r\n forFulltext.Sequence = 0;\r\n\r\n this.searchInputList.push(forFulltext);\r\n if (searchModel?.length > 0) {\r\n\r\n searchModel.forEach(item => {\r\n var searchInput = new SearchInputModel();\r\n searchInput.DisplayAs = item.DisplayAs;\r\n searchInput.FieldName = item.FieldName;\r\n searchInput.FieldType = item.FieldType;\r\n searchInput.Sequence = item.SearchSequence;\r\n\r\n this.searchInputList.push(searchInput);\r\n\r\n });\r\n }\r\n\r\n this.searchInputList.forEach(item => {\r\n item.Values = new Array<{ label: '', value: '' }>();\r\n\r\n if (item.DisplayAs !== \"Full Text\") {\r\n\r\n searchControls.forEach(rec => {\r\n var x = rec[item.DisplayAs];\r\n\r\n var repeated = item.Values.filter(x => x.label.toLowerCase().trim() == rec[item.DisplayAs].toLowerCase().trim());\r\n if (rec[item.DisplayAs] !== null && rec[item.DisplayAs] !== '' && rec[item.DisplayAs] !== ' ' && repeated.length < 1) {\r\n item.Values.push({ label: rec[item.DisplayAs], value: rec[item.DisplayAs] });\r\n\r\n }\r\n });\r\n\r\n }\r\n item.Values = item.Values.sort((a, b) => {\r\n return a.label.toLowerCase().trim().localeCompare(b.label.toLowerCase().trim());\r\n });\r\n });\r\n\r\n this.searchInputList = this.searchInputList.sort((a, b) => a.Sequence - b.Sequence);\r\n\r\n }\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n //console.log(\"Search input\");\r\n //console.log(this.searchInputList);\r\n\r\n this.displayPagination = false;\r\n // if (this.cabinetRequestModel.ServerURL === 'https://nashuanh.docuware.cloud') \r\n // {\r\n // this.displayPagination = false;\r\n // }\r\n this.buildForm();\r\n }\r\n else {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.customLoader = false;\r\n\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n\r\n }\r\n\r\n callFunction(stuff) {\r\n\r\n if (this.searchLoader) {\r\n // this.loading = false;\r\n // this.customLoader = false;\r\n\r\n this.searchLoader = false;\r\n }\r\n }\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm() {\r\n\r\n if (this.form) {\r\n this.form = new FormGroup({});\r\n }\r\n\r\n const formGroup = this.formBuilder.group({});\r\n var that = this;\r\n var count = 0;\r\n\r\n if (this.isDocuware) {\r\n\r\n if (this.searchableFieldModel != null) {\r\n\r\n this.searchableFieldModel.forEach(field => {\r\n formGroup.addControl(field.FieldName, that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n count += 1;\r\n });\r\n }\r\n\r\n else {\r\n formGroup.addControl(\"FULL_TEXT\", that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n if (this.docuwareSearchControlModel[0]?.DocuwareFields) {\r\n\r\n this.docuwareSearchControlModel[0].DocuwareFields.forEach(field => {\r\n if (field.IsSearch) {\r\n formGroup.addControl(field.FieldName, that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n count += 1;\r\n }\r\n });\r\n }\r\n }\r\n } else {\r\n if (this.documentTypeResponseModel?.DocumentTypeMetadatas.length > 0) {\r\n formGroup.addControl(\"FULL_TEXT\", that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n this.documentTypeResponseModel.DocumentTypeMetadatas.forEach(field => {\r\n if (field.IsSearch) {\r\n if(field.FieldType === enumFieldTypes.enumInteger || field.FieldType === enumFieldTypes.enumDate \r\n || field.FieldType === enumFieldTypes.enumDecimal || field.FieldType === enumFieldTypes.enumCurrency ) {\r\n formGroup.addControl(field.FieldName + 'From', that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n\r\n formGroup.addControl(field.FieldName + 'To', that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n\r\n count += 2;\r\n } \r\n else {\r\n formGroup.addControl(field.FieldName, that.formBuilder.control(null,\r\n {\r\n updateOn: Constants.formControlUpdateStrategy.change\r\n }));\r\n count += 1;\r\n }\r\n \r\n }\r\n });\r\n // console.log(\"Form controls\");\r\n // console.log(formGroup);\r\n }\r\n }\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n\r\n DocumentViewerModel: boolean;\r\n\r\n DocumentViewerDialog() {\r\n this.DocumentViewerModel = true;\r\n }\r\n\r\n}\r\n","\r\n
\r\n
\r\n

{{message}}

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

Add Customer

\r\n

0\">Edit Customer

\r\n
\r\n \r\n \r\n {{isActive ? 'Active' : 'Inactive'}}\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Organization Information

\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.customerOrganizationName.required}}\r\n {{validationMessages.customerOrganizationName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.websiteURL.required}}\r\n
\r\n
\r\n
\r\n
\r\n

Organization Contact Information

\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.contactFirstName.required}}\r\n {{validationMessages.contactFirstName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.contactLastName.required}}\r\n {{validationMessages.contactLastName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.contactEmail.required}}\r\n {{validationMessages.contactEmail.email}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{validationMessages.contactPhone.required}}\r\n
\r\n
\r\n
\r\n
\r\n

Integration

\r\n\r\n
\r\n
\r\n \r\n\r\n \r\n {{validationMessages.documentIntegration.required}}\r\n\r\n \r\n
\r\n \r\n
\r\n \r\n \r\n {{validationMessages.allowedStorage.required}}\r\n {{validationMessages.allowedStorage.validNumber}}\r\n
\r\n\r\n
\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.organizationName.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.serverURL.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.userName.required}}\r\n \r\n \r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.password.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.passphrase.required}}\r\n
\r\n\r\n
\r\n\r\n
\r\n \"info\"\r\n\r\n\r\n \r\n
\r\n
    \r\n
  • Login to the DocuWare web portal and click on the profile
  • \r\n
  • From profile, click on configuration, so Settings page will open
  • \r\n
  • In Settings page, from General panel, click on Organization Settings
  • \r\n
  • Click on Security tab
  • \r\n
  • Go to Passwords and copy the Passphrase
  • \r\n
  • Use this Passphrase in this field
  • \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n \r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnChanges, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport * as $ from 'jquery';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { CompanyRequestModel } from 'src/app/models/request/company-request';\r\nimport { DocuwareMasterRequestModel } from 'src/app/models/request/docuware-master-request';\r\nimport { TestDocuwareConnectionModel } from 'src/app/models/request/test-docuware-connection-model';\r\nimport { CompanyResponseModel } from 'src/app/models/response/company-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { CompanyService } from 'src/app/services/company.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { CommonFunctions } from 'src/app/shared/common-functions';\r\nimport { Constants } from 'src/app/shared/constants';\r\nimport { CustomValidator } from 'src/app/shared/custom-validator';\r\nimport { enumDatabaseType } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-company-manage',\r\n templateUrl: './company-manage.component.html',\r\n styleUrls: ['./company-manage.component.sass']\r\n})\r\nexport class CompanyManageComponent extends BaseComponent implements OnInit, OnDestroy, OnChanges \r\n{\r\n\r\n @Output() isCompanyListUpdated = new EventEmitter();\r\n \r\n @Output() close: EventEmitter = new EventEmitter();\r\n\r\n @Input('companyId') companyId: number;\r\n @Input('count') count: number;\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n companyResponseModel: CompanyResponseModel;\r\n testConnectionModel: TestDocuwareConnectionModel;\r\n isSelectedDbDocuware: boolean = false;\r\n\r\n isEditMode: boolean = false;\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n\r\n OrganizationInformation: boolean =false;\r\n isActive: boolean = true;\r\n OrganizationContactInformation: boolean = false;\r\n Integration: boolean = false;\r\n\r\n enumDatabaseType = enumDatabaseType;\r\n databaseOptions: any[];\r\n showStorageInput: boolean=false;\r\n ManageCompany: boolean = false;\r\n\r\n constructor(private formBuilder: FormBuilder, private companyService: CompanyService,private activatedRoute: ActivatedRoute,\r\n private router: Router) { \r\n super();\r\n\r\n }\r\n\r\n formFields = {\r\n customerOrganizationName: 'customerOrganizationName',\r\n websiteURL: 'websiteURL',\r\n contactFirstName: 'contactFirstName',\r\n contactLastName: 'contactLastName',\r\n contactEmail: 'contactEmail',\r\n contactPhone: 'contactPhone',\r\n documentIntegration: 'documentIntegration',\r\n allowedStorage: 'allowedStorage',\r\n organizationName: 'organizarionName',\r\n serverURL: 'serverURL',\r\n userName: 'userName',\r\n password: 'password',\r\n passphrase: 'passphrase',\r\n active:'active',\r\n };\r\n\r\n validationMessages = {\r\n customerOrganizationName: {\r\n required: 'Customer organization name is required',\r\n validCharacters: 'Enter valid customer organization name'\r\n },\r\n websiteURL: {\r\n required: 'Website URL is required',\r\n },\r\n contactFirstName: {\r\n required: 'Contact first name is required',\r\n validCharacters: 'Enter valid contact first name'\r\n },\r\n contactLastName: {\r\n required: 'Contact last name is required',\r\n validCharacters: 'Enter valid contact last name'\r\n },\r\n contactEmail: {\r\n required: 'Contact email is required',\r\n email: 'Enter valid contact email'\r\n },\r\n contactPhone: {\r\n required: 'Contact phone is required',\r\n validNumber: 'Enter valid contact phone',\r\n minlength: 'Phone number should be 10 digits'\r\n },\r\n documentIntegration: {\r\n required: 'Document integration is required',\r\n },\r\n allowedStorage: {\r\n required : 'Storage is required',\r\n validNumber: 'Enter valid storage'\r\n },\r\n organizationName: {\r\n required: 'Organization name is required',\r\n },\r\n serverURL: {\r\n required: 'URL is required',\r\n },\r\n userName: {\r\n required: 'User name is required',\r\n //validCharacters: 'Enter valid user name',\r\n // email: 'Enter valid username'\r\n },\r\n password: {\r\n required: 'Password is required',\r\n },\r\n passphrase: {\r\n required: 'Passphrase is required',\r\n },\r\n };\r\n \r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n\r\n this.databaseOptions = CommonFunctions.enumSelector(this.enumDatabaseType);\r\n\r\n $(function(){\r\n var appendthis = (\"\");\r\n $('a[data-modal-id]').click(function(e) {\r\n e.preventDefault();\r\n $(\"body\").append(appendthis);\r\n $(\".modal-overlay\").fadeTo(500, 0.7);\r\n var modalBox = $(this).attr('data-modal-id');\r\n $('#'+modalBox).fadeIn($(this).data());\r\n });\r\n\r\n\r\n $(window).resize(function() {\r\n $(\".modal-box\").css({\r\n top: ($(window).height() - $(\".modal-box\").outerHeight()) / 2,\r\n left: ($(window).width() - $(\".modal-box\").outerWidth()) / 2\r\n });\r\n });\r\n\r\n $(window).resize();\r\n\r\n });\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n \r\n if (this.companyId > 0) {\r\n this.isEditMode = true;\r\n this.getCompanyById(this.companyId);\r\n } else{\r\n this.resetCompanyForm();\r\n }\r\n }\r\n\r\n OrganizationInformationClick(){\r\n this.OrganizationInformation = !this.OrganizationInformation;\r\n }\r\n OrganizationContactInformationClick(){\r\n this.OrganizationContactInformation = !this.OrganizationContactInformation;\r\n }\r\n\r\n IntegrationClick(){\r\n this.Integration = !this.Integration;\r\n }\r\n\r\n onSelectChange(event){\r\n \r\n this.showStorageInput = true;\r\n if(event.value == enumDatabaseType.enumDocuware){\r\n this.isSelectedDbDocuware = true;\r\n } else {\r\n this.isSelectedDbDocuware = false;\r\n }\r\n\r\n this.updateValidationForDocuware();\r\n }\r\n\r\n onCompanyChangeInHeader(company: any){\r\n this.router.navigate(['/company/edit/' + company.CompanyId]);\r\n this.getCompanyById(company.CompanyId);\r\n }\r\n\r\n updateValidationForDocuware(){\r\n\r\n\r\n if(this.isSelectedDbDocuware) { \r\n\r\n this.form.get(this.formFields.organizationName).setValidators([Validators.required]);\r\n this.form.get(this.formFields.organizationName).updateValueAndValidity;\r\n\r\n this.form.get(this.formFields.serverURL).setValidators([Validators.required]);\r\n this.form.get(this.formFields.serverURL).updateValueAndValidity();\r\n\r\n //this.form.get(this.formFields.userName).setValidators([Validators.required, CustomValidator.userNameDocuware]);\r\n this.form.get(this.formFields.userName).setValidators([Validators.required]);\r\n this.form.get(this.formFields.userName).updateValueAndValidity();\r\n\r\n this.form.get(this.formFields.password).setValidators([Validators.required]);\r\n this.form.get(this.formFields.password).updateValueAndValidity();\r\n\r\n this.form.get(this.formFields.passphrase).setValidators([Validators.required]);\r\n this.form.get(this.formFields.passphrase).updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.allowedStorage].clearValidators();\r\n this.form.controls[this.formFields.allowedStorage].updateValueAndValidity();\r\n } \r\n else {\r\n this.form.controls[this.formFields.organizationName].clearValidators();\r\n this.form.controls[this.formFields.organizationName].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.serverURL].clearValidators();\r\n this.form.controls[this.formFields.serverURL].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.userName].clearValidators();\r\n this.form.controls[this.formFields.userName].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.password].clearValidators();\r\n this.form.controls[this.formFields.password].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.passphrase].clearValidators();\r\n this.form.controls[this.formFields.passphrase].updateValueAndValidity();\r\n\r\n this.form.controls[this.formFields.allowedStorage].setValidators([Validators.required, CustomValidator.onlyNumbers]);\r\n this.form.controls[this.formFields.allowedStorage].updateValueAndValidity();\r\n } \r\n \r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n getValuesFromForm(){\r\n const form = this.form;\r\n\r\n const companyRequestModel = new CompanyRequestModel();\r\n\r\n companyRequestModel.CompanyId = this.isEditMode ? this.companyResponseModel.CompanyId : 0;\r\n companyRequestModel.CompanyName = form.get(this.formFields.customerOrganizationName).value.toString().trim();\r\n companyRequestModel.CompanyWebsiteURL = form.get(this.formFields.websiteURL).value.toString().trim();\r\n companyRequestModel.ContactFirstName = form.get(this.formFields.contactFirstName).value.toString().trim();\r\n companyRequestModel.ContactLastName = form.get(this.formFields.contactLastName).value.toString().trim();\r\n companyRequestModel.ContactEmail = form.get(this.formFields.contactEmail).value.toString().trim();\r\n companyRequestModel.ContactPhone = form.get(this.formFields.contactPhone).value;\r\n\r\n\r\n if(this.isSelectedDbDocuware) {\r\n \r\n companyRequestModel.DocuwareMasters = new Array();\r\n var docuwareMaster = new DocuwareMasterRequestModel();\r\n\r\n docuwareMaster.CompanyId = this.isEditMode ? this.companyResponseModel.CompanyId : 0;\r\n docuwareMaster.DocuwareId = this.isEditMode ? this.companyResponseModel?.DocuwareMasters[0]?.DocuwareId : 0;\r\n docuwareMaster.OrganizationName = form.get(this.formFields.organizationName).value;\r\n docuwareMaster.ServerURL = form.get(this.formFields.serverURL).value;\r\n docuwareMaster.UserName = form.get(this.formFields.userName).value;\r\n docuwareMaster.Password = form.get(this.formFields.password).value;\r\n docuwareMaster.PassPhrase = form.get(this.formFields.passphrase).value;\r\n docuwareMaster.IsActive = this.isActive;\r\n\r\n companyRequestModel.DocuwareMasters.push(docuwareMaster);\r\n\r\n companyRequestModel.InterfaceWith = this.enumDatabaseType.enumDocuware;\r\n } else {\r\n companyRequestModel.InterfaceWith = this.enumDatabaseType.enumInApp;\r\n companyRequestModel.AllowedDocumentStorage = form.get(this.formFields.allowedStorage).value;\r\n }\r\n\r\n companyRequestModel.IsActive = this.isActive;\r\n\r\n return companyRequestModel;\r\n\r\n }\r\n\r\n setValuesToForm() {\r\n this.form.reset();\r\n\r\n if(!this.companyResponseModel){\r\n return;\r\n }\r\n\r\n const form = this.form;\r\n this.isSelectedDbDocuware = false;\r\n\r\n form.get(this.formFields.customerOrganizationName).setValue(this.companyResponseModel.CompanyName);\r\n form.get(this.formFields.websiteURL).setValue(this.companyResponseModel.CompanyWebsiteURL);\r\n form.get(this.formFields.contactFirstName).setValue(this.companyResponseModel.ContactFirstName);\r\n form.get(this.formFields.contactLastName).setValue(this.companyResponseModel.ContactLastName);\r\n form.get(this.formFields.contactEmail).setValue(this.companyResponseModel.ContactEmail);\r\n form.get(this.formFields.contactPhone).setValue(this.companyResponseModel.ContactPhone);\r\n form.get(this.formFields.documentIntegration).setValue(this.companyResponseModel.InterfaceWith);\r\n\r\n var category = this.databaseOptions.find(where => where.title == this.companyResponseModel.InterfaceWith);\r\n\r\n form.get(this.formFields.documentIntegration).setValue(category.title);\r\n\r\n this.isActive = this.companyResponseModel.IsActive;\r\n \r\n if(this.companyResponseModel.DocuwareMasters.length > 0) {\r\n form.get(this.formFields.organizationName).setValue(this.companyResponseModel?.DocuwareMasters[0]?.OrganizationName);\r\n form.get(this.formFields.serverURL).setValue(this.companyResponseModel?.DocuwareMasters[0]?.ServerURL);\r\n form.get(this.formFields.userName).setValue(this.companyResponseModel?.DocuwareMasters[0]?.UserName);\r\n form.get(this.formFields.password).setValue(this.companyResponseModel?.DocuwareMasters[0]?.Password);\r\n form.get(this.formFields.passphrase).setValue(this.companyResponseModel?.DocuwareMasters[0]?.PassPhrase);\r\n this.isSelectedDbDocuware = true;\r\n \r\n } else {\r\n this.showStorageInput = true;\r\n // // enable this after service logic's been implemented\r\n this.form.controls[this.formFields.allowedStorage].setValidators([Validators.required, CustomValidator.onlyNumbers]);\r\n this.form.controls[this.formFields.allowedStorage].updateValueAndValidity();\r\n if(this.companyResponseModel.AllowedDocumentStorage) {\r\n form.get(this.formFields.allowedStorage).setValue(this.companyResponseModel.AllowedDocumentStorage);\r\n }\r\n }\r\n }\r\n\r\n testConnection(){\r\n\r\n var touchedCount = 0\r\n if(this.form.get(this.formFields.organizationName).invalid){\r\n this.form.get(this.formFields.organizationName).markAsTouched();\r\n touchedCount++;\r\n }\r\n if(this.form.get(this.formFields.serverURL).invalid){\r\n this.form.get(this.formFields.serverURL).markAsTouched();\r\n touchedCount++;\r\n }\r\n if(this.form.get(this.formFields.userName).invalid){\r\n this.form.get(this.formFields.userName).markAsTouched();\r\n touchedCount++;\r\n }\r\n if(this.form.get(this.formFields.password).invalid){\r\n this.form.get(this.formFields.password).markAsTouched();\r\n touchedCount++;\r\n }\r\n\r\n if(touchedCount > 0){\r\n return;\r\n }\r\n\r\n this.testConnectionModel = new TestDocuwareConnectionModel();\r\n this.testConnectionModel.OrganizationName = this.form.get(this.formFields.organizationName).value;\r\n this.testConnectionModel.ServerURL = this.form.get(this.formFields.serverURL).value;\r\n this.testConnectionModel.UserName = this.form.get(this.formFields.userName).value;\r\n this.testConnectionModel.Password = this.form.get(this.formFields.password).value;\r\n\r\n this.companyService.testDocuwareConnection(this.testConnectionModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n this.timeoutFunct(result.Message, true);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n onSubmit(){\r\n \r\n\r\n if(this.form.invalid){\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const companyRequestModel = this.getValuesFromForm();\r\n this.loading = true;\r\n\r\n const manageCompany = this.isEditMode ? this.companyService.updateCompany(companyRequestModel)\r\n : this.companyService.addCompany(companyRequestModel) ;\r\n\r\n manageCompany\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n\r\n if(result.ResponseModel) {\r\n var response = result.ResponseModel;\r\n }\r\n \r\n var message = this.isEditMode ? 'Company information updated' : 'Company information added';\r\n this.loading = false;\r\n this.timeoutFunct(message, true); \r\n setTimeout(() => { \r\n \r\n this.form.reset();\r\n this.isCompanyListUpdated.emit(true); \r\n this.closeDeletePopup();\r\n this.closePopup(); \r\n }, environment.messageLifeSpan); \r\n\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n private getCompanyById(companyId: number) {\r\n if (!companyId) {\r\n return;\r\n }\r\n\r\n this.isEditMode = true;\r\n this.loading = true;\r\n\r\n this.companyService.getCompanyById(companyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n this.companyResponseModel = result.ResponseModel;\r\n this.setValuesToForm();\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private buildForm(){\r\n\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.customerOrganizationName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.websiteURL, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.whitespace], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.contactFirstName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.contactLastName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.contactEmail, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.addControl(this.formFields.contactPhone, this.formBuilder.control('',\r\n { validators: [Validators.required, Validators.minLength(10)], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.documentIntegration, this.formBuilder.control('',\r\n { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n formGroup.addControl(this.formFields.allowedStorage, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n \r\n formGroup.addControl(this.formFields.organizationName, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.serverURL, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.userName, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.password, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.passphrase, this.formBuilder.control('',\r\n { updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.organizationName, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.serverURL, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.userName, this.formBuilder.control('',\r\n // { validators: [Validators.required, CustomValidator.userNameDocuware], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.password, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n // formGroup.addControl(this.formFields.passphrase, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n\r\n formGroup.addControl(this.formFields.active, this.formBuilder.control('',\r\n {updateOn: Constants.formControlUpdateStrategy.change }));\r\n\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n closeDeletePopup() {\r\n this.form.reset();\r\n this.isSelectedDbDocuware = false;\r\n this.showStorageInput = false;;\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n\r\n closePopup() {\r\n this.close.emit();\r\n this.resetCompanyForm();\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n\r\n resetCompanyForm() {\r\n this.ManageCompany = false; \r\n if(this.form) {\r\n this.form.reset(); \r\n }\r\n this.isSelectedDbDocuware = false;\r\n this.showStorageInput = false;\r\n this.isEditMode = false;\r\n }\r\n\r\n}\r\n\r\n","\r\n
\r\n \r\n
\r\n \r\n
\r\n
\r\n

{{message}}

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

Filters

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Apply\r\n Clear\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

Customers

\r\n
\r\n \r\n \r\n Add Customer\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
0\">({{companies?.length}} Customers)
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n Org. & Contact\r\n Contact Information\r\n Interface\r\n Storage\r\n \r\n Status\r\n Action\r\n \r\n \r\n \r\n \r\n \r\n {{company.CompanyName}}\r\n {{company.ContactFirstName}} {{company.ContactLastName}}\r\n \r\n \r\n \r\n \r\n \r\n {{company.ContactPhone}}\r\n {{company.ContactEmail}}\r\n \r\n \r\n {{company.InterfaceWith}}\r\n {{company.UsedStorage === '0.00 GB' ? '' : company.UsedStorage + ' / '}}{{company.AllowedDocumentStorage === null ? '0' : company.AllowedDocumentStorage}} GB\r\n NA \r\n \r\n \r\n {{company.IsActive ? 'Active' : 'Inactive'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n No records found\r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n

Delete Document

\r\n

Are you sure you want to delete {{deleteCompany?.CompanyName}}?

\r\n
\r\n \r\n \r\n
\r\n
\r\n
","import { Component, OnInit, OnDestroy, ViewChild, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport * as $ from 'jquery'\r\nimport { SortEvent } from 'primeng/api';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\nimport { CompanyResponseModel } from 'src/app/models/response/company-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { CompanyService } from 'src/app/services/company.service';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { enumCompanyStatus, enumDatabaseType, UserRole } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport { BaseComponent } from '../../shared/base.component';\r\n\r\n\r\n@Component({\r\n selector: 'app-company',\r\n templateUrl: './company.component.html',\r\n styleUrls: ['./company.component.sass']\r\n})\r\nexport class CompanyComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n @ViewChild('searchBox', { static: false }) searchBox: ElementRef;\r\n\r\n companies: CompanyResponseModel[]; \r\n companyBackup: CompanyResponseModel[];\r\n // activeCompanies: CompanyResponseModel[];\r\n // inactiveCompanies: CompanyResponseModel[];\r\n \r\n enumDatabaseType = enumDatabaseType;\r\n enumCompanyStatus: enumCompanyStatus;\r\n currentUserToken: UserAuthResponseModel;\r\n isCustomerAdmin: boolean = false;\r\n companyId: number;\r\n selectedCompanyId: number;\r\n companyCount: number = 0;\r\n\r\n // AccountsActive: boolean = true;\r\n searchText: string;\r\n \r\n noRecordFound: boolean = false;\r\n\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n showClearFilter: boolean = false;\r\n\r\n statusList : any;\r\n interfaceList: any;\r\n selectedCompany: CompanyResponseModel;\r\n selectedInterface: string;\r\n selectedStatus: string;\r\n filterResposniveEvent: any;\r\n ManageCompany: boolean;\r\n displayClearButton: boolean= true;\r\n DeletePopup: boolean = false; \r\n deleteCompany: CompanyResponseModel;\r\n\r\n constructor( private companyService: CompanyService, private webStorageService: WebStorageService,\r\n private router: Router) {\r\n super();\r\n \r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.companyId = this.currentUserToken.companyId;\r\n }\r\n\r\n filterClickEvent(){\r\n this.filterResposniveEvent = !this.filterResposniveEvent; \r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n \r\n this.companies = new Array();\r\n this.selectedCompanyId =0;\r\n\r\n this.statusList = Object.keys(enumCompanyStatus).map(key => ({label: enumCompanyStatus[key], value: key}));\r\n this.statusList = this.statusList.filter(x=> x.label !== enumCompanyStatus.enumNone);\r\n \r\n this.interfaceList = Object.keys(enumDatabaseType).map(key => ({ label: enumDatabaseType[key], value: key}));\r\n \r\n\r\n this.populateCompanyList();\r\n\r\n $(document).on('click', function () {\r\n $('.dropdown').next().removeClass('active');\r\n $('.search-box').removeClass('active');\r\n $('.dropdown1').next().removeClass('active');\r\n });\r\n \r\n if ($('.dropdown').length){\r\n const dropdown = $('.dropdown');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n }\r\n\r\n if ($('.dropdown1').length){\r\n const dropdown = $('.dropdown1');\r\n dropdown.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!dropdown.next().hasClass('active')) {\r\n dropdown.next().addClass('active');\r\n } else {\r\n dropdown.next().removeClass('active');\r\n }\r\n });\r\n }\r\n \r\n $(function(){\r\n if ($('.search-box').length) {\r\n const search = $('.search-box');\r\n search.on('click', function (e) {\r\n e.stopPropagation();\r\n if (!search.hasClass('active')) {\r\n search.addClass('active');\r\n } else {\r\n //search.removeClass('active');\r\n }\r\n });\r\n }\r\n\r\n });\r\n\r\n if(this.isCustomerAdmin) {\r\n $('.title-block__box').css('display','none');\r\n } \r\n\r\n }\r\n\r\n populateCompanyList() {\r\n if(this.currentUserToken.role === UserRole.enumCustomerAdmin){\r\n this.isCustomerAdmin = true;\r\n this.getCompanyById(this.currentUserToken.companyId);\r\n }\r\n else if(this.currentUserToken.role === UserRole.enumAdmin) {\r\n this.getAllCompanies();\r\n } \r\n else {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n getAllCompanies() {\r\n \r\n this.loading = true;\r\n this.companyService.getAllCompanies()\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n\r\n this.companies = result?.ResponseModel; \r\n\r\n this.companyBackup = this.companies;\r\n\r\n if(this.companies) {\r\n this.selectedStatus = enumCompanyStatus.enumActive;\r\n this.searchByStatusAndInterface('', this.companies);\r\n }\r\n\r\n }\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getCompanyById(companyId: number) {\r\n if (!companyId) {\r\n this.timeoutFunct('No company found', false);\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n this.companyService.getCompanyById(companyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n if(result.ResponseModel){\r\n this.companies.push(result.ResponseModel);\r\n if(result.ResponseModel.InterfaceWith !== enumDatabaseType.enumDocuware) {\r\n this.getStorageByCompanyId(this.currentUserToken.companyId);\r\n }\r\n }\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getStorageByCompanyId(companyId: number) {\r\n if (!companyId) {\r\n this.timeoutFunct('No company found', false);\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n this.companyService.getStorageInfoByCompanyId(companyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if(result.IsSuccess){\r\n if(result.ResponseModel){\r\n if(result.ResponseModel !== '') {\r\n this.timeoutFunct(result.ResponseModel, false);\r\n }\r\n\r\n }\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n resetFilter (){\r\n this.selectedStatus = null;\r\n this.selectedCompany = null;\r\n this.selectedInterface = null;\r\n this.showClearFilter = false;\r\n this.companies = this.companyBackup;\r\n this.displayClearButton = false;\r\n }\r\n\r\n onSearchChange(searchText){\r\n \r\n var searchText = searchText.toLowerCase();\r\n if(this.selectedCompany || this.selectedInterface || this.selectedStatus){\r\n this.displayClearButton = true;\r\n } else {\r\n this.displayClearButton = false;\r\n }\r\n\r\n if(this.selectedCompany) {\r\n this.companies = this.companyBackup.filter(where => where.CompanyName === this.selectedCompany.CompanyName);\r\n this.searchByStatusAndInterface(searchText, this.companies)\r\n } else {\r\n this.searchByStatusAndInterface(searchText, this.companyBackup);\r\n }\r\n\r\n }\r\n \r\n\r\n searchByStatusAndInterface(searchText, companies:any) {\r\n if(this.selectedStatus == enumCompanyStatus.enumActive) {\r\n if (searchText.length > 0) {\r\n if(this.selectedInterface) {\r\n this.companies = companies.filter(where => where.IsActive == true && where.InterfaceWith === this.selectedInterface && \r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == true &&\r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n }\r\n } \r\n else {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.IsActive == true && where.InterfaceWith === this.selectedInterface);\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == true );\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n }\r\n }\r\n\r\n } if(this.selectedStatus == enumCompanyStatus.enumInactive) {\r\n if (searchText.length > 0) {\r\n if (this.selectedInterface) {\r\n this.companies = companies.filter(where => where.IsActive == false && where.InterfaceWith === this.selectedInterface &&\r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText)\r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == false &&\r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText)\r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n }\r\n } else {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.IsActive == false && where.InterfaceWith === this.selectedInterface);\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n } else {\r\n this.companies = companies.filter(where => where.IsActive == false);\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false;\r\n }\r\n }\r\n } \r\n if(this.selectedStatus == null || this.selectedStatus == ''){\r\n if (searchText.length > 0) {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.InterfaceWith === this.selectedInterface && \r\n (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies.filter(where => (where.ContactFirstName.toLowerCase().includes(searchText) || where.ContactLastName.toLowerCase().includes(searchText) \r\n || where.CompanyName.toLowerCase().includes(searchText) || where.ContactEmail.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n }\r\n }\r\n else {\r\n if(this.selectedInterface){\r\n this.companies = companies.filter(where => where.InterfaceWith.toLowerCase() === this.selectedInterface.toLowerCase());\r\n\r\n this.noRecordFound = this.companies.length < 1 ? true : false ;\r\n } else {\r\n this.companies = companies;\r\n }\r\n }\r\n }\r\n }\r\n\r\n viewCompanyConfig(company: any) {\r\n var routerUrl;\r\n if(company?.InterfaceWith === enumDatabaseType.enumInApp) {\r\n routerUrl = '/company/'+ company.CompanyId + '/inbox';\r\n } \r\n else {\r\n routerUrl = '/company/'+ company.CompanyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n }\r\n this.router.navigateByUrl(routerUrl);\r\n }\r\n\r\n openDocumentDeletePopup(company: any) {\r\n this.DeletePopup = true;\r\n this.deleteCompany = company;\r\n }\r\n \r\n closeDeletePopup() {\r\n // $('.add-update-popup').fadeOut('fast');\r\n this.DeletePopup = false;\r\n this.deleteCompany = new CompanyResponseModel;\r\n }\r\n \r\n onDeleteCompany() {\r\n if(!this.deleteCompany) {\r\n return;\r\n }\r\n\r\n this.companyService.deleteCompany(this.deleteCompany.CompanyId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n this.timeoutFunct( this.deleteCompany.CompanyName +' deleted successfully.', true);\r\n this.getAllCompanies();\r\n this.closeDeletePopup();\r\n }\r\n }\r\n else {\r\n if(result.Message.includes('Can not delete company cabinet')) {\r\n this.timeoutFunct(result.Message + ' ' + this.deleteCompany.CompanyName, false);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n event.data.sort((data1, data2) => {\r\n let value1 = data1[event.field];\r\n let value2 = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n }\r\n\r\n onEdit(companyId){\r\n this.router.navigate(['/company/edit/', companyId]);\r\n }\r\n\r\n documentCabinetNavigate(companyId){\r\n this.router.navigate(['document-cabinet/', companyId]);\r\n }\r\n\r\n onAddIconClick(companyID: number) {\r\n this.ManageCompany = true;\r\n \r\n this.selectedCompanyId = companyID;\r\n this.companyCount ++;\r\n $('.add-update-popup').fadeIn('fast');\r\n\r\n $('.page-wrapper').removeClass('active-sidebar')\r\n }\r\n\r\n\r\n companyListUpdated(event: any){\r\n \r\n this.populateCompanyList();\r\n }\r\n\r\n \r\n ClosePopup(event: any) {\r\n this.ManageCompany = false; \r\n this.searchText = ''; \r\n }\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

\r\n
\r\n

{{message}}

\r\n \r\n
\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.validemail}}\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.password.required}}\r\n
\r\n
\r\n \r\n Remember Me\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormGroup, FormBuilder, Validators } from '@angular/forms';\r\nimport { Constants } from '../shared/constants';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { Subject } from 'rxjs';\r\nimport { UserInfoRequestModel } from '../models/request/userInfo-request';\r\nimport { UserService } from '../services/user.service';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { Router } from '@angular/router';\r\nimport { CookieService } from 'ngx-cookie-service';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { AccessTokenResponseModel, UserAuthResponseModel } from '../models/response/access-token-response';\r\nimport { environment } from 'src/environments/environment';\r\nimport { enumDatabaseType, UserRole } from '../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-login',\r\n templateUrl: './login.component.html',\r\n styleUrls: ['./login.component.sass']\r\n})\r\n\r\nexport class LoginComponent extends BaseComponent implements OnInit, OnDestroy {\r\n private unsubscriber = new Subject();\r\n\r\n title = 'DocTainium Cloud';\r\n h2title = 'Sign In';\r\n\r\n displayMessage: boolean = false;\r\n message: string = '';\r\n messageClass: boolean;\r\n\r\n formFields = {\r\n email: 'email',\r\n password: 'password',\r\n rememberMe: 'rememberMe'\r\n };\r\n\r\n validationMessages = {\r\n email: {\r\n required: 'Email is required',\r\n validemail: 'Email is invalid'\r\n },\r\n password: {\r\n required: 'Password is required',\r\n }\r\n };\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService,\r\n private router: Router, private cookieService: CookieService, private webStorageService: WebStorageService) {\r\n super();\r\n }\r\n\r\n ngOnInit(): void {\r\n this.buildForm();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n }\r\n\r\n onSubmit() {\r\n if (this.form.invalid) {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n this.loading = true;\r\n const userInfoReq = new UserInfoRequestModel();\r\n userInfoReq.email = this.form.get(this.formFields.email).value;\r\n userInfoReq.password = this.form.get(this.formFields.password).value;\r\n const rememberMe = this.form.get(this.formFields.rememberMe).value;\r\n\r\n\r\n\r\n if (rememberMe) {\r\n const expiredDate = new Date();\r\n expiredDate.setDate(expiredDate.getDate() + 7);\r\n\r\n this.cookieService.set(Constants.cookie.email, userInfoReq.email, expiredDate);\r\n this.cookieService.set(Constants.cookie.password, userInfoReq.password, expiredDate);\r\n }\r\n else {\r\n this.cookieService.delete(Constants.cookie.email);\r\n this.cookieService.delete(Constants.cookie.password);\r\n }\r\n\r\n this.userService.signIn(userInfoReq)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n if (result.IsSuccess) {\r\n this.loading = true;\r\n const userauthmodel = new UserAuthResponseModel();\r\n userauthmodel.companyId = result?.ResponseModel?.CompanyId;\r\n userauthmodel.companyName = result?.ResponseModel?.CompanyName;\r\n userauthmodel.groupId = result?.ResponseModel?.GroupId;\r\n userauthmodel.userId = result?.ResponseModel?.UserId;\r\n userauthmodel.role = result?.ResponseModel?.Role;\r\n userauthmodel.email = result?.ResponseModel?.Email;\r\n userauthmodel.userFirstName = result?.ResponseModel?.FirstName;\r\n userauthmodel.userLastName = result?.ResponseModel?.LastName;\r\n userauthmodel.userName = result?.ResponseModel?.FirstName + \" \" + result?.ResponseModel?.LastName;\r\n userauthmodel.group = result?.ResponseModel?.Group\r\n \r\n\r\n if (result?.ResponseModel?.Role == UserRole.enumCustomer) {\r\n userauthmodel.isDocuware = result?.ResponseModel?.IsDocuware;\r\n if (result?.ResponseModel?.Group == null)\r\n userauthmodel.userPermission = result?.ResponseModel?.UserPermissions;\r\n else if (result?.ResponseModel?.Group != null)\r\n userauthmodel.groupPermission = result?.ResponseModel?.GroupPermissions;\r\n }\r\n\r\n userauthmodel.token = result?.ResponseModel?.token;\r\n userauthmodel.refreshtoken = result?.ResponseModel?.refreshtoken;\r\n this.webStorageService.storeCurrentUserToken(userauthmodel);\r\n // if (userauthmodel.companyId > 0 && userauthmodel.role != 'Admin') {\r\n // this.router.navigate(['/customer/groups']);\r\n // }\r\n // else {\r\n // this.router.navigate(['/company']);\r\n // }\r\n if (userauthmodel.role === UserRole.enumAdmin) {\r\n this.router.navigate(['/company']);\r\n }\r\n else {\r\n // var url = '/company/' + userauthmodel.companyId + '/document-cabinet';\r\n var url = '/company/' + userauthmodel.companyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n }\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n\r\n private buildForm() {\r\n let email = '';\r\n let password = '';\r\n let rememberMe = false;\r\n \r\n const formGroup = this.formBuilder.group({});\r\n if (this.cookieService.check(Constants.cookie.email) &&\r\n this.cookieService.check(Constants.cookie.password)) {\r\n email = this.cookieService.get(Constants.cookie.email);\r\n password = this.cookieService.get(Constants.cookie.password);\r\n rememberMe = true;\r\n }\r\n\r\n\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control(email, { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.addControl(this.formFields.password, this.formBuilder.control(password, { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.rememberMe, this.formBuilder.control(rememberMe));\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","export class CabinetRequestModel{\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n PassPhrase: string;\r\n CabinetId: string;\r\n MunicipalityId: number;\r\n CabinetMunicipalityId: number;\r\n DocuwareDocumentId: string;\r\n SearchFullText: string;\r\n\r\n PageNo: number;\r\n PageSize: number;\r\n\r\n DocuwareFieldData: DocuwareFieldData[];\r\n}\r\nexport class DocuwareFieldData {\r\n FieldName: string;\r\n FieldValue: string;\r\n}\r\n\r\nexport class DocuwareCabinetReuestModel {\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n PassPhrase: string;\r\n CabinetId: string;\r\n CompanyId: number;\r\n DocumentCabinetId: number;\r\n DocuwareDocumentId: string;\r\n DocumentTypeId: number;\r\n LastModifiedBy: number;\r\n\r\n SearchFullText: string;\r\n PageNo: number;\r\n PageSize: number;\r\n \r\n SearchDialogId: string;\r\n DocuwareFieldData: DocuwareFieldData [];\r\n}\r\n","import { DocuwareMasterRequestModel } from \"./docuware-master-request\";\r\n\r\nexport class CompanyRequestModel {\r\n CompanyId: number;\r\n CompanyCode: string;\r\n CompanyName: string;\r\n CompanyWebsiteURL: string;\r\n ContactFirstName: string;\r\n ContactLastName: string;\r\n ContactEmail: string;\r\n ContactPhone: string;\r\n InterfaceWith: string;\r\n AllowedDocumentStorage: string;\r\n IsActive: boolean;\r\n IsDeleted: boolean;\r\n IsPartnerApiEnabled: boolean;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n\r\n // DocuwareDetails:DocuwareMasterRequestModel;\r\n DocuwareMasters: DocuwareMasterRequestModel[];\r\n clientId: string;\r\n clientSecret: string;\r\n}\r\n","import { DocumentTypeDocumentMetadataRequestModel } from \"./document-type-document-metadata-request\";\r\n\r\nexport class DocumentTypeDocumentRequestModel {\r\n DocumentTypeDocumentId: number;\r\n CompanyId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n IsPublic: boolean;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n \r\n DocumentTypeDocumentMetadatas: DocumentTypeDocumentMetadataRequestModel[];\r\n}\r\n\r\nexport class DocumentTypeDocumentSearchRequestModel{\r\n DocumentTypeId: number;\r\n SearchText: string;\r\n}","export class DocuwareMasterRequestModel {\r\n DocuwareId: number;\r\n CompanyId: number;\r\n MunicipalityId: number;\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n PassPhrase: string;\r\n // CabinetId: number;\r\n // CabinetName: string;\r\n IsActive: boolean;\r\n IsDeleted: boolean;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n}\r\n","export class MetadataSearchRequestModel{\r\n DocumentTypeId: number;\r\n forCustomPage: boolean;\r\n MetadataSearch: Array;\r\n}\r\n\r\nexport class MetadataSearchModel {\r\n DocumentTypeMetadataId: number;\r\n FieldName: string;\r\n FieldType: string;\r\n FieldValueFrom: string;\r\n FieldValueTo: string;\r\n}","// export class MigrationClientRequestModel{\r\n// ClientId : number;\r\n// FirstName : string;\r\n// LastName : string;\r\n// Email : string\r\n// PhoneNo : string;\r\n// Password : string;\r\n// Role : string;\r\n// IsActive : boolean;\r\n// IsForgotPassword : boolean;\r\n// IsLinkExpired :boolean;\r\n// IsDeleted : boolean;\r\n// AllowedDocumentStorage : string;\r\n// SubscriptionStartDate : Date;\r\n// SubscriptionEndDate : Date;\r\n// DateTimeCreated : Date;\r\n// DateTimeLastModified : Date;\r\n// }\r\n\r\nexport class MigrationClientRequestModel {\r\n ClientId: any;\r\n FirstName: any;\r\n LastName: any;\r\n Email: any;\r\n PhoneNo: any;\r\n Password: any;\r\n Role: any;\r\n IsActive: any;\r\n IsForgotPassword: any;\r\n IsLinkExpired: any;\r\n IsDeleted: any;\r\n AllowedDocumentStorage: any;\r\n SubscriptionStartDate: any;\r\n SubscriptionEndDate: any;\r\n DateTimeCreated: any;\r\n DateTimeLastModified: any;\r\n UpgradeStorage: any;\r\n UpgradeType: any;\r\n ModifiedBy: any;\r\n}\r\n","export class TestDocuwareConnectionModel {\r\n OrganizationName: string;\r\n ServerURL: string;\r\n UserName: string;\r\n Password: string;\r\n}\r\n\r\n// export class CabinetRequestModel {\r\n// OrganizationName: string;\r\n// ServerURL: string;\r\n// UserName: string;\r\n// Password: string;\r\n// PassPhrase: string;\r\n// CabinetId: string;\r\n// MunicipalityId: number;\r\n// }\r\n","export class UserInfoRequestModel {\r\n CompanyId: number;\r\n userId: number;\r\n firstName: string;\r\n lastName: string;\r\n email: string;\r\n phoneNo: string;\r\n password: string;\r\n isActive: boolean;\r\n isDeleted: boolean;\r\n isForgotPassword: boolean;\r\n IsLinkExpired: boolean;\r\n Role: string; \r\n LastAccessDate: Date;\r\n dateTimeCreated: Date;\r\n dateTimeLastModified: Date;\r\n\r\n}\r\n","import { GroupPermissionResponseModel } from \"./group-permission-response\";\r\nimport { GroupResponseModel } from \"./group-response\";\r\nimport { UserPermissionModelForResponse } from \"./user-permission-response\";\r\n\r\nexport class UserAuthResponseModel {\r\n token: string;\r\n tokentype: string;\r\n refreshtoken: string;\r\n userId: number;\r\n email: string;\r\n userName: string;\r\n userFirstName: string;\r\n userLastName: string;\r\n role: string;\r\n companyId: number;\r\n companyName: string;\r\n groupId: number;\r\n isDocuware: boolean;\r\n group: Array;\r\n userPermission: Array;\r\n groupPermission: Array;\r\n}\r\n\r\nexport class AccessTokenResponseModel {\r\n access_token: string;\r\n token_type: string;\r\n expires_in: number;\r\n user_id: string;\r\n customer_id: string;\r\n company_id: string;\r\n user_type: string;\r\n product_name: string;\r\n name: string;\r\n email_id: string;\r\n}\r\n","import { DocuwareMasterResponseModel } from \"./docuware-master-response\";\r\n\r\nexport class CompanyResponseModel {\r\n CompanyId: number;\r\n CompanyCode: string;\r\n CompanyName: string;\r\n CompanyWebsiteURL: string;\r\n ContactFirstName: string;\r\n ContactLastName: string;\r\n ContactEmail: string;\r\n ContactPhone: string;\r\n InterfaceWith: string;\r\n AllowedDocumentStorage: string;\r\n IsActive: boolean;\r\n IsDeleted: boolean;\r\n IsPartnerApiEnabled: boolean;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n\r\n UsedStorage: string;\r\n\r\n // DocuwareDetails: DocuwareMasterResponseModel;\r\n DocuwareMasters: DocuwareMasterResponseModel[];\r\n ClientId: string;\r\n ClientSecret: string;\r\n}\r\n","import { DocumentTypeDocumentMetadataResponseModel } from \"./document-type-document-metadata-response\";\r\n\r\nexport class DocumentTypeDocumentResponseModel {\r\n DocumentTypeDocumentId: number;\r\n CompanyId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n IsPublic: boolean;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n ActualDocumentName: string;\r\n DocumentTypeDocumentMetadatas: DocumentTypeDocumentMetadataResponseModel[];\r\n}\r\n\r\nexport class DocumentDisplayModel {\r\n DocumentTypeInboxId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n OCRData: string;\r\n FileSize: string;\r\n IsPublic: boolean;\r\n ActualDocumentName: string;\r\n}\r\n\r\nexport class SPDocumentsByDocType {\r\n ID: number;\r\n DocumentId: number;\r\n FileName: string;\r\n FileSize: string;\r\n UploadedOn: Date;\r\n Metadata: boolean;\r\n OCRStatus: string;\r\n FailReason: string;\r\n}\r\n\r\nexport class DocumentTypeDocumentResponse {\r\n DocumentTypeDocumentId: number;\r\n CompanyId: number;\r\n DocumentTypeId: number;\r\n DocumentPath: string;\r\n IsPublic: boolean;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n}\r\n\r\nexport class DocumentTypeDocumentModelForSearch {\r\n // Documents: DocumentTypeDocumentResponseModel[];\r\n Documents: DocumentDisplayModel[];\r\n BackupSearchRecords: any[];\r\n SearchInput: SearchInputModel[];\r\n}\r\n\r\nexport class SearchInputModel {\r\n DocumentTypeMetadataId: number;\r\n DisplayAs: string;\r\n FieldName: string;\r\n FieldType: string;\r\n Sequence: number;\r\n FilteredValues: LabelValueModel[];\r\n Values: LabelValueModel[];\r\n}\r\n\r\nexport class LabelValueModel {\r\n label: string;\r\n value: string;\r\n}\r\n\r\nexport class SPFullTextModel \r\n{ \r\n // DocumentTypeDocumentId: number;\r\n DocumentTypeInboxId: number;\r\n}\r\n\r\nexport class FilterValueModel {\r\n label: string;\r\n value: string;\r\n FieldName: string;\r\n}\r\n","import { DocumentCabinetResponseModel } from \"./document-cabinet-response\";\r\nimport { DocumentTypeInboxResponseModel } from \"./document-type-inbox-response\";\r\nimport { DocumentTypeMetadataResponseModel } from \"./document-type-metadata-response\";\r\nimport { GroupPermissionsDisplayResponseModel, GroupResponseModel } from \"./group-response\";\r\nimport { UserInfoResponseModel, UserPermissionDisplayResponseModel } from \"./userInfo-response\";\r\n\r\nexport class DocumentTypeResponseModel {\r\n DocumentTypeId: number;\r\n DocumentCabinetId: number;\r\n DocuwareCabinetId: string;\r\n // DocumentType1: string;\r\n DocumentTypeName: string;\r\n DocumentTypeURL: string;\r\n AreDocuments: boolean;\r\n IsVisibleToCustomer:boolean;\r\n HeaderBGColor: string;\r\n LogoImage: string;\r\n PageTitleColor: string;\r\n DocumentGroupTitleColor: string;\r\n TableHeaderLabelColor: string;\r\n TableHeaderBGColor: string;\r\n // ModifiedBy: string;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n DocumentCabinetName: string; \r\n AreDocumentsPublic: boolean;\r\n\r\n DocumentCabinet: DocumentCabinetResponseModel;\r\n DocumentTypeMetadatas: Array;\r\n DocumentTypeInboxes: Array;\r\n\r\n isFull: boolean;\r\n isView: boolean;\r\n isCreate: boolean;\r\n isEdit: boolean;\r\n isDelete: boolean;\r\n\r\n SearchDialogId: string;\r\n SearchDialogName: string;\r\n SearchDialogDetail: Array;\r\n}\r\n\r\nexport class DocumentTypeListResponseModel {\r\n DocumentTypeId: number;\r\n DocumentCabinetId: number;\r\n DocumentTypeName: string;\r\n DocumentTypeURL: string;\r\n AreDocuments: boolean;\r\n IsVisibleToCustomer:boolean;\r\n HeaderBGColor: string;\r\n LogoImage: string;\r\n PageTitleColor: string;\r\n DocumentGroupTitleColor: string;\r\n TableHeaderLabelColor: string;\r\n TableHeaderBGColor: string;\r\n LastModifiedBy: number;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n DocumentCabinetName: string;\r\n \r\n AreDocumentsPublic: boolean;\r\n}\r\n\r\nexport class SearchDialogDetail {\r\n CabinetSearchDialogId: string;\r\n CabinetSearchDialogName: string;\r\n DocumentTypeMetadatas: Array;\r\n}\r\n\r\nexport class DocumentTypeUserGroupResponseModel {\r\n DocumentTypeId: number;\r\n DocumentTypeName: string; \r\n DocumentCabinetName: string;\r\n GroupCount: number;\r\n UserCount: number;\r\n}\r\n\r\nexport class DocumentTypePermissionsResponseModel {\r\n DocumentTypeId: number;\r\n DocumentTypeName: string;\r\n Users: Array;\r\n Groups: Array;\r\n}\r\n\r\nexport class DocumentTypePermissionDisplayModel {\r\n DocumentTypeId: number;\r\n DocumentTypeName: string;\r\n Users: Array;\r\n Groups: Array;\r\n}\r\n\r\nexport class SPDocumentTypesByCompanyIdResponseModel {\r\n DocumentCabinetId: number;\r\n DocumentTypeId: number;\r\n DocumentCabinetName: string;\r\n DocumentTypeName: string;\r\n AreDocumentsPublic: Boolean;\r\n DateTimeCreated: Date; \r\n IsVisibleToCustomer: boolean\r\n DocumentTypeURL: string;\r\n\r\n isFull: boolean;\r\n isView: boolean;\r\n isCreate: boolean;\r\n isEdit: boolean;\r\n isDelete: boolean;\r\n}\r\n\r\nexport class DocumentTypeWithDocNumberResponseModel {\r\n DocumentCabinetId: number;\r\n DocumentTypeId: number;\r\n DocumentTypeName: string;\r\n DocumentCountForInboxModule: number;\r\n}","export class ForgotPasswordModel {\r\n email: string;\r\n userId: number;\r\n encryptedUserId: string;\r\n encryptedDate: string;\r\n encryptedString: string;\r\n password: string;\r\n}\r\n\r\nexport class ResetPasswordModel {\r\n userId: number;\r\n email: string;\r\n password: string;\r\n}\r\n\r\nexport class ChangePasswordModel {\r\n userId: number;\r\n oldPassword: string;\r\n newPassword: string;\r\n}\r\n\r\nexport class DownloadFile {\r\n StrFileName: string;\r\n StrCompanyId: string;\r\n StrDocumentTypeId: string;\r\n DownloadFromInbox: boolean;\r\n StrDocumentTypeInboxId: string;\r\n}\r\n","export class MigrationClientResponseModel {\r\n ClientId: number;\r\n FirstName: string;\r\n LastName: string;\r\n Email: string\r\n PhoneNo: string;\r\n Password: string;\r\n Role: string;\r\n IsActive: boolean;\r\n IsForgotPassword: boolean;\r\n IsLinkExpired: boolean;\r\n IsDeleted: boolean;\r\n AllowedDocumentStorage: string;\r\n SubscriptionStartDate: Date;\r\n SubscriptionEndDate: Date;\r\n DateTimeCreated: Date;\r\n DateTimeLastModified: Date;\r\n Message: string;\r\n token: string;\r\n tokenExpiry: Date;\r\n tokenType: string;\r\n UsedDocumentStorage: string;\r\n}\r\n","
\r\n \r\n \r\n
\r\n
\r\n
\r\n\r\n

\r\n \r\n \r\n \r\n \r\n \r\n My Profile\r\n

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

{{message}}

\r\n \r\n
\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.firstName.required}}\r\n {{validationMessages.firstName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.lastName.required}}\r\n {{validationMessages.lastName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.email.required}}\r\n {{validationMessages.email.email}}\r\n
\r\n
\r\n\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { UserService } from '../services/user.service';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { Constants } from '../shared/constants';\r\nimport { Subject } from 'rxjs';\r\nimport { UserInfoRequestModel } from '../models/request/userInfo-request';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { UserAuthResponseModel } from '../models/response/access-token-response';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { environment } from 'src/environments/environment';\r\nimport { Router } from '@angular/router';\r\nimport { UserRole } from '../shared/enum';\r\n\r\n@Component({\r\n selector: 'app-my-profile',\r\n templateUrl: './my-profile.component.html',\r\n styleUrls: ['./my-profile.component.sass']\r\n})\r\nexport class MyProfileComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n currentUserToken: any;\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n isAdminHeader: boolean = false;\r\n products1:any[];\r\n\r\n formFields =\r\n {\r\n firstName: 'firstName',\r\n lastName: 'lastName',\r\n email: 'email',\r\n };\r\n\r\n validationMessages = {\r\n firstName: {\r\n required: 'First name is required',\r\n validCharacters: 'First name is invalid'\r\n },\r\n lastName: {\r\n required: 'Last name is required',\r\n validCharacters: 'Last namer is invalid'\r\n },\r\n email: {\r\n required: 'Email address is required',\r\n email: 'Email address is invalid'\r\n }\r\n};\r\n isCustomer: boolean;\r\n\r\n constructor(private userService: UserService, private webStorageService: WebStorageService, private router: Router,\r\n private formBuilder: FormBuilder) {\r\n super();\r\n\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n\r\n this.isCustomer = this.currentUserToken.role === UserRole.enumCustomer ? true : false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.currentUserToken = [];\r\n\r\n this.buildForm();\r\n this.onReset();\r\n }\r\n\r\n onSubmit(){\r\n \r\n if(this.form.invalid){\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n const reqModel = new UserInfoRequestModel;\r\n reqModel.firstName = this.form.get(this.formFields.firstName).value;\r\n reqModel.lastName = this.form.get(this.formFields.lastName).value;\r\n reqModel.email = this.form.get(this.formFields.email).value;\r\n reqModel.userId = this.currentUserToken.userId;\r\n\r\n\r\n this.userService.updateProfile(reqModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, async () => {\r\n\r\n \r\n if (result.IsSuccess) {\r\n\r\n var token = this.webStorageService.getCurrentUserToken().token;\r\n\r\n this.webStorageService.deleteCurrentUserToken();\r\n\r\n const authToken = new UserAuthResponseModel();\r\n authToken.companyId = result?.ResponseModel?.CompanyId;\r\n authToken.companyName = result?.ResponseModel?.CompanyName;\r\n authToken.groupId = result?.ResponseModel?.GroupId;\r\n authToken.userId = result?.ResponseModel?.UserId;\r\n authToken.role = result?.ResponseModel?.Role;\r\n authToken.email = result?.ResponseModel?.Email;\r\n authToken.userName = result?.ResponseModel?.FirstName + \" \" + result?.ResponseModel?.LastName;\r\n authToken.userFirstName = result?.ResponseModel?.FirstName;\r\n authToken.userLastName = result?.ResponseModel?.LastName;\r\n authToken.token = token;\r\n this.webStorageService.storeCurrentUserToken(authToken);\r\n\r\n this.timeoutFunct('Profile updated', true);\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n onReset(){\r\n \r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.form.get(this.formFields.email).setValue(this.currentUserToken.email);\r\n // var username = this.currentUserToken.userName.split(\" \", 2);\r\n // this.form.get(this.formFields.firstName).setValue(username[0]);\r\n // this.form.get(this.formFields.lastName).setValue(username[1]);\r\n this.form.get(this.formFields.firstName).setValue(this.currentUserToken.userFirstName);\r\n this.form.get(this.formFields.lastName).setValue(this.currentUserToken.userLastName);\r\n }\r\n\r\n onBack(){\r\n // if(this.currentUserToken.role === UserRole.enumCustomer) {\r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n // this.router.navigate([url]);\r\n // } else {\r\n // this.router.navigate(['/company']);\r\n // }\r\n if(this.currentUserToken.role === UserRole.enumAdmin) { \r\n this.router.navigate(['/company']);\r\n } else { \r\n // var url = '/company/' + this.currentUserToken.companyId +'/document-cabinet';\r\n var url = '/company/' + this.currentUserToken.companyId +'/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigate([url]);\r\n }\r\n }\r\n\r\n private buildForm(){\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.firstName, this.formBuilder.control(\"\",\r\n { validators: [Validators.required, CustomValidator.onlyCharacters],\r\n updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.lastName, this.formBuilder.control(\"\",\r\n { validators: [Validators.required, CustomValidator.onlyCharacters],\r\n updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.email, this.formBuilder.control(\"\",\r\n { validators: [Validators.required, CustomValidator.email],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { RouterModule, Routes } from '@angular/router';\r\nimport { ConfigurationComponent } from './configuration.component';\r\n\r\nconst routes: Routes = [\r\n {\r\n path: '',\r\n component: ConfigurationComponent\r\n },\r\n];\r\n\r\n@NgModule({\r\n imports: [RouterModule.forChild(routes)],\r\n exports: [RouterModule]\r\n})\r\nexport class ConfigurationRoutingModule { }\r\n","\r\n\r\n\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { ActivatedRoute, Params, Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil } from 'rxjs/operators';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { UserRole } from 'src/app/shared/enum';\r\n\r\n@Component({\r\n selector: 'app-configuration',\r\n templateUrl: './configuration.component.html',\r\n styleUrls: ['./configuration.component.sass']\r\n})\r\nexport class ConfigurationComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n companyId: number;\r\n isCustomer: boolean;\r\n\r\n constructor(private router: Router, private activatedRoute: ActivatedRoute, private webStorageService: WebStorageService) { \r\n this.router.routeReuseStrategy.shouldReuseRoute = () => false;\r\n this.isCustomer = this.webStorageService.getCurrentUserToken()?.role === UserRole.enumCustomer ? true : false;\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.companyId = params['id'];\r\n });\r\n }\r\n\r\n onCompanyChangeInHeader(company: any) {\r\n \r\n var routerUrl = '/company/' + company.CompanyId + '/configuration/document-filing-cabinets/document-cabinets';\r\n this.router.navigateByUrl(routerUrl);\r\n // this.router.navigate([routerUrl], { relativeTo: this.activatedRoute }); // when working with same route but different query params add 'this.router.routeReuseStrategy.shouldReuseRoute = () => false;' in constructor \r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\n\r\nimport { ConfigurationRoutingModule } from './configuration-routing.module';\r\nimport { ConfigurationMenuComponent } from './configuration-menu/configuration-menu.component';\r\nimport { ConfigurationComponent } from './configuration.component';\r\n// import { HeaderComponent } from '../../components/header/header.component';\r\n//import { DropdownModule } from 'primeng/dropdown';\r\n//import { DropdownMenuComponent } from '../../components/dropdown-menu/dropdown-menu.component';\r\n//import { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport {DialogModule} from 'primeng/dialog';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport {MultiSelectModule} from 'primeng/multiselect';\r\nimport { SharedModule } from '../../shared/shared.module';\r\n// import { DeletePopupComponent } from '../../components/delete-popup/delete-popup.component';\r\n\r\n\r\n@NgModule({\r\n declarations: [ConfigurationMenuComponent, ConfigurationComponent],\r\n imports: [\r\n ReactiveFormsModule,\r\n CommonModule,\r\n ConfigurationRoutingModule,\r\n //DropdownModule,\r\n FormsModule,\r\n //OverlayPanelModule,\r\n DialogModule,\r\n FormsModule,\r\n CalendarModule,\r\n InputNumberModule,\r\n MultiSelectModule,\r\n SharedModule\r\n ],\r\n exports: [\r\n ConfigurationComponent, \r\n DialogModule,\r\n ConfigurationMenuComponent,\r\n MultiSelectModule\r\n \r\n ]\r\n})\r\nexport class ConfigurationModule { }\r\n","
\r\n
\r\n

{{message}}

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

Add Client

\r\n

0\">Edit Client

\r\n
\r\n \r\n \r\n {{isActive ? 'Active' : 'Inactive'}}\r\n \r\n\r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n

Client Information

\r\n
\r\n
\r\n \r\n \r\n {{validationMessages.FirstName.required}}\r\n {{validationMessages.FirstName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.LastName.required}}\r\n {{validationMessages.LastName.validCharacters}}\r\n
\r\n\r\n
\r\n \r\n \r\n {{validationMessages.Email.required}}\r\n {{validationMessages.Email.email}}\r\n
\r\n
\r\n \r\n \r\n \r\n \r\n {{validationMessages.PhoneNo.required}}\r\n
\r\n\r\n \r\n\r\n\r\n\r\n
\r\n \r\n \r\n \r\n {{validationMessages.SubscriptionStartDate.required}}\r\n
\r\n\r\n
\r\n \r\n \r\n \r\n {{validationMessages.SubscriptionEndDate.required}}\r\n \r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n {{storageLabel}}\r\n\r\n\r\n \r\n (In GB)\r\n \r\n {{validUpgradeStorage}}\r\n \r\n {{validationMessages.UpgradeStorage.validNumber}}\r\n \r\n
\r\n \r\n {{validationMessages.AllowedDocumentStorage.required}}\r\n \r\n {{validationMessages.AllowedDocumentStorage.validNumber}}\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n
\r\n
\r\n
\r\n\r\n
\r\n
\r\n","import { Component, EventEmitter, Input, OnDestroy, OnInit, Output, SimpleChanges } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { MigrationClientRequestModel } from 'src/app/models/request/migration-client-request';\r\nimport { MigrationClientResponseModel } from 'src/app/models/response/migration-client-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { MigrationClientService } from 'src/app/services/migration-client.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { Constants } from 'src/app/shared/constants';\r\nimport { CustomValidator } from 'src/app/shared/custom-validator';\r\nimport { enumMigrationClientRole } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as $ from \"jquery\";\r\nimport * as moment from 'moment';\r\nimport { UserAuthResponseModel } from '../../../models/response/access-token-response';\r\nimport { WebStorageService } from '../../../services/web-storage.service';\r\n\r\n@Component({\r\n selector: 'app-manage-migration-client',\r\n templateUrl: './manage-migration-client.component.html',\r\n styleUrls: ['./manage-migration-client.component.sass']\r\n})\r\nexport class ManageMigrationCLientComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n @Output() isClientListUpdated = new EventEmitter();\r\n @Output() close: EventEmitter = new EventEmitter();\r\n @Input('clientId') clientId: number;\r\n @Input('count') count: number;\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n isEditMode: boolean = false;\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n isActive: boolean = true;\r\n\r\n clientResponseModel: MigrationClientResponseModel;\r\n manageClient: boolean = false;\r\n //roleList: any;\r\n subscriptionStartDate: Date;\r\n subscriptionEndDate: Date;\r\n storageLabel: string = ''\r\n StorageButton: string = 'Edit'\r\n isShowStorage: boolean = false\r\n validUpgradeStorage: string = '';\r\n currentUserToken: UserAuthResponseModel;\r\n constructor(private migrationClientService: MigrationClientService, private formBuilder: FormBuilder\r\n , private webStorageService: WebStorageService, private router: Router) {\r\n super();\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n if (this.clientId > 0) {\r\n this.getClientById(this.clientId);\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n //this.roleList = Object.keys(enumMigrationClientRole).map(key => ({ label: enumMigrationClientRole[key], value: key }));\r\n //this.roleList = this.roleList.filter(where => where != enumMigrationClientRole.enumNone);\r\n\r\n\r\n this.buildForm();\r\n\r\n // $(function(){\r\n // var appendthis = (\"\");\r\n // $('a[data-modal-id]').click(function(e) {\r\n // e.preventDefault();\r\n // $(\"body\").append(appendthis);\r\n // $(\".modal-overlay\").fadeTo(500, 0.7);\r\n // var modalBox = $(this).attr('data-modal-id');\r\n // $('#'+modalBox).fadeIn($(this).data());\r\n // });\r\n\r\n\r\n // $(window).resize(function() {\r\n // $(\".modal-box\").css({\r\n // top: ($(window).height() - $(\".modal-box\").outerHeight()) / 2,\r\n // left: ($(window).width() - $(\".modal-box\").outerWidth()) / 2\r\n // });\r\n // });\r\n\r\n // $(window).resize();\r\n\r\n // });\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n ngOnChanges(changes: SimpleChanges) {\r\n if (this.clientId > 0) {\r\n this.isEditMode = true;\r\n this.getClientById(this.clientId);\r\n } else {\r\n this.resetClientForm();\r\n }\r\n }\r\n\r\n formFields = {\r\n FirstName: 'FirstName',\r\n LastName: 'LastName',\r\n Email: 'Email',\r\n PhoneNo: 'PhoneNo',\r\n Password: 'Password',\r\n // Role: 'Role',\r\n IsActive: 'IsActive',\r\n AllowedDocumentStorage: 'AllowedDocumentStorage',\r\n SubscriptionStartDate: 'SubscriptionStartDate',\r\n SubscriptionEndDate: 'SubscriptionEndDate',\r\n UpgradeStorage: 'UpgradeStorage'\r\n }\r\n\r\n validationMessages = {\r\n FirstName: {\r\n required: 'First name is required',\r\n validCharacters: 'Enter valid First name'\r\n },\r\n LastName: {\r\n required: 'Last name is required',\r\n validCharacters: 'Enter valid Last name'\r\n },\r\n Email: {\r\n required: 'Email is required',\r\n email: 'Enter valid Email'\r\n },\r\n PhoneNo: {\r\n required: 'Phone Number is required',\r\n validNumber: 'Enter valid Phone',\r\n minlength: 'Phone number should be 10 digits'\r\n },\r\n AllowedDocumentStorage: {\r\n required: 'Storage is required',\r\n validNumber: 'Enter valid storage'\r\n },\r\n //Role: {\r\n // required: 'Role is required'\r\n //},\r\n SubscriptionStartDate: {\r\n required: 'Subscription Start Date is required'\r\n },\r\n SubscriptionEndDate: {\r\n required: 'Subscription End Date is required',\r\n min: 'Subscription End Date cannot be before Subscription Start Date'\r\n },\r\n UpgradeStorage: {\r\n required: 'Storage is required',\r\n validNumber: 'Enter valid storage'\r\n }\r\n };\r\n\r\n private buildForm() {\r\n\r\n const formGroup = this.formBuilder.group({});\r\n\r\n formGroup.addControl(this.formFields.FirstName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.LastName, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyCharacters], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.Email, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.email], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.PhoneNo, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.phoneNumber], updateOn: Constants.formControlUpdateStrategy.change }));\r\n //formGroup.addControl(this.formFields.Role, this.formBuilder.control('',\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n // formGroup.addControl(this.formFields.IsActive, this.formBuilder.control(true,\r\n // { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.addControl(this.formFields.AllowedDocumentStorage, this.formBuilder.control('',\r\n { validators: [Validators.required, CustomValidator.onlyDecimals], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.SubscriptionStartDate, this.formBuilder.control('',\r\n { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.SubscriptionEndDate, this.formBuilder.control('',\r\n { validators: [Validators.required], updateOn: Constants.formControlUpdateStrategy.change }));\r\n formGroup.addControl(this.formFields.UpgradeStorage, this.formBuilder.control('',\r\n { validators: [CustomValidator.onlyDecimals] }));\r\n this.form = formGroup;\r\n }\r\n\r\n private getClientById(clientId: number) {\r\n \r\n // console.log(clientId);\r\n if (!clientId) {\r\n return;\r\n }\r\n\r\n this.isEditMode = true;\r\n this.loading = true;\r\n\r\n this.migrationClientService.getMigrationClientInfo(clientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n this.clientResponseModel = result.ResponseModel;\r\n this.setValuesToForm();\r\n this.subscriptionEndDate = new Date(this.clientResponseModel.SubscriptionEndDate);\r\n this.subscriptionStartDate = new Date(this.clientResponseModel.SubscriptionStartDate);\r\n // console.log(result.ResponseModel)\r\n\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n setValuesToForm() {\r\n this.form.reset();\r\n\r\n if (!this.clientResponseModel) {\r\n return;\r\n }\r\n\r\n const form = this.form;\r\n\r\n form.get(this.formFields.FirstName).setValue(this.clientResponseModel.FirstName);\r\n form.get(this.formFields.LastName).setValue(this.clientResponseModel.LastName);\r\n form.get(this.formFields.Email).setValue(this.clientResponseModel.Email);\r\n form.get(this.formFields.PhoneNo).setValue(this.clientResponseModel.PhoneNo);\r\n //form.get(this.formFields.Role).setValue(this.clientResponseModel.Role);\r\n this.isActive = this.clientResponseModel.IsActive;\r\n form.get(this.formFields.AllowedDocumentStorage).setValue(this.clientResponseModel.AllowedDocumentStorage);\r\n form.get(this.formFields.SubscriptionEndDate).setValue(new Date(this.clientResponseModel.SubscriptionEndDate));\r\n form.get(this.formFields.SubscriptionStartDate).setValue(new Date(this.clientResponseModel.SubscriptionStartDate));\r\n this.clientResponseModel.UsedDocumentStorage = ((this.clientResponseModel.UsedDocumentStorage == null || this.clientResponseModel.UsedDocumentStorage == \"\")\r\n ? \"0\" : this.clientResponseModel.UsedDocumentStorage);\r\n \r\n this.storageLabel = ''\r\n this.StorageButton = 'Edit'\r\n this.isShowStorage = false\r\n this.validUpgradeStorage = '';\r\n if (this.clientResponseModel.UsedDocumentStorage == \"0\") {\r\n this.StorageButton = \"Edit Storage\"\r\n }\r\n else {\r\n this.StorageButton = \"Add Storage\"\r\n }\r\n this.storageLabel = this.formatBytes(this.clientResponseModel.UsedDocumentStorage, 0) + ' of ' + this.clientResponseModel.AllowedDocumentStorage + ' GB'\r\n }\r\n ShowHideStorage() {\r\n this.isShowStorage = !this.isShowStorage;\r\n }\r\n resetClientForm() {\r\n this.manageClient = false;\r\n if (this.form) {\r\n this.form.reset();\r\n }\r\n this.isEditMode = false;\r\n }\r\n\r\n onDateSelect(event: any) {\r\n \r\n this.subscriptionStartDate = event;\r\n\r\n if (this.subscriptionEndDate != null) {\r\n if (this.subscriptionStartDate > this.subscriptionEndDate) {\r\n this.form.get(this.formFields.SubscriptionEndDate).setValue('');\r\n }\r\n }\r\n }\r\n\r\n onSelectEndDate(event: any) {\r\n \r\n this.subscriptionEndDate = event;\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n\r\n closePopup() {\r\n this.close.emit();\r\n this.resetClientForm();\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n\r\n closeDeletePopup() {\r\n this.form.reset();\r\n $('.add-update-popup').fadeOut('fast');\r\n }\r\n getValuesFromForm() {\r\n\r\n \r\n const form = this.form;\r\n\r\n const clientRequestModel = new MigrationClientRequestModel();\r\n\r\n clientRequestModel.ClientId = this.isEditMode ? this.clientId : 0;\r\n clientRequestModel.FirstName = form.get(this.formFields.FirstName).value.toString().trim();\r\n clientRequestModel.LastName = form.get(this.formFields.LastName).value.toString().trim();\r\n clientRequestModel.Email = form.get(this.formFields.Email).value.toString()\r\n clientRequestModel.PhoneNo = form.get(this.formFields.PhoneNo).value\r\n //clientRequestModel.Role = form.get(this.formFields.Role).value\r\n clientRequestModel.AllowedDocumentStorage = form.get(this.formFields.AllowedDocumentStorage).value;\r\n clientRequestModel.SubscriptionStartDate = form.get(this.formFields.SubscriptionStartDate)?.value.toLocaleDateString();\r\n clientRequestModel.SubscriptionEndDate = form.get(this.formFields.SubscriptionEndDate)?.value.toLocaleDateString();\r\n clientRequestModel.IsActive = this.isActive;\r\n clientRequestModel.DateTimeCreated = new Date();\r\n clientRequestModel.DateTimeLastModified = new Date();\r\n clientRequestModel.IsForgotPassword = false;\r\n clientRequestModel.IsLinkExpired = false;\r\n clientRequestModel.IsDeleted = false;\r\n clientRequestModel.Password = \" \";\r\n if (this.isEditMode && this.isShowStorage) {\r\n if (this.StorageButton == \"Edit Storage\")\r\n clientRequestModel.UpgradeType = \"Edit\";\r\n else\r\n clientRequestModel.UpgradeType = \"Add\";\r\n\r\n clientRequestModel.UpgradeStorage = form.get(this.formFields.UpgradeStorage).value;\r\n }\r\n else\r\n clientRequestModel.UpgradeStorage = \"\";\r\n\r\n clientRequestModel.ModifiedBy = this.currentUserToken.userId;\r\n\r\n\r\n\r\n return clientRequestModel;\r\n\r\n }\r\n onUpgradeStorage() {\r\n \r\n this.validUpgradeStorage = '';\r\n }\r\n onSubmit() {\r\n this.validUpgradeStorage = '';\r\n if (this.form.invalid) {\r\n // const invalid = [];\r\n // const controls = this.form.controls;\r\n // for (const name in controls) {\r\n // if (controls[name].invalid) {\r\n // invalid.push(name);\r\n // }\r\n // }\r\n // console.log(invalid);\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n \r\n if (this.isEditMode && this.isShowStorage) {\r\n if (this.form.get(this.formFields.UpgradeStorage).value == \"\" || this.form.get(this.formFields.UpgradeStorage).value == undefined) {\r\n this.validUpgradeStorage = this.validationMessages.UpgradeStorage.required\r\n return false;\r\n }\r\n }\r\n\r\n const clientRequestModel = this.getValuesFromForm();\r\n this.loading = true;\r\n const manageClient = this.isEditMode ? this.migrationClientService.updateMigrationClient(clientRequestModel)\r\n : this.migrationClientService.addMigrationClient(clientRequestModel);\r\n\r\n manageClient\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n\r\n if (result.IsSuccess) {\r\n\r\n if (result.ResponseModel) {\r\n var response = result.ResponseModel;\r\n }\r\n var message = this.isEditMode ? 'Client information updated' : 'Client information added';\r\n this.loading = false;\r\n this.timeoutFunct(message, true);\r\n setTimeout(() => {\r\n this.storageLabel = ''\r\n this.StorageButton = 'Edit'\r\n this.isShowStorage = false\r\n this.validUpgradeStorage = '';\r\n this.form.reset();\r\n this.closeDeletePopup();\r\n this.closePopup();\r\n this.isClientListUpdated.emit(true);\r\n }, environment.messageLifeSpan);\r\n\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n formatBytes(bytes: any, decimals = 2) {\r\n bytes = parseFloat(bytes);\r\n if (bytes === 0) {\r\n return \"0 Bytes\";\r\n }\r\n const k = 1024;\r\n const dm = decimals <= 0 ? 0 : decimals;\r\n const sizes = [\"Bytes\", \"KB\", \"MB\", \"GB\", \"TB\", \"PB\", \"EB\", \"ZB\", \"YB\"];\r\n const i = Math.floor(Math.log(bytes) / Math.log(k));\r\n return parseFloat((bytes / Math.pow(k, i)).toFixed(dm)) + \" \" + sizes[i];\r\n }\r\n}\r\n","
\r\n \r\n
\r\n
\r\n
\r\n

{{message}}

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

Filters

\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n \r\n \r\n
\r\n \r\n
\r\n Apply\r\n Clear\r\n \r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n

DocuWare Migration Subscriptions

\r\n
\r\n \r\n \r\n Add Client\r\n\r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n
0\">({{clients?.length}} Customers)
\r\n
\r\n
\r\n
\r\n
\r\n \r\n \r\n \r\n User 1\">\r\n Contact Information\r\n \r\n Storage\r\n Subscription Start Date\r\n Subscription End Date\r\n Status\r\n Action\r\n \r\n \r\n \r\n \r\n \r\n {{client.FirstName}} {{client.LastName}} \r\n \r\n \r\n \r\n \r\n \r\n \r\n {{client.PhoneNo}}\r\n {{client.Email}}\r\n \r\n \r\n \r\n \r\n {{client.AllowedDocumentStorage === null ? '0' : client.AllowedDocumentStorage}} GB\r\n \r\n \r\n \r\n {{client.SubscriptionStartDate | date }}\r\n \r\n \r\n \r\n {{client.SubscriptionEndDate | date}}\r\n \r\n \r\n \r\n {{client.IsActive ? 'Active' : 'Inactive'}}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n

Delete Document

\r\n

Are you sure you want to delete {{deleteClient?.FirstName}} {{deleteClient?.LastName}}?

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

Reset Password

\r\n

Do you want to send Reset Password link to {{selectedEmail}} ?

\r\n
\r\n \r\n \r\n \r\n
\r\n
\r\n
\r\n","import { Component, OnDestroy, OnInit } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { SortEvent } from 'primeng/api';\r\nimport { Subject } from 'rxjs';\r\nimport { finalize, takeUntil } from 'rxjs/operators';\r\nimport { UserAuthResponseModel } from 'src/app/models/response/access-token-response';\r\nimport { MigrationClientResponseModel } from 'src/app/models/response/migration-client-response';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { MigrationClientService } from 'src/app/services/migration-client.service';\r\nimport { WebStorageService } from 'src/app/services/web-storage.service';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { UserRole, enumMigrationClientRole, enumMigrationClientStatus } from 'src/app/shared/enum';\r\nimport { environment } from 'src/environments/environment';\r\nimport * as $ from \"jquery\";\r\n\r\n@Component({\r\n selector: 'app-migration-client',\r\n templateUrl: './migration-client.component.html',\r\n styleUrls: ['./migration-client.component.sass']\r\n})\r\nexport class MigrationCLientComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n displayMessage: boolean;\r\n messageClass: boolean;\r\n message: any;\r\n showClearFilter: boolean = false;\r\n\r\n filterResposniveEvent: any;\r\n\r\n currentUserToken: UserAuthResponseModel;\r\n isCustomerAdmin: boolean = false;\r\n companyId: number;\r\n\r\n clients: MigrationClientResponseModel[];\r\n clientsBackup: MigrationClientResponseModel[];\r\n selectedClientId: number;\r\n\r\n manageClient: boolean = false;\r\n clientCount: number;\r\n selectedStatus: any;\r\n selectedRole: any;\r\n displayClearButton: boolean = true;\r\n statusList: any;\r\n roleList: any;\r\n searchText: string;\r\n noRecordFound: boolean = false;\r\n DeletePopup: boolean = false;\r\n\r\n deleteClient: MigrationClientResponseModel;\r\n ResendLink: boolean = false;\r\n selectedUser: MigrationClientResponseModel;\r\n selectedEmail: string;\r\n\r\n\r\n constructor(private migrationClientService: MigrationClientService, private webStorageService: WebStorageService,\r\n private router: Router) {\r\n super();\r\n\r\n //need to set permissions\r\n this.currentUserToken = this.webStorageService.getCurrentUserToken();\r\n this.companyId = this.currentUserToken.companyId;\r\n }\r\n\r\n ngOnInit(): void {\r\n\r\n this.populateClientList();\r\n\r\n this.clients = new Array();\r\n this.selectedClientId = 0;\r\n\r\n this.roleList = Object.keys(enumMigrationClientRole).map(key => ({ label: enumMigrationClientRole[key], value: key }));\r\n this.roleList = this.roleList.filter(x => x.label !== enumMigrationClientRole.enumNone);\r\n\r\n this.statusList = Object.keys(enumMigrationClientStatus).map(key => ({ label: enumMigrationClientStatus[key], value: key }));\r\n this.statusList = this.statusList.filter(x => x.label !== enumMigrationClientStatus.enumNone);\r\n }\r\n\r\n ngOnDestroy(): void {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n populateClientList() {\r\n \r\n if (this.currentUserToken.role === UserRole.enumCustomerAdmin) {\r\n this.isCustomerAdmin = true;\r\n this.getAllMigrationClients();\r\n }\r\n else if (this.currentUserToken.role === UserRole.enumAdmin) {\r\n this.getAllMigrationClients();\r\n }\r\n else {\r\n this.router.navigate(['/404']);\r\n }\r\n }\r\n\r\n getAllMigrationClients() {\r\n \r\n this.loading = true;\r\n this.migrationClientService.getAllMigrationClientInfo()\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n // console.log(result);\r\n if (result.IsSuccess) {\r\n \r\n if (result.ResponseModel) {\r\n\r\n this.clients = result?.ResponseModel;\r\n\r\n this.clientsBackup = this.clients;\r\n\r\n\r\n }\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n private getMigrationClientById(clientId: number) {\r\n if (!clientId) {\r\n this.timeoutFunct('No client found', false);\r\n return;\r\n }\r\n this.loading = true;\r\n\r\n this.migrationClientService.getMigrationClientInfo(clientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.clients.push(result.ResponseModel);\r\n }\r\n this.loading = false;\r\n } else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage = true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup() {\r\n this.displayMessage = false;\r\n }\r\n onAddIconClick(clientID: number) {\r\n \r\n this.manageClient = true;\r\n this.clientCount++;\r\n this.selectedClientId = clientID;\r\n // $('.add-update-popup').fadeIn('fast');\r\n\r\n // $('.page-wrapper').removeClass('active-sidebar')\r\n }\r\n\r\n filterClickEvent() {\r\n this.filterResposniveEvent = !this.filterResposniveEvent;\r\n }\r\n\r\n resetFilter() {\r\n this.selectedStatus = null;\r\n this.selectedRole = null;\r\n this.selectedClientId = null;\r\n this.showClearFilter = false;\r\n this.clients = this.clientsBackup;\r\n this.displayClearButton = false;\r\n }\r\n\r\n customSort(event: SortEvent) {\r\n event.data.sort((data1, data2) => {\r\n let value1 = data1[event.field];\r\n let value2 = data2[event.field];\r\n let result = null;\r\n\r\n if (value1 == null && value2 != null)\r\n result = -1;\r\n else if (value1 != null && value2 == null)\r\n result = 1;\r\n else if (value1 == null && value2 == null)\r\n result = 0;\r\n else if (typeof value1 === 'string' && typeof value2 === 'string')\r\n result = value1.localeCompare(value2);\r\n else\r\n result = (value1 < value2) ? -1 : (value1 > value2) ? 1 : 0;\r\n\r\n return (event.order * result);\r\n });\r\n }\r\n\r\n onSearchChange(searchText) {\r\n \r\n var searchText = searchText.toLowerCase();\r\n if (this.selectedRole || this.selectedStatus) {\r\n this.displayClearButton = true;\r\n } else {\r\n this.displayClearButton = false;\r\n }\r\n if (!searchText && (this.selectedRole || this.selectedStatus))\r\n this.filterResposniveEvent = !this.filterResposniveEvent;\r\n this.searchByStatusAndRole(searchText, this.clientsBackup);\r\n }\r\n\r\n searchByStatusAndRole(searchText, clients: any) {\r\n \r\n if (this.selectedStatus == enumMigrationClientStatus.enumActive) {\r\n if (searchText.length > 0) {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == true && where.Role == this.selectedRole &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == true &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n else {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == true && where.Role == this.selectedRole);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == true);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n\r\n }\r\n if (this.selectedStatus == enumMigrationClientStatus.enumInactive) {\r\n if (searchText.length > 0) {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == false && where.Role == this.selectedRole &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == false &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n } else {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.IsActive == false && where.Role == this.selectedRole);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => where.IsActive == false);\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n }\r\n if (this.selectedStatus == null || this.selectedStatus == '') {\r\n if (searchText.length > 0) {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.Role == this.selectedRole &&\r\n (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients.filter(where => (where.FirstName.toLowerCase().includes(searchText) || where.LastName.toLowerCase().includes(searchText)\r\n || where.Email.toLowerCase().includes(searchText)));\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n }\r\n }\r\n else {\r\n if (this.selectedRole) {\r\n this.clients = clients.filter(where => where.Role.toLowerCase() == this.selectedRole.toLowerCase());\r\n\r\n this.noRecordFound = this.clients.length < 1 ? true : false;\r\n } else {\r\n this.clients = clients;\r\n }\r\n }\r\n }\r\n }\r\n\r\n viewCompanyConfig(client: any) {\r\n var routerUrl = '/docuware-migration-subscription/' + client.ClientId;\r\n\r\n this.router.navigateByUrl(routerUrl);\r\n }\r\n\r\n openDocumentDeletePopup(client: any) {\r\n \r\n this.DeletePopup = true;\r\n this.deleteClient = client;\r\n }\r\n\r\n closeDeletePopup() {\r\n // $('.add-update-popup').fadeOut('fast');\r\n this.DeletePopup = false;\r\n this.deleteClient = new MigrationClientResponseModel;\r\n }\r\n\r\n onDeleteCompany() {\r\n if (!this.deleteClient) {\r\n return;\r\n }\r\n\r\n this.migrationClientService.deleteMigrationClient(this.deleteClient.ClientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n \r\n if (result.IsSuccess) {\r\n \r\n\r\n this.timeoutFunct(this.deleteClient.FirstName + ' ' + this.deleteClient.LastName + ' deleted successfully.', true);\r\n this.getAllMigrationClients();\r\n this.closeDeletePopup();\r\n\r\n }\r\n else {\r\n if (result.Message.includes('Can not delete migration client ')) {\r\n this.timeoutFunct(result.Message + ' ' + this.deleteClient.FirstName + ' ' + this.deleteClient.LastName, false);\r\n } else {\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.closeDeletePopup();\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n ClosePopup(event: any) {\r\n this.manageClient = false;\r\n this.selectedClientId = 0;\r\n this.searchText = '';\r\n }\r\n clientListUpdated(event: any) {\r\n \r\n this.populateClientList();\r\n this.closeMessagePopup();\r\n this.ClosePopup(event);\r\n }\r\n\r\n ResendPasswordLinkPopup(client: MigrationClientResponseModel) {\r\n this.ResendLink = true;\r\n this.selectedUser = client;\r\n this.selectedEmail = client.Email;\r\n }\r\n\r\n cancelSendingLink() {\r\n this.ResendLink = false;\r\n }\r\n\r\n sendLink() {\r\n this.loading = true;\r\n this.migrationClientService.resendPasswordResetLink(this.selectedUser.ClientId)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.progress.next(false))).subscribe(\r\n (result: any) => {\r\n\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n this.ResendLink = false;\r\n this.getAllMigrationClients();\r\n this.timeoutFunct('Email sent successfully to ' + this.selectedUser.Email, true);\r\n }\r\n else {\r\n this.loading = false;\r\n this.ResendLink = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }\r\n )\r\n }\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

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

{{message}}

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

{{message}}

\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.password.required}}\r\n {{validationMessages.password.minlength}}\r\n {{validationMessages.password.invalid}}\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.confirmPassword.required}}\r\n {{validationMessages.confirmPassword.validPasswordMatch}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n\r\n \r\n
\r\n\r\n

Thank You

\r\n

Your Password has successfully been Updated.

\r\n\r\n\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { Subject } from 'rxjs';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { ForgotPasswordModel, ResetPasswordModel } from 'src/app/models/response/forgot-password';\r\nimport { ResultOfT } from 'src/app/models/response/result';\r\nimport { UserInfoResponseModel } from 'src/app/models/response/userInfo-response';\r\nimport { BaseComponent } from 'src/app/shared/base.component';\r\nimport { Constants } from 'src/app/shared/constants';\r\nimport { CustomValidator } from 'src/app/shared/custom-validator';\r\nimport { environment } from 'src/environments/environment';\r\nimport { MigrationClientService } from '../services/migration-client.service';\r\nimport { MigrationClientResponseModel } from '../models/response/migration-client-response';\r\n\r\n@Component({\r\n selector: 'app-reset-migration-client-password',\r\n templateUrl: './reset-migration-client-password.component.html',\r\n styleUrls: ['./reset-migration-client-password.component.sass']\r\n})\r\nexport class ResetMigrationClientPasswordComponent extends BaseComponent implements OnInit {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n title = 'DocuWare Migration Tool';\r\n h2title = 'Reset Password';\r\n queryString: string;\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n passwordresetSuccessful: any = 0;\r\n\r\n forgotPasswordRequestModel: ForgotPasswordModel;\r\n resetPasswordModel: ResetPasswordModel;\r\n displayForm: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder, private migrationService: MigrationClientService,\r\n private router: Router, private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n formFields =\r\n {\r\n newPassword: 'newPassword',\r\n confirmPassword: 'confirmPassword'\r\n };\r\n\r\n validationMessages = {\r\n password: {\r\n required: 'Password is required',\r\n minlength: 'Password should be at least 8 characters',\r\n invalid: 'Enter valid password'\r\n },\r\n confirmPassword: {\r\n required: 'Confirm password is required',\r\n invalid: 'Enter valid confirm password',\r\n minlength: 'Password should be at least 6 characters',\r\n validPasswordMatch: 'Password doesn\\'t match'\r\n }\r\n };\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.forgotPasswordRequestModel = new ForgotPasswordModel();\r\n this.resetPasswordModel = new ResetPasswordModel();\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.queryString = params['queryString'];\r\n });\r\n\r\n if(this.queryString) {\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString + \"=\";\r\n }\r\n // this.buildForm();\r\n\r\n this.authenticatePaswordChangeRequest();\r\n }\r\n\r\n private authenticatePaswordChangeRequest() {\r\n\r\n this.migrationService.authenticateForgotPasswordRequest(this.forgotPasswordRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.resetPasswordModel.userId = result?.ResponseModel?.ClientId;\r\n this.resetPasswordModel.email = result?.ResponseModel?.Email;\r\n this.displayForm = true;\r\n\r\n this.buildForm();\r\n }\r\n\r\n }\r\n else {\r\n this.displayForm = false;\r\n this.loading = false;\r\n this.message = result.Message;\r\n // this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n onSubmit() {\r\n \r\n if (this.form.invalid)\r\n {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n this.resetPasswordModel.password = this.form.get(this.formFields.newPassword).value;\r\n\r\n this.migrationService.resetPassword(this.resetPasswordModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.timeoutFunct(\"Password updated successfully\", true);\r\n setTimeout(() => {\r\n //Need to add the correct redirection\r\n //this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n this.passwordresetSuccessful = 1;\r\n this.displayForm = false;\r\n }\r\n \r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n private buildForm() {\r\n const formGroup = this.formBuilder.group({});\r\n\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.newPassword, this.formBuilder.control('', { validators: [Validators.required, Validators.minLength(8), CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.confirmPassword, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.setValidators(CustomValidator.passwordMatch('newPassword', 'confirmPassword'));\r\n this.form = formGroup;\r\n }\r\n\r\n\r\n}\r\n","
\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n

{{h2title}}

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

{{message}}

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

{{message}}

\r\n\r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n
\r\n
\r\n\r\n \r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n {{validationMessages.password.required}}\r\n {{validationMessages.password.minlength}}\r\n {{validationMessages.password.invalid}}\r\n
\r\n\r\n\r\n
\r\n
\r\n \r\n
\r\n \r\n
\r\n {{validationMessages.confirmPassword.required}}\r\n {{validationMessages.confirmPassword.validPasswordMatch}}\r\n
\r\n
\r\n \r\n
\r\n
\r\n
\r\n
\r\n
\r\n
\r\n","import { Component, OnInit, OnDestroy } from '@angular/core';\r\nimport { FormBuilder, Validators } from '@angular/forms';\r\nimport { Constants } from '../shared/constants';\r\nimport { CustomValidator } from '../shared/custom-validator';\r\nimport { BaseComponent } from '../shared/base.component';\r\nimport { ForgotPasswordModel, ResetPasswordModel } from '../models/response/forgot-password';\r\nimport { UserService } from '../services/user.service';\r\nimport { takeUntil, finalize } from 'rxjs/operators';\r\nimport { Router, ActivatedRoute, Params } from '@angular/router';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { Subject } from 'rxjs';\r\nimport { UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Component({\r\n selector: 'app-reset-password',\r\n templateUrl: './reset-password.component.html',\r\n styleUrls: ['./reset-password.component.sass']\r\n})\r\nexport class ResetPasswordComponent extends BaseComponent implements OnInit, OnDestroy {\r\n\r\n private unsubscriber = new Subject();\r\n private progress = new Subject();\r\n\r\n title = 'DocTainium Cloud';\r\n h2title = 'Reset Password';\r\n queryString: string;\r\n\r\n displayMessage: boolean = false;\r\n message: string ='';\r\n messageClass: boolean;\r\n\r\n forgotPasswordRequestModel: ForgotPasswordModel;\r\n resetPasswordModel: ResetPasswordModel;\r\n displayForm: boolean;\r\n\r\n constructor(private formBuilder: FormBuilder, private userService: UserService,\r\n private router: Router, private activatedRoute: ActivatedRoute) {\r\n super();\r\n }\r\n\r\n ngOnDestroy() {\r\n if (this.unsubscriber) {\r\n this.unsubscriber.next();\r\n this.unsubscriber.complete();\r\n }\r\n if (this.progress) {\r\n this.progress.complete();\r\n }\r\n }\r\n\r\n formFields =\r\n {\r\n newPassword: 'newPassword',\r\n confirmPassword: 'confirmPassword'\r\n };\r\n\r\n validationMessages = {\r\n password: {\r\n required: 'Password is required',\r\n minlength: 'Password should be at least 8 characters',\r\n invalid: 'Enter valid password'\r\n },\r\n confirmPassword: {\r\n required: 'Confirm password is required',\r\n invalid: 'Enter valid confirm password',\r\n minlength: 'Password should be at least 6 characters',\r\n validPasswordMatch: 'Password doesn\\'t match'\r\n }\r\n };\r\n\r\n\r\n ngOnInit(): void {\r\n\r\n this.forgotPasswordRequestModel = new ForgotPasswordModel();\r\n this.resetPasswordModel = new ResetPasswordModel();\r\n\r\n this.activatedRoute.params\r\n .pipe(takeUntil(this.unsubscriber))\r\n .subscribe((params: Params) => {\r\n this.queryString = params['queryString'];\r\n });\r\n\r\n if(this.queryString) {\r\n this.forgotPasswordRequestModel.encryptedString = this.queryString + \"=\";\r\n }\r\n // this.buildForm();\r\n\r\n this.authenticatePaswordChangeRequest();\r\n }\r\n\r\n private authenticatePaswordChangeRequest() {\r\n\r\n this.userService.authenticateForgotPasswordRequest(this.forgotPasswordRequestModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.resetPasswordModel.userId = result?.ResponseModel?.UserId;\r\n this.resetPasswordModel.email = result?.ResponseModel?.Email;\r\n this.displayForm = true;\r\n\r\n this.buildForm();\r\n }\r\n\r\n }\r\n else {\r\n this.displayForm = false;\r\n this.loading = false;\r\n this.message = result.Message;\r\n // this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n }\r\n\r\n onSubmit() {\r\n \r\n if (this.form.invalid)\r\n {\r\n this.markFormAsTouched();\r\n return;\r\n }\r\n\r\n this.resetPasswordModel.password = this.form.get(this.formFields.newPassword).value;\r\n\r\n this.userService.resetPassword(this.resetPasswordModel)\r\n .pipe(takeUntil(this.unsubscriber), finalize(() => this.loading = false))\r\n .subscribe((result: ResultOfT) => {\r\n this.processResult(result, () => {\r\n if (result.IsSuccess) {\r\n if (result.ResponseModel) {\r\n this.timeoutFunct(\"Password updated successfully\", true);\r\n setTimeout(() => {\r\n this.router.navigate(['/login']);\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n }\r\n else {\r\n this.loading = false;\r\n this.timeoutFunct(result.Message, false);\r\n }\r\n });\r\n }, (httpResponseError) => {\r\n this.loading = false;\r\n this.timeoutFunct(httpResponseError.message, false);\r\n });\r\n\r\n }\r\n\r\n timeoutFunct(msg, isSuccess: boolean) {\r\n this.displayMessage =true;\r\n this.messageClass = isSuccess;\r\n this.message = msg;\r\n setTimeout(() => {\r\n this.message = '';\r\n this.displayMessage = false;\r\n }, environment.messageLifeSpan);\r\n }\r\n\r\n closeMessagePopup(){\r\n this.displayMessage = false;\r\n }\r\n\r\n private buildForm() {\r\n const formGroup = this.formBuilder.group({});\r\n\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.newPassword, this.formBuilder.control('', { validators: [Validators.required, Validators.minLength(8), CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n // tslint:disable-next-line: max-line-length\r\n formGroup.addControl(this.formFields.confirmPassword, this.formBuilder.control('', { validators: [Validators.required, CustomValidator.whitespace, CustomValidator.passwordPattern],\r\n updateOn: Constants.formControlUpdateStrategy.blur }));\r\n formGroup.setValidators(CustomValidator.passwordMatch('newPassword', 'confirmPassword'));\r\n this.form = formGroup;\r\n }\r\n\r\n}\r\n","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class BaseService {\r\n private httpClient: HttpClient;\r\n\r\n constructor(httpClient: HttpClient) {\r\n this.httpClient = httpClient;\r\n }\r\n\r\n /**\r\n * Get\r\n * @param url\r\n */\r\n //protected get(url: string): Observable {\r\n // //let headers = new HttpHeaders();\r\n // //headers.append('companyCode', 'cmInception');\r\n // return this.httpClient.get(this.getApiUrl(url), { headers: new HttpHeaders().set('companyCode', 'cmInception') });\r\n //}\r\n protected getDownloadBlobFile(url: string, httpHeaders: HttpHeaders = null): Observable {\r\n //return this.httpClient.request(new HttpRequest(\r\n // 'GET',\r\n // this.getApiUrl(url),\r\n // null,\r\n // {\r\n // reportProgress: true,\r\n // responseType: 'blob'\r\n\r\n // }));\r\n return this.httpClient.get(this.getApiUrl(url),\r\n {\r\n headers: httpHeaders,\r\n responseType: 'blob'\r\n\r\n })\r\n }\r\n\r\n protected get(url: string, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.get(this.getApiUrl(url),\r\n {\r\n // headers: httpHeaders\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json',\r\n 'Access-Control-Allow-Credentials' : 'true',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, DELETE, PUT, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With',})\r\n });\r\n }\r\n\r\n protected getConfig(url: string): Observable {\r\n\r\n return this.httpClient.get(this.getConfigUrl(url));\r\n }\r\n\r\n /**\r\n * Post\r\n * @param url\r\n * @param body\r\n * @param httpHeaders\r\n */\r\n //protected post(url: string, body: any, httpHeaders: HttpHeaders = new HttpHeaders().set('companyCode', 'cmInception')): Observable {\r\n protected post(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders\r\n });\r\n }\r\n\r\n protected postUpload(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n // debugger\r\n const httpOptions = {\r\n headers: new HttpHeaders({ 'Accept': 'application/json' ,'Content-Type': 'application/json' })\r\n }\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n httpOptions);\r\n }\r\n\r\n\r\n protected postconfig(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getConfigUrl(url), body,\r\n {\r\n headers: httpHeaders\r\n });\r\n }\r\n\r\n protected downloadFile(url: string, httpHeaders: HttpHeaders = null) : Observable {\r\n return this.httpClient.get(this.getApiUrl(url),\r\n {\r\n headers: new HttpHeaders({ 'Content-Type': 'application/json',\r\n 'Accept': 'application/json',\r\n 'Access-Control-Allow-Credentials' : 'true',\r\n 'Access-Control-Allow-Origin': '*',\r\n 'Access-Control-Allow-Methods': 'GET, POST, PATCH, DELETE, PUT, OPTIONS',\r\n 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With'}),\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n protected downloadBlobFile(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders,\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n protected downloadTextFile(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders,\r\n responseType: 'text'\r\n });\r\n }\r\n\r\n protected downloadCsvFile(url: string, body: any = null, httpHeaders: HttpHeaders = null): Observable {\r\n return this.httpClient.post(this.getApiUrl(url), body,\r\n {\r\n headers: httpHeaders,\r\n responseType: 'blob'\r\n });\r\n }\r\n\r\n // protected postUpload(url: string, body: any, httpHeaders: HttpHeaders = null): Observable {\r\n // return this.httpClient.post(this.getApiUrl(url), body,\r\n // {\r\n // headers: new HttpHeaders({ 'Content-Type': 'application/json',\r\n // 'Access-Control-Allow-Credentials' : 'true',\r\n // 'Access-Control-Allow-Origin': '*',\r\n // 'Access-Control-Allow-Methods': 'GET, POST, PATCH, DELETE, PUT, OPTIONS',\r\n // 'Access-Control-Allow-Headers': 'Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With',})\r\n // });\r\n // }\r\n\r\n private getApiUrl(url: string): string {\r\n return environment.apiBaseUrl + url;\r\n }\r\n\r\n private getConfigUrl(url: string): string {\r\n return environment.baseUrl + url;\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { CompanyRequestModel } from '../models/request/company-request';\r\nimport { TestDocuwareConnectionModel } from '../models/request/test-docuware-connection-model';\r\nimport { CompanyResponseModel } from '../models/response/company-response';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { ClientCredentialsModel } from '../models/response/userInfo-response';\r\nimport { BaseService } from './base.service';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class CompanyService extends BaseService{\r\n\r\n constructor(httpService: HttpClient, private router: Router) {\r\n super(httpService);\r\n }\r\n\r\n getAllCompanies() {\r\n return this.get>('Company/GetAllCompanies');\r\n }\r\n\r\n getCompanyById(companyId: number) {\r\n return this.get>('Company/GetCompanyById/' + companyId);\r\n }\r\n\r\n getStorageInfoByCompanyId(companyId: number) {\r\n return this.get>('Company/GetStorageByCompanyId/' + companyId);\r\n }\r\n\r\n addCompany(reqModel: CompanyRequestModel){\r\n return this.post>('Company/AddCompany' , reqModel);\r\n }\r\n\r\n updateCompany(reqModel: CompanyRequestModel){\r\n return this.post>('Company/UpdateCompany' , reqModel);\r\n }\r\n\r\n deleteCompany(companyId: number) {\r\n return this.get>('Company/DeleteCompany/' + companyId);\r\n }\r\n\r\n testDocuwareConnection(reqModel: TestDocuwareConnectionModel){\r\n return this.post>('Company/TestDocuwareConnection', reqModel);\r\n }\r\n GenreateClientCredentials() {\r\n return this.get>('Company/GenreateClientCredentials');\r\n }\r\n updateClientCredentials(reqModel: CompanyRequestModel) {\r\n return this.post>('Company/updateClientCredentials', reqModel);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ResultOfT, Result } from '../models/response/result';\r\nimport { MunicipalityResponseModel } from '../models/response/municipality-response';\r\nimport { TestDocuwareConnectionModel } from '../models/request/test-docuware-connection-model';\r\nimport { MunicipalityRequestModel } from '../models/request/municipality-request';\r\nimport { CabinetMunicipalityMappingResponseModel } from '../models/response/cabinet-municipality-mapping-response';\r\nimport { DownloadFile, ForgotPasswordModel, ResetPasswordModel } from '../models/response/forgot-password';\r\nimport { CustomAuthResponseModel } from '../models/response/custom-auth';\r\nimport { CabinetRequestModel } from '../models/request/cabinet-request';\r\nimport { GroupResponseModel } from '../models/response/group-response';\r\nimport { GroupRequestModel } from '../models/request/group-request';\r\nimport { DocumentCabinetDisplayResponseModel, DocumentCabinetListResponseModel, DocumentCabinetResponseModel } from '../models/response/document-cabinet-response';\r\nimport { PermissionResponseModel } from '../models/response/permission-response';\r\nimport { DocumentTypeListResponseModel, DocumentTypePermissionsResponseModel, DocumentTypeResponseModel, DocumentTypeUserGroupResponseModel, DocumentTypeWithDocNumberResponseModel, SPDocumentTypesByCompanyIdResponseModel } from '../models/response/document-type-response';\r\nimport { DocumentPublicRequestModel, DocumentTypeRequestModel, PermissionByDocTypeRequestModel, UploadFileRequestModel } from '../models/request/document-type-request';\r\nimport { DocumentCabinetRequestModel } from '../models/request/document-cabinet-request';\r\nimport { DocumentTypeDocumentModelForSearch, DocumentTypeDocumentResponseModel, LabelValueModel, SPDocumentsByDocType, SPFullTextModel } from '../models/response/document-type-document-response';\r\nimport { Observable } from 'rxjs';\r\nimport { environment } from 'src/environments/environment';\r\nimport { DocumentTypeInboxResponseModel } from '../models/response/document-type-inbox-response';\r\nimport { MetadataSearchRequestModel } from '../models/request/metadata-search-request';\r\nimport { SearchableFieldValueResponseModel } from '../models/response/searchable-field-value-response';\r\nimport { DocumentTypeDocumentSearchRequestModel } from '../models/request/document-type-document-request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocumentCabinetService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient) {\r\n super(httpClient);\r\n }\r\n\r\n BindDocumentCabinetDropdown(companyId: number) {\r\n return this.get>('DocumentCabinet/BindDropdownDocumentCabinets/' + companyId);\r\n }\r\n\r\n BindDocumentTypeDropdown(documentCabinetId: number) {\r\n return this.get>('DocumentCabinet/BindDropdownDocumentTypes/' + documentCabinetId);\r\n }\r\n\r\n GetAllDocumentCabinet(companyId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentCabinets/' + companyId);\r\n }\r\n\r\n GetAllDocumentCabinetList(companyId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentCabinetList/' + companyId);\r\n }\r\n\r\n GetAllPermission() {\r\n return this.get>('Permission/GetAll');\r\n }\r\n\r\n GetDocumentCabinetById(documentCabinetId:number){\r\n return this.get>('DocumentCabinet/GetDocumentCabinetById/' + documentCabinetId);\r\n }\r\n\r\n AddDocumentCabinet(reqModel: DocumentCabinetRequestModel) {\r\n return this.post>('DocumentCabinet/AddDocumentCabinet', reqModel);\r\n }\r\n\r\n UpdateDocumentCabinet(reqModel: DocumentCabinetRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentCabinet', reqModel);\r\n }\r\n\r\n DeactiveDocumentCabinet(documentCabinetId: number){\r\n return this.get>('DocumentCabinet/DeactiveDocumentCabinet' + documentCabinetId);\r\n }\r\n\r\n\r\n GetAllDocumentTypes(companyId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypes/' + companyId);\r\n }\r\n\r\n GetAllDocumentTypeList(documentCabinetId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypeList/' + documentCabinetId);\r\n }\r\n\r\n GetDocumentTypeId(documentTypeId: number){\r\n return this.get>('DocumentCabinet/GetDocumentTypeById/' + documentTypeId);\r\n }\r\n\r\n AddDocumentType(reqModel: DocumentTypeRequestModel) {\r\n return this.post>('DocumentCabinet/AddDocumentType', reqModel);\r\n }\r\n\r\n UpdateDocumentType(reqModel: DocumentTypeRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentType', reqModel);\r\n }\r\n\r\n UpdateDocumentTypeForUrlVisibility(reqModel: DocumentTypeRequestModel){ \r\n return this.post>('DocumentCabinet/UpdateDocumentTypeForUrlVisibility', reqModel);\r\n }\r\n\r\n UpdateDocumentTypeForPublic(reqModel: DocumentPublicRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentTypeForPublic', reqModel);\r\n }\r\n \r\n UpdateCustomizePageDesign(reqModel: DocumentTypeRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateCustomizePageDesign', reqModel);\r\n }\r\n\r\n GetAllDocumentTypeDocument(documentTypeId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypeDocument/' + documentTypeId);\r\n }\r\n\r\n GetDocumentTypeDocument(documentTypeDocumentId: number) {\r\n return this.get>('DocumentCabinet/GetDocumentTypeDocumentById/' + documentTypeDocumentId);\r\n }\r\n\r\n GetDocumentById(documentId: number) {\r\n return this.get>('DocumentCabinet/GetDocumentById/' + documentId);\r\n }\r\n\r\n DeleteDocumentTypeDocument(documentTypeDocument: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentTypeDocument/' + documentTypeDocument);\r\n }\r\n\r\n DeleteDocumentById(documentTypeInboxId: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentById/' + documentTypeInboxId);\r\n }\r\n\r\n ShouldDeleteDocumentTypeMetadata( documentTypeMetadtaId :string ) {\r\n return this.get>('DocumentCabinet/ShouldDeleteDocumentTypeMetadata/' + documentTypeMetadtaId);\r\n }\r\n\r\n DeleteDocumentTypeMetadata( documentTypeMetadtaId :string){\r\n return this.get>('DocumentCabinet/DeleteDocumentTypeMetadata/' + documentTypeMetadtaId);\r\n }\r\n\r\n UploadAddDocumentTypeDocument(data: FormData) {\r\n return this.post>('DocumentCabinet/UploadAddDocumentTypeDocument', data);\r\n }\r\n\r\n UploadUpdateDocumentTypeDocument(data: FormData) {\r\n return this.post>('DocumentCabinet/UploadUpdateDocumentTypeDocument', data);\r\n }\r\n\r\n GetAllInboxRecordsByTypeId(documentTypeId: number) {\r\n return this.get>('DocumentCabinet/GetAllInboxRecordsByTypeId/' + documentTypeId)\r\n }\r\n\r\n DeleteDocumentTypeInboxRecordById(documentTypeInboxId: number) {\r\n return this.get>('DocumentCabinet/DeleteDocumentTypeInboxRecordById/' + documentTypeInboxId)\r\n }\r\n\r\n UploadDocumentsInInbox(data: FormData) {\r\n return this.post>('DocumentCabinet/UploadDocumentsInInbox', data);\r\n }\r\n\r\n AddDocumentRecordFromInbox(reqModel: UploadFileRequestModel) {\r\n return this.post>('DocumentCabinet/AddDocumentRecordFromInbox', reqModel);\r\n }\r\n\r\n UpdateDocumentRecordFromInbox(reqModel: UploadFileRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentRecordFromInbox', reqModel);\r\n }\r\n \r\n DownloadFile(reqModel: DownloadFile) {\r\n return this.downloadBlobFile('DocumentCabinet/DownloadFile', reqModel);\r\n // return this.get('DocumentCabinet/DownloadFile/' + fileName);\r\n // return this.post('DocumentCabinet/DownloadFile', { StrFileName: fileName } );\r\n }\r\n DownloadFileNew(reqModel: DownloadFile) {\r\n return this.downloadBlobFile('DocumentCabinet/DownloadFileNew', reqModel);\r\n // return this.get('DocumentCabinet/DownloadFile/' + fileName);\r\n // return this.post('DocumentCabinet/DownloadFile', { StrFileName: fileName } );\r\n }\r\n GetBase64ForViewer(reqModel: DownloadFile) {\r\n return this.post>('DocumentCabinet/GetBase64ForViewer', reqModel);\r\n }\r\n GetBase64ForViewerNew(reqModel: DownloadFile) {\r\n return this.post>('DocumentCabinet/GetBase64ForViewerNew', reqModel);\r\n }\r\n\r\n //Start: New Flow\r\n GetAllDocumentTypesByCabinetIdWithDocCount(cabinetId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypesByCabinetIdWithDocCount/' + cabinetId);\r\n }\r\n GetAllDocumentTypesByCabinetIdWithDocCountForCustomer(reqModel: PermissionByDocTypeRequestModel) {\r\n return this.post>('DocumentCabinet/GetAllDocumentTypesByCabinetIdWithDocCountForCustomer' , reqModel);\r\n }\r\n GetAllDocumentTypesByCabinetId(cabinetId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypesByCabinetId/' + cabinetId);\r\n }\r\n\r\n GetAllDocumentTypesByCompanyId(companyId: number) {\r\n return this.get>('DocumentCabinet/DocumentTypesByCompanyId/' + companyId);\r\n }\r\n DeleteDocumentCabinet(documentCabinetId: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentCabinet/' + documentCabinetId);\r\n }\r\n\r\n DeleteDocumentType(documentTypeId: number){\r\n return this.get>('DocumentCabinet/DeleteDocumentType/' + documentTypeId);\r\n }\r\n\r\n UpdateDocumentTypeDocumentsForPublicByDocType(reqModel: DocumentPublicRequestModel) {\r\n return this.post>('DocumentCabinet/UpdateDocumentsForPublicByDocType', reqModel);\r\n }\r\n\r\n GetDocumentTypeUserGroupsByCompany(companyId: number) {\r\n return this.get>('DocumentCabinet/GetDocumentTypeUserGroupsByCompany/' + companyId);\r\n }\r\n\r\n GetAllDocumentTypePermissions(documentTypeId: number) {\r\n return this.get>('DocumentCabinet/GetAllDocumentTypePermissions/' + documentTypeId)\r\n }\r\n\r\n GetCabinetsForInboxModule(companyId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForInboxModule/' + companyId);\r\n }\r\n GetCabinetsForSearchModule(companyId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForSearchModule/' + companyId);\r\n }\r\n\r\n GetCabinetsForInboxModuleForCustomer(userId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForInboxModuleForCustomer/' + userId);\r\n }\r\n \r\n GetCabinetsForSearchModuleForCustomer(userId: number) {\r\n return this.get>('DocumentCabinet/GetCabinetsForSearchModuleForCustomer/' + userId);\r\n }\r\n\r\n GetAllDocumentsByDocType(documentTypeId: number){\r\n return this.get>('DocumentCabinet/GetAllDocumentsByDocType/' + documentTypeId);\r\n }\r\n\r\n GetInboxRecordsById(documentTypeInboxId: number){\r\n return this.get>('DocumentCabinet/GetInboxRecordsById/' + documentTypeInboxId);\r\n }\r\n\r\n GetAllDocumentTypesListForCustomer(reqModel: PermissionByDocTypeRequestModel) {\r\n return this.post>('DocumentCabinet/GetAllDocumentTypesListForCustomer' , reqModel);\r\n }\r\n\r\n GetRawDataForDynamicObject(documentTypeId: number, forCustom: boolean){\r\n return this.get>('DocumentCabinet/GetRawDataForDynamicObject/' + documentTypeId + '/' + forCustom);\r\n }\r\n\r\n GetFilterData(documentTypeMetadataId: number) {\r\n return this.get>('DocumentCabinet/GetFilterData/' + documentTypeMetadataId);\r\n }\r\n\r\n GetFilterDataForSearch(documentTypeMetadataId: number, searchText: string) {\r\n return this.get>('DocumentCabinet/GetFilterDataForSearch/' + documentTypeMetadataId + '/' + searchText);\r\n }\r\n\r\n GetFilterDataForSpecialCompanies(searchableFieldId: number, searchText: string) {\r\n return this.get>('DocumentCabinet/GetFilterDataForSpecialCompanies/' + searchableFieldId + '/' + searchText);\r\n }\r\n\r\n // GetDocumentTypeDocumentIdsForFullText(documentTypeId: number, searchText: string ){\r\n // return this.get>('DocumentCabinet/GetDocumentTypeDocumentIdsForFullText/' + documentTypeId + '/' + searchText);\r\n // }\r\n GetDocumentTypeDocumentIdsForFullText(reqModel: DocumentTypeDocumentSearchRequestModel){\r\n return this.post>('DocumentCabinet/GetDocumentTypeDocumentIdsForFullText/' , reqModel);\r\n }\r\n \r\n GetMetadataSearchData(reqModel: MetadataSearchRequestModel ){\r\n return this.post>('DocumentCabinet/GetMetadataSearchData' , reqModel);\r\n }\r\n\r\n UpdateDocumentTypeDocumentMetadata(reqModel: FormData) {\r\n return this.post>('DocumentCabinet/UpdateDocumentTypeDocumentMetadata', reqModel);\r\n }\r\n\r\n\r\n //End\r\n\r\n ////test start\r\n //TestDynamicObject(documentTypeId: number) {\r\n // return this.get>('DocumentCabinet/TestDynamicObject/' + documentTypeId);\r\n //}\r\n\r\n //TestFetchFilterData(documentTypeMetadataId: number, searchText: string) {\r\n // return this.get>('DocumentCabinet/TestFetchFilterData/' + documentTypeMetadataId + '/' + searchText);\r\n //}\r\n ////test end\r\n\r\n\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { BaseService } from './base.service';\r\nimport { ResultOfT, Result } from '../models/response/result';\r\nimport { DocumentCabinetRequestModel } from '../models/request/document-cabinet-request';\r\nimport { DocumentCabinetResponseModel } from '../models/response/document-cabinet-response';\r\nimport { DocuwareCabinetReuestModel } from '../models/request/cabinet-request';\r\nimport { DocuwareRecordsModel } from '../models/response/docuware-fields';\r\nimport { ForgotPasswordModel } from '../models/response/forgot-password';\r\nimport { InceptionCustomAuthResponseModel } from '../models/response/custom-auth';\r\nimport { SearchableFieldResponseModel } from '../models/response/searchable-field-response';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class DocuwareCabinetService extends BaseService {\r\n\r\n constructor(httpClient: HttpClient) {\r\n super(httpClient);\r\n }\r\n\r\n fullTextSearch(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/FullTextSearch' , reqModel);\r\n }\r\n\r\n getFileCabinetsFromDocuware(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GetFileCabinetsFromDocuware' , reqModel);\r\n }\r\n\r\n addDocumentCabinet(reqModel: DocumentCabinetResponseModel) {\r\n return this.post>('DocuwareCabinet/AddDocuwareCabinetInDb', reqModel);\r\n }\r\n\r\n updateDocumentCabinet(reqModel: DocumentCabinetResponseModel) {\r\n return this.post>('DocuwareCabinet/UpdateDocumentCabinetInDb', reqModel);\r\n }\r\n\r\n authenticateCustomPage(reqModel: ForgotPasswordModel) {\r\n return this.post>('DocuwareCabinet/AuthenticateCustomPage', reqModel);\r\n }\r\n\r\n getDocuwareFileCabinetRecords(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GetDocuwareFileCabinetRecords', reqModel);\r\n }\r\n\r\n getSearchControlValue(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GetSearchControlValue', reqModel);\r\n }\r\n\r\n syncFileCabinetMetadata(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/SyncFileCabinetMetadata', reqModel);\r\n }\r\n\r\n generateDocumentViewerLink(reqModel: DocuwareCabinetReuestModel) {\r\n return this.post>('DocuwareCabinet/GenerateDocumentViewerLink', reqModel);\r\n }\r\n\r\n getSearchableFieldsByCabinetId(cabinetId: string) {\r\n return this.get>('DocuwareCabinet/GetSearchableFieldsByCabinetId/'+ cabinetId);\r\n }\r\n}\r\n","import { HttpClient } from '@angular/common/http';\r\nimport { Injectable } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\nimport { BaseService } from './base.service';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { MigrationClientResponseModel } from '../models/response/migration-client-response';\r\nimport { MigrationClientRequestModel } from '../models/request/migration-client-request';\r\nimport { ForgotPasswordModel, ResetPasswordModel } from '../models/response/forgot-password';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class MigrationClientService extends BaseService{\r\n\r\n constructor(httpService: HttpClient, private router: Router) {\r\n super(httpService);\r\n }\r\n\r\n getAllMigrationClientInfo() {\r\n return this.get>('MigrationClientInfo/GetAllMigrationClientInfo');\r\n }\r\n\r\n getMigrationClientInfo(clientId: number){\r\n return this.get>('MigrationClientInfo/GetMigrationClientInfo/'+clientId);\r\n }\r\n\r\n addMigrationClient(migrationClient: MigrationClientRequestModel){\r\n \r\n return this.post>('MigrationClientInfo/AddMigrationClientinfo', migrationClient);\r\n }\r\n\r\n updateMigrationClient(migrationClient: MigrationClientRequestModel){\r\n return this.post>('MigrationClientInfo/UpdateMigrationClientInfo', migrationClient);\r\n }\r\n\r\n deleteMigrationClient(clientId: number){\r\n return this.get>('MigrationClientInfo/DeleteMigrationCLientInfo/'+clientId);\r\n }\r\n\r\n resetPasswordForMigrationClient(resetPassword: ResetPasswordModel){\r\n return this.post>('MigrationClientInfo/ResetPasswordForMigrationClient', resetPassword);\r\n }\r\n\r\n forgotPassword(forgotPassword: ForgotPasswordModel){\r\n return this.post>('MigrationClientInfo/ForgotPassword', forgotPassword);\r\n }\r\n\r\n sendPasswordResetLink(clientId: number){\r\n return this.post>('MigrationClientInfo/SendPasswordResetLink/'+clientId, null);\r\n }\r\n\r\n authenticateForgotPasswordRequest(reqModel: ForgotPasswordModel){\r\n return this.post>('MigrationClientInfo/AuthenticateForgotPasswordRequest', reqModel);\r\n }\r\n\r\n resetPassword(reqModel: ResetPasswordModel){\r\n return this.post>('MigrationClientInfo/ResetPasswordForMigrationClient', reqModel);\r\n }\r\n\r\n resendPasswordResetLink(clientId: number){\r\n return this.post>('MigrationClientInfo/SendPasswordResetLink/'+clientId, null);\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { UserInfoRequestModel } from '../models/request/userInfo-request';\r\nimport { BaseService } from './base.service';\r\nimport { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { ClientCredentialsModel, UserInfoResponseModel } from '../models/response/userInfo-response';\r\nimport { WebStorageService } from './web-storage.service';\r\nimport { Router } from '@angular/router';\r\nimport { ForgotPasswordModel, ResetPasswordModel, ChangePasswordModel } from '../models/response/forgot-password';\r\nimport { MunicipalityRequestModel } from '../models/request/municipality-request';\r\nimport { MunicipalityResponseModel } from '../models/response/municipality-response';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { AccessTokenResponseModel } from '../models/response/access-token-response';\r\nimport { UserPermissionRequestModel } from '../models/request/user-permission-request';\r\nimport { UserPermissionResponseModel } from '../models/response/user-permission-response';\r\nimport { PermissionByDocTypeRequestModel } from '../models/request/document-type-request';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class UserService extends BaseService {\r\n\r\n constructor(httpService: HttpClient, private webStorageService: WebStorageService,\r\n private router: Router) {\r\n super(httpService);\r\n }\r\n\r\n signIn(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/SignIn', reqModel);\r\n }\r\n\r\n signIn1(username: string, password: string) {\r\n const userData = 'username=' + username + '&password=' + password + '&grant_type=password';\r\n\r\n return this.post>('token', userData, new HttpHeaders(\r\n {\r\n 'Content-Type': 'application/x-www-form-urlencoded',\r\n }));\r\n }\r\n\r\n signOut(redirectUrl: string = null) {\r\n this.webStorageService.deleteCurrentUserToken();\r\n this.router.navigate(['/login']);\r\n\r\n //this.onSignInOut.next(Constants.userType.none);\r\n }\r\n\r\n forgotPassword(reqModel: ForgotPasswordModel) {\r\n return this.post>('User/ForgotPassword', reqModel);\r\n }\r\n\r\n authenticateForgotPasswordRequest(reqModel: ForgotPasswordModel) {\r\n return this.post>('User/AuthenticateForgotPasswordRequest', reqModel);\r\n }\r\n\r\n resetPassword(reqModel: ResetPasswordModel) {\r\n return this.post>('User/ResetPassword', reqModel);\r\n }\r\n\r\n updateProfile(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/UpdateProfile', reqModel);\r\n }\r\n\r\n ChangePassword(reqModel: ChangePasswordModel) {\r\n return this.post>('User/ChangePassword', reqModel);\r\n }\r\n\r\n addNewCustomer(reqModel: MunicipalityRequestModel) {\r\n return this.post>('User/AddNewCustomer', reqModel);\r\n }\r\n\r\n getAllUsers(companyId: number) {\r\n return this.get>('User/GetAllUser/' + companyId);\r\n }\r\n\r\n getUsers(userId: number) {\r\n return this.get>('User/GetUser/' + userId);\r\n }\r\n\r\n saveUser(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/AddUser', reqModel);\r\n }\r\n\r\n updateUser(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/UpdateUser', reqModel);\r\n }\r\n \r\n deleteUser(userId: number) {\r\n return this.get>('User/DeleteUser/' + userId);\r\n }\r\n\r\n addUpdateUserPermission(reqModel: UserPermissionRequestModel) {\r\n return this.post>('User/AddUpdateUserPermissions', reqModel);\r\n }\r\n\r\n sendEmailOnNewUser(reqModel: UserInfoRequestModel) {\r\n return this.post>('User/SendEmailNewUser', reqModel);\r\n }\r\n\r\n getUserpermissions(userId: number) {\r\n return this.get>('User/GetUserPermissions/' + userId);\r\n }\r\n\r\n // Start: New work flow\r\n getUserForGroupCreation(companyId: number) {\r\n return this.get>('User/GetUserForGroupCreation/' + companyId);\r\n }\r\n\r\n getUsersForAssignUserPermission(reqModel: PermissionByDocTypeRequestModel) {\r\n return this.post>('User/GetUsersForAssignUserPermission' , reqModel);\r\n }\r\n \r\n resendUserPasswordResetLink(userId: number) {\r\n return this.post>('User/ResendUserPasswordResetLink/'+userId, null);\r\n }\r\n // End\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { Constants } from '../shared/constants';\r\nimport { UserAuthResponseModel } from '../models/response/access-token-response';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WebStorageService {\r\n\r\n constructor() { }\r\n\r\n\r\n getCurrentUserToken(): UserAuthResponseModel {\r\n return JSON.parse(this.getItem(Constants.currentUserToken));\r\n }\r\n\r\n storeCurrentUserToken(accessToken: UserAuthResponseModel) {\r\n this.setItem(Constants.currentUserToken, JSON.stringify(accessToken));\r\n }\r\n\r\n deleteCurrentUserToken() {\r\n this.removeItem(Constants.currentUserToken);\r\n }\r\n\r\n clear() {\r\n localStorage.clear();\r\n }\r\n\r\n private setItem(key: string, value: any) {\r\n localStorage.setItem(key, value);\r\n }\r\n\r\n private removeItem(key: string) {\r\n localStorage.removeItem(key);\r\n }\r\n\r\n private getItem(key: string) {\r\n return localStorage.getItem(key);\r\n }\r\n}\r\n","import { FormGroup } from '@angular/forms';\r\nimport { ResultOfT } from '../models/response/result';\r\nimport { HttpErrorResponse } from '@angular/common/http';\r\n\r\nexport abstract class BaseComponent {\r\n\r\n loading: boolean;\r\n form: FormGroup;\r\n noRecordsFoundMessage = 'No records found';\r\n\r\n constructor() {\r\n\r\n }\r\n\r\n processResult(result: ResultOfT, onSuccess: () => void = null, onError: () => void = null) {\r\n // processResult(result: any, onSuccess: () => void = null, onError: () => void = null) {\r\n // To handle when request is cancelled\r\n if (!result) {\r\n return;\r\n }\r\n\r\n // if (result.isSuccess) {\r\n if (result.IsSuccess) {\r\n if (onSuccess) {\r\n onSuccess();\r\n }\r\n }\r\n // else if(result.Status = 'Failure' ){\r\n // onSuccess();\r\n // }\r\n\r\n else {\r\n onSuccess();\r\n // if (onError) {\r\n // onError();\r\n // }\r\n // else {\r\n // // if (this.messageService) {\r\n // // this.loading = false;\r\n // // this.showErrorMessage(result.message);\r\n // // }\r\n // setTimeout(() => {\r\n // alert(result.Message);\r\n // }, 60);\r\n // }\r\n }\r\n }\r\n\r\n\r\n markFormAsTouched() {\r\n Object.keys(this.form.controls).forEach((key) => {\r\n this.form.get(key).markAsTouched();\r\n });\r\n }\r\n\r\n hasError(controlName: string, validator: string) {\r\n const control = this.form.get(controlName);\r\n if (!control) {\r\n return false;\r\n }\r\n\r\n return (control.touched || control.dirty) && control.hasError(validator);\r\n }\r\n\r\n getErrorMessage(httpResponseError: HttpErrorResponse) {\r\n if (httpResponseError.error && httpResponseError.error.exceptionMessage) {\r\n return httpResponseError.error.exceptionMessage;\r\n }\r\n\r\n return httpResponseError.message;\r\n }\r\n}\r\n","export class CommonFunctions {\r\n static enumSelector(definition): any {\r\n return Object.keys(definition)\r\n .map(key => ({ value: key, title: definition[key] }));\r\n }\r\n static stringEnumToKeyValue(stringEnum) {\r\n const keyValue = [];\r\n const keys = Object.keys(stringEnum)\r\n // .filter((value, index) => {\r\n // return index;\r\n // });\r\n\r\n for (const k of keys) {\r\n keyValue.push({ i: Number, key: k, value: stringEnum[k] });\r\n }\r\n return keyValue;\r\n }\r\n}\r\n","export class Constants {\r\n static readonly currentUserToken = 'currentUserToken';\r\n static readonly Menu = 'menu';\r\n\r\n static cookie = class {\r\n static readonly email = 'email';\r\n static readonly username = 'username';\r\n static readonly password = 'password';\r\n };\r\n\r\n static formControlUpdateStrategy = class {\r\n static readonly change = 'change';\r\n\r\n static readonly blur = 'blur';\r\n\r\n static readonly submit = 'submit';\r\n };\r\n}\r\n","import { ValidationErrors, AbstractControl, ValidatorFn, FormGroup } from '@angular/forms';\r\n\r\nexport class CustomValidator {\r\n\r\n static whitespace(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const controlValue = control.value;\r\n if (controlValue.toString().trim().length > 0)\r\n return null;\r\n\r\n return { whitespace: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static onlyCharacters(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /^[a-zA-Z\\s]+$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validCharacters: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static userNameDocuware(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /^[a-zA-Z.@\\d\\s]*$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validCharacters: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static URL(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const PHONE_REGEXP = /((([A-Za-z]{3,9}:(?:\\/\\/)?)(?:[-;:&=\\+\\$,\\w]+@)?[A-Za-z0-9.-]+|(?:www.|[-;:&=\\+\\$,\\w]+@)[A-Za-z0-9.-]+)((?:\\/[\\+~%\\/.\\w-_]*)?\\??(?:[-\\+=&;%@.\\w_]*)#?(?:[\\w]*))?)/;\r\n if (PHONE_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validURL: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static passwordPattern(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /(?=^.{8,}$)(?=.*\\d)(?=.*[!@#$%^&*]+)(?![.\\n])(?=.*[A-Z])(?=.*[a-z]).*$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validStrongPassword: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static email(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const TEXT_REGEXP = /^\\w+([-+.']\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$/;\r\n if (TEXT_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { email: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static passwordMatch(passwordFieldId: string, confirmPasswordFieldId: string): ValidatorFn {\r\n return (control: FormGroup): { [key: string]: boolean } | null => {\r\n var passwordField = control.controls[passwordFieldId];\r\n var confirmPasswordField = control.controls[confirmPasswordFieldId]\r\n if (passwordField == null || confirmPasswordField == null)\r\n return null;\r\n\r\n const password: string = passwordField.value;\r\n const confirmPassword: string = confirmPasswordField.value;\r\n\r\n if (password && confirmPassword) {\r\n if (password == confirmPassword)\r\n return null;\r\n\r\n return { validPasswordMatch: true };\r\n }\r\n else\r\n return null;\r\n };\r\n }\r\n\r\n static onlyNumbers(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const NUMBER_REGEXP = /^-?[\\d.]+(?:e-?\\d+)?$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validNumber: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static onlyDecimals(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) { \r\n const NUMBER_REGEXP = /^[1-9]\\d*(\\.\\d+)?$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validNumber: true };\r\n }\r\n else\r\n return null;\r\n }\r\n\r\n static alphaNumericSpace(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) { \r\n const NUMBER_REGEXP = /^[\\w\\-\\s]+$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validCharacters: true };\r\n }\r\n else\r\n return null;\r\n }\r\n static phoneNumber(control: AbstractControl): ValidationErrors | null {\r\n if (control.value) {\r\n const NUMBER_REGEXP = /^\\(?\\d{3}\\)?[- ]?\\d{3}[- ]?\\d{4}$/;\r\n if (NUMBER_REGEXP.test(control.value))\r\n return null;\r\n\r\n return { validNumber: true };\r\n }\r\n else\r\n return null;\r\n }\r\n}\r\n","export enum UserRole {\r\n enumAdmin = 'InceptionAdmin',\r\n enumCustomerAdmin = 'CustomerAdmin',\r\n enumCustomer = 'Customer'\r\n}\r\n\r\nexport enum enumPermission {\r\n enumFullAccess = \"Full Access\",\r\n enumEdit = \"Edit\",\r\n enumCreate = \"Create\",\r\n enumView = \"View\",\r\n enumDelete = \"Delete\"\r\n}\r\n\r\nexport enum enumDatabaseType {\r\n enumInApp = \"App Database\",\r\n enumDocuware = \"Docuware\"\r\n}\r\n\r\nexport enum enumCompanyStatus {\r\n enumNone = \"Select Status\",\r\n enumActive = \"Active\",\r\n enumInactive = \"Inactive\"\r\n // enumActive = \"Active Accounts\",\r\n // enumInactive = \"Inactive Accounts\"\r\n}\r\n\r\nexport enum enumPermissionMappingWithId { \r\n enumCreate = '1',\r\n enumEdit = '2',\r\n enumFullAccess = '3',\r\n enumView = '4',\r\n enumDelete = '6',\r\n}\r\n\r\nexport enum enumFieldTypes {\r\n enumText255 = 'Text(255)',\r\n enumText2k = 'Text(2000)',\r\n enumInteger = 'Integer',\r\n enumDecimal = 'Decimal',\r\n enumDate = 'Date',\r\n enumMemo = 'Memo',\r\n enumList = \"List\",\r\n enumCurrency = 'Currency',\r\n enumBoolean = 'Boolean'\r\n}\r\nexport enum enumMigrationClientStatus {\r\n enumNone = \"Select Status\",\r\n enumActive = \"Active\",\r\n enumInactive = \"Inactive\"\r\n}\r\n\r\nexport enum enumMigrationClientRole {\r\n enumNone = \"Select Role\",\r\n enumAdmin = \"Admin\",\r\n enumClient = \"Client\"\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport {\r\n HttpRequest,\r\n HttpHandler,\r\n HttpEvent,\r\n HttpInterceptor\r\n} from '@angular/common/http';\r\nimport { Observable } from 'rxjs';\r\nimport { WebStorageService } from '../services/web-storage.service';\r\n\r\n@Injectable()\r\nexport class HeadersInterceptor implements HttpInterceptor {\r\n urls: Array = ['/signin', '/forgotpassword', '/AuthenticateForgotPasswordRequest', '/ResetPassword','/refresh'];\r\n IsValid: boolean = false;\r\n constructor(private webStorageService: WebStorageService) {}\r\n\r\n intercept(request: HttpRequest, next: HttpHandler): Observable> {\r\n var token = \"\";\r\n if (this.webStorageService.getCurrentUserToken()) {\r\n token = this.webStorageService.getCurrentUserToken().token;\r\n }\r\n\r\n this.IsValid = false;\r\n this.urls.forEach(x => {\r\n if (request.url.toLowerCase().includes(x.toLowerCase())) {\r\n this.IsValid = true;\r\n return;\r\n }\r\n });\r\n if (token != \"\" && !this.IsValid) {\r\n request = request.clone({\r\n setHeaders: {\r\n Authorization: `Bearer ${token}`,\r\n //'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'\r\n //'Content-Type':'application/json'\r\n }\r\n });\r\n }\r\n return next.handle(request);\r\n }\r\n}\r\n","import { NgModule } from '@angular/core';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HeaderComponent } from '../components/header/header.component';\r\nimport { DropdownMenuComponent } from '../components/dropdown-menu/dropdown-menu.component';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { RouterModule } from '@angular/router';\r\nimport { OverlayPanelModule } from 'primeng/overlaypanel';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { TableModule } from 'primeng/table';\r\nimport { HeaderCustomerComponent } from '../components/header-customer/header-customer.component';\r\nimport { DragAndDropDirective } from '../directive/drag-and-drop.directive';\r\nimport { DragDropModule } from '@angular/cdk/drag-drop';\r\nimport { ManageDocuwareCabinetComponent } from '../document-cabinet/manage-docuware-cabinet/manage-docuware-cabinet.component';\r\nimport { DocumentMappingComponent } from '../new-workflow-design/inbox/uploaded-documents/document-mapping/document-mapping.component';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { DialogModule } from 'primeng/dialog';\r\n//import { ImgPdfViewerModule } from 'img-pdf-viewer';\r\nimport { PdfViewerModule } from 'ng2-pdf-viewer';\r\nimport { NgxPrintModule } from 'ngx-print';\r\n\r\n\r\n@NgModule({\r\n declarations: [HeaderComponent, \r\n DropdownMenuComponent, \r\n HeaderCustomerComponent, \r\n DragAndDropDirective, \r\n ManageDocuwareCabinetComponent,\r\n DocumentMappingComponent,\r\n ],\r\n imports: [ \r\n ReactiveFormsModule,\r\n CommonModule,\r\n DropdownModule,\r\n FormsModule,\r\n RouterModule,\r\n OverlayPanelModule,\r\n TableModule,\r\n CalendarModule,\r\n DragDropModule,\r\n InputNumberModule,\r\n DialogModule,\r\n //ImgPdfViewerModule,\r\n PdfViewerModule,\r\n NgxPrintModule\r\n ],\r\n exports: [\r\n HeaderComponent, \r\n DropdownMenuComponent, \r\n CalendarModule, \r\n TableModule, \r\n HeaderCustomerComponent, \r\n DragAndDropDirective,\r\n DragDropModule,\r\n ManageDocuwareCabinetComponent,\r\n DocumentMappingComponent,\r\n DialogModule,\r\n //ImgPdfViewerModule,\r\n PdfViewerModule,\r\n NgxPrintModule\r\n ]\r\n})\r\nexport class SharedModule { }\r\n","export class Sort {\r\n\r\n private sortOrder = 1;\r\n private collator = new Intl.Collator(undefined, {\r\n numeric: true,\r\n sensitivity: \"base\",\r\n })\r\n\r\n constructor() { }\r\n\r\n public startSort(property, order, type = \"\") {\r\n \r\n if (order === \"desc\") {\r\n this.sortOrder = -1;\r\n }\r\n return (a, b) => {\r\n if (type === \"date\") {\r\n return this.sortData(new Date(a[property]), new Date(b[property]));\r\n } else {\r\n return this.collator.compare(a[property], b[property]) * this.sortOrder;\r\n }\r\n }\r\n }\r\n\r\n private sortData(a, b) {\r\n if (a < b) {\r\n return -1 * this.sortOrder;\r\n } else if (a > b) {\r\n return 1 * this.sortOrder;\r\n } else {\r\n return 0 * this.sortOrder;\r\n }\r\n }\r\n}\r\n","// This file can be replaced during build by using the `fileReplacements` array.\r\n// `ng build --prod` replaces `environment.ts` with `environment.prod.ts`.\r\n// The list of file replacements can be found in `angular.json`.\r\n\r\nexport const environment = {\r\n production: true,\r\n apiBaseUrl: 'https://api.doctainium.com/api/',\r\n baseUrl: 'https://api.doctainium.com/',\r\n webUrl: 'https://www.doctainium.com/',\r\n\r\n //apiBaseUrl: 'https://publicportal.inceptiontech.com/service/api/',\r\n //baseUrl: 'https://publicportal.inceptiontech.com/service/',\r\n //webUrl: 'https://publicportal.inceptiontech.com/',\r\n successMessageLifeTime: 5000,\r\n warningMessageLifeTime: 5000,\r\n errorMessageLifeTime: 10000,\r\n // In Minutes\r\n sessionTimeOut: 60,\r\n messageLifeSpan: 5000\r\n};\r\n\r\n/*\r\n * For easier debugging in development mode, you can import the following file\r\n * to ignore zone related error stack frames such as `zone.run`, `zoneDelegate.invokeTask`.\r\n *\r\n * This import should be commented out in production mode because it will have a negative impact\r\n * on performance if an error is thrown.\r\n */\r\n// import 'zone.js/dist/zone-error'; // Included with Angular CLI.\r\n","import { enableProdMode } from '@angular/core';\r\nimport { platformBrowserDynamic } from '@angular/platform-browser-dynamic';\r\n\r\nimport { AppModule } from './app/app.module';\r\nimport { environment } from './environments/environment';\r\n\r\nif (environment.production) {\r\n enableProdMode();\r\n}\r\n\r\nplatformBrowserDynamic().bootstrapModule(AppModule)\r\n .catch(err => console.error(err));\r\n","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */","/* (ignored) */"]}