{"__symbolic":"module","version":4,"metadata":{"AgilityRiskComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"lib-agility-risk","template":"<div [attr.data-theme]=\"getTheme()\">\n  <div *ngIf=\"navigationService.showBreadcrumb\" class=\"my-3\">\n    <div class=\"grid\">\n      <div class=\"col-12\">\n        <lib-risk-breadcrumb></lib-risk-breadcrumb>\n      </div>\n    </div>\n  </div>\n  <div>\n    <router-outlet></router-outlet>\n  </div>\n</div>\n<lib-spinner></lib-spinner>\n<p-toast position=\"bottom-right\"></p-toast>\n\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":20,"character":33},{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":21,"character":43},{"__symbolic":"reference","name":"ɵb"},{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":25,"character":38}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getTheme":[{"__symbolic":"method"}]}},"createTranslateLoader":{"__symbolic":"function","parameters":["storage"],"value":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"ɵd"},"arguments":[{"__symbolic":"reference","name":"storage"}]}},"AgilityRiskModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":123,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","name":"AgilityRiskComponent"},{"__symbolic":"reference","name":"AgilityRiskSetupComponent"},{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"ConfirmationModalComponent"},{"__symbolic":"reference","name":"RiskAssessmentComponent"},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"RiskAssessmentSummaryComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyCustomFieldsModalComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyDefinitionsModalComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyDetailsModalComponent"},{"__symbolic":"reference","name":"RiskBreadcrumbComponent"},{"__symbolic":"reference","name":"RiskDashboardComponent"},{"__symbolic":"reference","name":"RiskDistributionComponent"},{"__symbolic":"reference","name":"RiskDistributionThreatsModalComponent"},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"RiskFormulaManagementComponent"},{"__symbolic":"reference","name":"RiskTemplatesComponent"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"SurveyBooleanQuestionComponent"},{"__symbolic":"reference","name":"SurveyRiskFactorQuestionComponent"},{"__symbolic":"reference","name":"ThreatTypesComponent"},{"__symbolic":"reference","name":"UpsertThreatTypeModalComponent"},{"__symbolic":"reference","name":"FormulaDescriptionComponent"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"AddRemoveRiskBandsComponent"},{"__symbolic":"reference","name":"ɵv"},{"__symbolic":"reference","name":"ɵw"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"AddRemoveRiskBandsComponent"},{"__symbolic":"reference","name":"ɵx"},{"__symbolic":"reference","name":"ɵk"},{"__symbolic":"reference","name":"RiskAssessmentCompleteComponent"},{"__symbolic":"reference","name":"ɵy"},{"__symbolic":"reference","name":"ɵba"},{"__symbolic":"reference","name":"ɵbb"},{"__symbolic":"reference","name":"ɵbc"},{"__symbolic":"reference","name":"RiskTemplateThreatsComponent"},{"__symbolic":"reference","name":"RiskAssessmentCompleteComponent"},{"__symbolic":"reference","name":"ɵbd"},{"__symbolic":"reference","name":"AddEditThreatComponent"},{"__symbolic":"reference","name":"RiskAssessmentDetailsComponent"},{"__symbolic":"reference","name":"ɵbe"},{"__symbolic":"reference","name":"ɵbf"},{"__symbolic":"reference","name":"ɵbg"},{"__symbolic":"reference","name":"ɵbh"},{"__symbolic":"reference","name":"ɵbi"},{"__symbolic":"reference","name":"ɵbj"},{"__symbolic":"reference","name":"RiskTemplateAccessComponent"},{"__symbolic":"reference","name":"ɵz"},{"__symbolic":"reference","name":"ɵbj"},{"__symbolic":"reference","name":"AccessManagerComponent"},{"__symbolic":"reference","name":"AccessManagerStepsComponent"},{"__symbolic":"reference","name":"ɵbk"},{"__symbolic":"reference","name":"ɵbl"},{"__symbolic":"reference","name":"ɵbm"},{"__symbolic":"reference","name":"ɵl"},{"__symbolic":"reference","name":"ɵbn"},{"__symbolic":"reference","name":"ɵbo"},{"__symbolic":"reference","name":"ɵbp"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":193,"character":4},{"__symbolic":"reference","module":"primeng/table","name":"TableModule","line":194,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":195,"character":4},{"__symbolic":"reference","name":"ɵbq"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageModule","line":197,"character":4},"member":"forRoot"},"arguments":[{"prefix":"agilityRisk","storageType":"localStorage"}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateModule","line":201,"character":4},"member":"forChild"},"arguments":[{"isolate":true,"loader":{"provide":{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateLoader","line":204,"character":17},"useFactory":{"__symbolic":"reference","name":"createTranslateLoader"},"deps":[{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":206,"character":15}]}}]},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsModule","line":209,"character":4},"member":"forRoot"}},{"__symbolic":"reference","module":"primeng/progressbar","name":"ProgressBarModule","line":210,"character":4},{"__symbolic":"reference","module":"primeng/dialog","name":"DialogModule","line":211,"character":4},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogModule","line":212,"character":4},{"__symbolic":"reference","module":"primeng/progressspinner","name":"ProgressSpinnerModule","line":213,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":214,"character":4},{"__symbolic":"reference","module":"primeng/breadcrumb","name":"BreadcrumbModule","line":215,"character":4},{"__symbolic":"reference","module":"primeng/tooltip","name":"TooltipModule","line":216,"character":4},{"__symbolic":"reference","module":"primeng/accordion","name":"AccordionModule","line":217,"character":4},{"__symbolic":"reference","module":"primeng/slider","name":"SliderModule","line":218,"character":4},{"__symbolic":"reference","module":"primeng/chart","name":"ChartModule","line":219,"character":4},{"__symbolic":"reference","module":"primeng/dropdown","name":"DropdownModule","line":220,"character":4},{"__symbolic":"reference","module":"primeng/picklist","name":"PickListModule","line":221,"character":4},{"__symbolic":"reference","module":"primeng/multiselect","name":"MultiSelectModule","line":222,"character":4},{"__symbolic":"reference","module":"primeng/button","name":"ButtonModule","line":223,"character":4},{"__symbolic":"reference","module":"primeng/radiobutton","name":"RadioButtonModule","line":224,"character":4},{"__symbolic":"reference","module":"primeng/calendar","name":"CalendarModule","line":225,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":226,"character":4},{"__symbolic":"reference","module":"primeng/inputtext","name":"InputTextModule","line":227,"character":4},{"__symbolic":"reference","module":"primeng/inputtextarea","name":"InputTextareaModule","line":228,"character":4},{"__symbolic":"reference","module":"primeng/inputnumber","name":"InputNumberModule","line":229,"character":4},{"__symbolic":"reference","module":"primeng/badge","name":"BadgeModule","line":230,"character":4},{"__symbolic":"reference","module":"primeng/toast","name":"ToastModule","line":231,"character":4},{"__symbolic":"reference","module":"primeng/card","name":"CardModule","line":232,"character":4},{"__symbolic":"reference","module":"primeng/chip","name":"ChipModule","line":233,"character":4},{"__symbolic":"reference","module":"primeng/chips","name":"ChipsModule","line":234,"character":4},{"__symbolic":"reference","module":"primeng/slidemenu","name":"SlideMenuModule","line":235,"character":4},{"__symbolic":"reference","module":"primeng/autocomplete","name":"AutoCompleteModule","line":236,"character":4},{"__symbolic":"reference","module":"primeng/checkbox","name":"CheckboxModule","line":237,"character":4},{"__symbolic":"reference","module":"primeng/steps","name":"StepsModule","line":238,"character":4},{"__symbolic":"reference","module":"primeng/listbox","name":"ListboxModule","line":239,"character":4},{"__symbolic":"reference","module":"primeng/skeleton","name":"SkeletonModule","line":240,"character":4},{"__symbolic":"reference","module":"primeng/messages","name":"MessagesModule","line":241,"character":4},{"__symbolic":"reference","module":"primeng/message","name":"MessageModule","line":242,"character":4}],"exports":[{"__symbolic":"reference","name":"AgilityRiskComponent"},{"__symbolic":"reference","name":"AgilityRiskSetupComponent"},{"__symbolic":"reference","name":"ConfirmationModalComponent"},{"__symbolic":"reference","name":"RiskAssessmentSummaryComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyCustomFieldsModalComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyDefinitionsModalComponent"},{"__symbolic":"reference","name":"RiskBreadcrumbComponent"},{"__symbolic":"reference","name":"RiskDashboardComponent"},{"__symbolic":"reference","name":"RiskDistributionThreatsModalComponent"},{"__symbolic":"reference","name":"ThreatTypesComponent"},{"__symbolic":"reference","name":"UpsertThreatTypeModalComponent"},{"__symbolic":"reference","name":"RiskAssessmentComponent"},{"__symbolic":"reference","name":"RiskAssessmentSurveyDetailsModalComponent"},{"__symbolic":"reference","name":"RiskDistributionComponent"},{"__symbolic":"reference","name":"RiskFormulaManagementComponent"},{"__symbolic":"reference","name":"RiskTemplatesComponent"},{"__symbolic":"reference","name":"AddRemoveRiskBandsComponent"}],"providers":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":265,"character":4},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":266,"character":4},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateStore","line":267,"character":4},{"__symbolic":"reference","module":"primeng/api","name":"MessageService","line":268,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":269,"character":4}]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":274,"character":33},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":275,"character":44},{"__symbolic":"reference","name":"AgilityRiskPermissionService"}]}],"initPermissions":[{"__symbolic":"method"}]},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"defaults":[{}],"value":{"ngModule":{"__symbolic":"reference","name":"AgilityRiskModule"},"providers":[{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"serviceProvider"},"right":{"provide":{"__symbolic":"reference","name":"AgilityRiskService"},"useClass":{"__symbolic":"reference","name":"RiskDummyService"}}},{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"permissionProvider"},"right":{"provide":{"__symbolic":"reference","name":"AgilityRiskPermissionService"},"useClass":{"__symbolic":"reference","name":"PermissionDummyService"}}},{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"filterProvider"},"right":{"provide":{"__symbolic":"reference","name":"AgilityRiskFilterService"},"useClass":{"__symbolic":"reference","name":"FilterDummyService"}}},{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"spinnerProvider"},"right":{"provide":{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},"useClass":{"__symbolic":"reference","name":"SpinnerDefaultService"}}},{"__symbolic":"binop","operator":"||","left":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"config"},"member":"messageProvider"},"right":{"provide":{"__symbolic":"reference","name":"AgilityRiskMessageService"},"useClass":{"__symbolic":"reference","name":"MessageDefaultService"}}},{"provide":{"__symbolic":"reference","name":"ɵbv"},"useValue":{"__symbolic":"reference","name":"config"}},{"provide":{"__symbolic":"reference","name":"ɵa"},"useFactory":{"__symbolic":"reference","name":"ɵc"},"deps":[{"__symbolic":"reference","name":"ɵbv"}]},{"provide":{"__symbolic":"reference","name":"NavigationServiceConfig"},"useFactory":{"__symbolic":"reference","name":"provideNavigationServiceConfig"},"deps":[{"__symbolic":"reference","name":"ɵbv"}]},{"provide":{"__symbolic":"reference","name":"ɵm"},"useFactory":{"__symbolic":"reference","name":"ɵo"},"deps":[{"__symbolic":"reference","name":"ɵbv"}]}]}}}},"AgilityRiskService":{"__symbolic":"class","members":{"getRiskTemplateHeader":[{"__symbolic":"method"}],"saveRiskTemplateHeader":[{"__symbolic":"method"}],"copyRiskTemplate":[{"__symbolic":"method"}],"createAssessmentAndSendDistribution":[{"__symbolic":"method"}],"createRiskBand":[{"__symbolic":"method"}],"deleteRiskBand":[{"__symbolic":"method"}],"deleteRiskFactor":[{"__symbolic":"method"}],"deleteRiskTemplate":[{"__symbolic":"method"}],"deleteThreatType":[{"__symbolic":"method"}],"editRiskBand":[{"__symbolic":"method"}],"getAssessment":[{"__symbolic":"method"}],"getAssessmentDistribution":[{"__symbolic":"method"}],"getAssessmentRisks":[{"__symbolic":"method"}],"getRiskAssessmentSummary":[{"__symbolic":"method"}],"getAssessmentTargets":[{"__symbolic":"method"}],"getAssessments":[{"__symbolic":"method"}],"getCustomFields":[{"__symbolic":"method"}],"saveCustomField":[{"__symbolic":"method"}],"deleteCustomField":[{"__symbolic":"method"}],"reorderCustomFields":[{"__symbolic":"method"}],"getSurveyUserId":[{"__symbolic":"method"}],"getRiskFactors":[{"__symbolic":"method"}],"getRiskFormula":[{"__symbolic":"method"}],"saveRiskFormula":[{"__symbolic":"method"}],"deleteRiskFormula":[{"__symbolic":"method"}],"testRiskFormula":[{"__symbolic":"method"}],"getRiskFormulaBands":[{"__symbolic":"method"}],"getRiskFormulaFactors":[{"__symbolic":"method"}],"deleteRiskFormulaFactor":[{"__symbolic":"method"}],"getRiskFormulas":[{"__symbolic":"method"}],"getRiskTemplateTargetEntityTypes":[{"__symbolic":"method"}],"getRiskTemplates":[{"__symbolic":"method"}],"getThreatTypes":[{"__symbolic":"method"}],"getThreats":[{"__symbolic":"method"}],"getThreat":[{"__symbolic":"method"}],"deleteThreat":[{"__symbolic":"method"}],"postAssessmentDistributionRisk":[{"__symbolic":"method"}],"putRiskBandsPosition":[{"__symbolic":"method"}],"putThreatTypesPosition":[{"__symbolic":"method"}],"saveRiskFactor":[{"__symbolic":"method"}],"saveThreatType":[{"__symbolic":"method"}],"sendAssessmentDistribution":[{"__symbolic":"method"}],"getAssessmentDistributionByMember":[{"__symbolic":"method"}],"getThreatQuestions":[{"__symbolic":"method"}],"saveThreatQuestions":[{"__symbolic":"method"}],"getAssessmentSummary":[{"__symbolic":"method"}],"getRiskAssessments":[{"__symbolic":"method"}],"createThreat":[{"__symbolic":"method"}],"updateThreat":[{"__symbolic":"method"}],"getRiskAssessmentComments":[{"__symbolic":"method"}],"getRiskAssessmentRisksSummary":[{"__symbolic":"method"}],"putRiskAssessmentComments":[{"__symbolic":"method"}],"getRiskAssessmentRiskAnswers":[{"__symbolic":"method"}],"saveTemplateThreats":[{"__symbolic":"method"}],"getManagerAccessList":[{"__symbolic":"method"}],"getManagerAccess":[{"__symbolic":"method"}],"saveManagerAccess":[{"__symbolic":"method"}],"deleteManagerAccess":[{"__symbolic":"method"}],"putRiskAssessmentAnswer":[{"__symbolic":"method"}],"getRiskAssessmentRiskCustomValues":[{"__symbolic":"method"}],"putRiskAssessmentStatus":[{"__symbolic":"method"}],"putRiskAssessmentRiskCustomValues":[{"__symbolic":"method"}],"getRiskBandRecalculation":[{"__symbolic":"method"}],"putRiskAssessment":[{"__symbolic":"method"}],"postRiskAssessmentEmail":[{"__symbolic":"method"}],"deleteRiskAssessment":[{"__symbolic":"method"}],"getLoggedInUser":[{"__symbolic":"method"}]}},"RiskDummyService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":175,"character":1}}],"members":{"getRiskTemplates":[{"__symbolic":"method"}],"getThreats":[{"__symbolic":"method"}],"getThreat":[{"__symbolic":"method"}],"getThreatTypes":[{"__symbolic":"method"}],"saveThreatType":[{"__symbolic":"method"}],"putThreatTypesPosition":[{"__symbolic":"method"}],"deleteThreatType":[{"__symbolic":"method"}],"getRiskTemplateTargetEntityTypes":[{"__symbolic":"method"}],"getAssessmentTargets":[{"__symbolic":"method"}],"getRiskFormulas":[{"__symbolic":"method"}],"getRiskFormula":[{"__symbolic":"method"}],"saveRiskFormula":[{"__symbolic":"method"}],"deleteRiskFormula":[{"__symbolic":"method"}],"testRiskFormula":[{"__symbolic":"method"}],"getRiskFormulaFactors":[{"__symbolic":"method"}],"deleteRiskFormulaFactor":[{"__symbolic":"method"}],"getRiskFormulaBands":[{"__symbolic":"method"}],"sendAssessmentDistribution":[{"__symbolic":"method"}],"createAssessmentAndSendDistribution":[{"__symbolic":"method"}],"getRiskAssessmentSummary":[{"__symbolic":"method"}],"deleteRiskTemplate":[{"__symbolic":"method"}],"getRiskTemplateHeader":[{"__symbolic":"method"}],"saveRiskTemplateHeader":[{"__symbolic":"method"}],"copyRiskTemplate":[{"__symbolic":"method"}],"getAssessments":[{"__symbolic":"method"}],"getAssessment":[{"__symbolic":"method"}],"getAssessmentRisks":[{"__symbolic":"method"}],"getAssessmentDistribution":[{"__symbolic":"method"}],"getAssessmentDistributionByMember":[{"__symbolic":"method"}],"createRiskBand":[{"__symbolic":"method"}],"deleteRiskBand":[{"__symbolic":"method"}],"putRiskBandsPosition":[{"__symbolic":"method"}],"editRiskBand":[{"__symbolic":"method"}],"getRiskFactors":[{"__symbolic":"method"}],"saveRiskFactor":[{"__symbolic":"method"}],"deleteRiskFactor":[{"__symbolic":"method"}],"getSurveyUserId":[{"__symbolic":"method"}],"postAssessmentDistributionRisk":[{"__symbolic":"method"}],"getCustomFields":[{"__symbolic":"method"}],"saveCustomField":[{"__symbolic":"method"}],"deleteCustomField":[{"__symbolic":"method"}],"reorderCustomFields":[{"__symbolic":"method"}],"getThreatQuestions":[{"__symbolic":"method"}],"saveThreatQuestions":[{"__symbolic":"method"}],"getAssessmentSummary":[{"__symbolic":"method"}],"deleteThreat":[{"__symbolic":"method"}],"getRiskAssessments":[{"__symbolic":"method"}],"getRiskAssessmentComments":[{"__symbolic":"method"}],"getRiskAssessmentRisksSummary":[{"__symbolic":"method"}],"putRiskAssessmentComments":[{"__symbolic":"method"}],"getRiskAssessmentRiskAnswers":[{"__symbolic":"method"}],"createThreat":[{"__symbolic":"method"}],"updateThreat":[{"__symbolic":"method"}],"saveTemplateThreats":[{"__symbolic":"method"}],"getManagerAccessList":[{"__symbolic":"method"}],"getManagerAccess":[{"__symbolic":"method"}],"saveManagerAccess":[{"__symbolic":"method"}],"deleteManagerAccess":[{"__symbolic":"method"}],"putRiskAssessmentAnswer":[{"__symbolic":"method"}],"getRiskAssessmentRiskCustomValues":[{"__symbolic":"method"}],"putRiskAssessmentStatus":[{"__symbolic":"method"}],"putRiskAssessmentRiskCustomValues":[{"__symbolic":"method"}],"getRiskBandRecalculation":[{"__symbolic":"method"}],"putRiskAssessment":[{"__symbolic":"method"}],"postRiskAssessmentEmail":[{"__symbolic":"method"}],"deleteRiskAssessment":[{"__symbolic":"method"}],"getLoggedInUser":[{"__symbolic":"method"}]}},"AgilityRiskPermissionService":{"__symbolic":"class","members":{"canControl":[{"__symbolic":"method"}],"canEdit":[{"__symbolic":"method"}],"canView":[{"__symbolic":"method"}]}},"PermissionDummyService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":32,"character":1}}],"members":{"canControl":[{"__symbolic":"method"}],"canEdit":[{"__symbolic":"method"}],"canView":[{"__symbolic":"method"}]}},"AgilityRiskEventService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":29,"character":38},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":30,"character":42}]}],"onHostChanged":[{"__symbolic":"method"}],"hostChanged":[{"__symbolic":"method"}],"onModuleChanged":[{"__symbolic":"method"}],"moduleChanged":[{"__symbolic":"method"}],"clearStorage":[{"__symbolic":"method"}],"onLanguageChanged":[{"__symbolic":"method"}],"updateBrandingTerms":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"NavigationServiceConfig":{"__symbolic":"class","members":{}},"AgilityRiskNavigationService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":15,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":24,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":25,"character":29},{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":26,"character":31},{"__symbolic":"reference","name":"NavigationServiceConfig"}]}],"onNavigationChanged":[{"__symbolic":"method"}],"navigationChanged":[{"__symbolic":"method"}],"setNavigationHistory":[{"__symbolic":"method"}],"clearNavHistory":[{"__symbolic":"method"}],"getResolvedUrl":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"provideNavigationServiceConfig":{"__symbolic":"function"},"AgilityRiskFilterService":{"__symbolic":"class","members":{"getFilterOptions":[{"__symbolic":"method"}],"getFiltersForComponent":[{"__symbolic":"method"}],"getFilteredUsers":[{"__symbolic":"method"}],"getFilteredDepartments":[{"__symbolic":"method"}],"getFilteredSites":[{"__symbolic":"method"}],"getFilteredVendors":[{"__symbolic":"method"}],"getFilteredResources":[{"__symbolic":"method"}],"getFilteredTemplates":[{"__symbolic":"method"}]}},"FilterDummyService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":24,"character":1}}],"members":{"getFilterOptions":[{"__symbolic":"method"}],"getFiltersForComponent":[{"__symbolic":"method"}],"getFilteredUsers":[{"__symbolic":"method"}],"getFilteredDepartments":[{"__symbolic":"method"}],"getFilteredSites":[{"__symbolic":"method"}],"getFilteredVendors":[{"__symbolic":"method"}],"getFilteredResources":[{"__symbolic":"method"}],"getFilteredTemplates":[{"__symbolic":"method"}]}},"AgilityRiskSpinnerService":{"__symbolic":"class","members":{"start":[{"__symbolic":"method"}],"stop":[{"__symbolic":"method"}]}},"SpinnerDefaultService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"start":[{"__symbolic":"method"}],"stop":[{"__symbolic":"method"}]}},"AgilityRiskMessageService":{"__symbolic":"class","members":{"success":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"warning":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}]}},"MessageDefaultService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":17,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"success":[{"__symbolic":"method"}],"info":[{"__symbolic":"method"}],"warning":[{"__symbolic":"method"}],"error":[{"__symbolic":"method"}]}},"RiskDashboardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"lib-risk-dashboard","template":"<div class=\"shadow-2 p-3 bg-white pt-2 ounded h-100 px-3\">\n  <div class=\"col-12\">\n    <div class=\"grid align-items-center justify-content-between border-bottom-1 border-300 border-light pt-2 pb-3\">\n      <h1 class=\"font-medium text-4xl text-truncate md:text-left text-center\">\n        {{ 'common.assessments' | translate }}\n      </h1>\n\n      <button type=\"button\" pButton class=\"p-button-outlined p-button-secondary\" (click)=\"openCustomFieldsModal()\" *libPermission=\"[permissions.hasAdminRoles]\">\n        <i class=\"fas fa-cog mr-3\"></i> {{'assessment.survey.customFields' | translate}}\n      </button>\n    </div>\n  </div>\n\n  <div class=\"mt-3\">\n    <p-table #assessmentDt\n             [value]=\"assessments\"\n             [rows]=\"size\"\n             [paginator]=\"true\"\n             [lazy]=\"true\"\n             [totalRecords]=\"assessmentTableTotalElements\"\n             (onPage)=\"onPage($event)\">\n      <ng-template pTemplate=\"header\">\n        <tr>\n          <th pSortableColumn=\"name\">\n            {{'common.assessment' | translate}}\n            <p-sortIcon field=\"name\"></p-sortIcon>\n          </th>\n          <th pSortableColumn=\"parent.name\">\n            {{'common.target' | translate}}\n            <p-sortIcon field=\"parent.type\"></p-sortIcon>\n          </th>\n          <th pSortableColumn=\"dueDate\">\n            {{'common.dueDate' | translate}}\n            <p-sortIcon field=\"dueDate\"></p-sortIcon>\n          </th>\n          <th pSortableColumn=\"createdDate\">\n            {{'common.createdDate' | translate}}\n            <p-sortIcon field=\"createdDate\"></p-sortIcon>\n          </th>\n          <th pSortableColumn=\"status\">\n            {{'common.currentStatus' | translate}}\n            <p-sortIcon field=\"status\"></p-sortIcon>\n          </th>\n          <th style=\"width:100px;\"></th>\n        </tr>\n        <tr>\n          <th>\n            <p-columnFilter type=\"text\" field=\"name\"></p-columnFilter>\n          </th>\n          <th>\n            <p-columnFilter type=\"text\" field=\"parent.name\"></p-columnFilter>\n          </th>\n          <th>\n            <p-calendar [(ngModel)]=\"rangeDueDates\"\n                        selectionMode=\"range\"\n                        [readonlyInput]=\"true\"\n                        inputId=\"dueDateRangeFilter\"\n                        (onSelect)=\"assessmentDt.filter($event, 'dueDate', 'dueDateRangeFilter')\"\n                        (onClearClick)=\"assessmentDt.filter($event, 'dueDate', 'dueDateRangeFilter')\"\n                        [selectOtherMonths]=\"true\"\n                        [showButtonBar]=\"true\"></p-calendar>\n          </th>\n          <th>\n            <p-calendar [(ngModel)]=\"rangeCreatedDates\"\n                        selectionMode=\"range\"\n                        [readonlyInput]=\"true\"\n                        inputId=\"createdDateRangeFilter\"\n                        (onSelect)=\"assessmentDt.filter($event, 'createdDate', 'createdDateRangeFilter')\"\n                        (onClearClick)=\"assessmentDt.filter($event, 'createdDate', 'createdDateRangeFilter')\"\n                        [selectOtherMonths]=\"true\"\n                        [showButtonBar]=\"true\"></p-calendar>\n          </th>\n          <th>\n            <p-columnFilter field=\"status\" matchMode=\"equals\" [showMenu]=\"false\">\n              <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\n                <p-dropdown [ngModel]=\"value\" [options]=\"statusOptions\" (onChange)=\"filter($event.value)\" placeholder=\"Any\" [showClear]=\"true\">\n                  <ng-template let-option pTemplate=\"item\">\n                    {{option.label}}\n                  </ng-template>\n                </p-dropdown>\n              </ng-template>\n            </p-columnFilter>\n          </th>\n          <th></th>\n        </tr>\n      </ng-template>\n      <ng-template pTemplate=\"body\" let-assessment>\n        <tr [pSelectableRow]=\"assessment\">\n          <td class=\"text-truncate\" pTooltip=\"{{assessment.name}}\">\n            <a *ngIf=\"canView(assessment.parent)\" routerLink=\"../assessment/details/{{assessment.id}}\">{{assessment.name}}</a>\n            <span *ngIf=\"!canView(assessment.parent)\">{{assessment.name}}</span>\n          </td>\n          <td class=\"capitalize text-truncate\" pTooltip=\"{{assessment.parent.name}}\">\n            {{assessment.parent.name}}\n          </td>\n          <td>\n            {{assessment.dueDate | agilityDate}}\n          </td>\n          <td>\n            {{assessment.createdDate | agilityDate}}\n          </td>\n          <td class=\"capitalize\">\n            <p-progressBar [value]=\"assessment?.percentInt\"\n                           *ngIf=\"assessment?.percentInt !== 100 && assessment?.status.toLowerCase() === assessmentStatus.incomplete.toLowerCase()\"></p-progressBar>\n            <div *ngIf=\"assessment?.status.toLowerCase() === assessmentStatus.current.toLowerCase()\">{{'common.approved' | translate}}</div>\n            <div *ngIf=\"assessment?.status.toLowerCase() === assessmentStatus.complete.toLowerCase()\">{{'common.completed' | translate}}</div>\n          </td>\n          <td class=\"text-center\">\n            <button pButton\n                    class=\"p-button-danger p-button-text\"\n                    (click)=\"deleteAssessment(assessment)\"\n                    icon=\"fas fa-trash\"\n                    pTooltip=\"{{'assessment.deleteAssessmentModal.header' | translate}}\"\n                    *ngIf=\"canDelete(assessment.parent)\">\n            </button>\n            <div *ngIf=\"!canDelete(assessment.parent)\" class=\"p-button p-button-link disabled\">&nbsp;</div>\n          </td>\n        </tr>\n      </ng-template>\n      <ng-template pTemplate=\"emptymessage\">\n        <tr>\n          <td class=\"text-center\" colspan=\"5\">{{'assessment.noAssessments' | translate}}</td>\n        </tr>\n      </ng-template>\n    </p-table>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-dashboard) ::ng-deep p-calendar .p-calendar{width:100%}:host-context(lib-risk-dashboard) ::ng-deep p-calendar .p-datepicker{width:350px}"]}]}],"members":{"assessmentDt":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":["assessmentDt"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":52,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":53,"character":38},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":54,"character":37},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":56,"character":40},{"__symbolic":"reference","module":"primeng/api","name":"FilterService","line":57,"character":37},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskPermissionService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getRiskAssessments":[{"__symbolic":"method"}],"onPage":[{"__symbolic":"method"}],"openCustomFieldsModal":[{"__symbolic":"method"}],"deleteAssessment":[{"__symbolic":"method"}],"canDelete":[{"__symbolic":"method"}],"canView":[{"__symbolic":"method"}]}},"ThreatTypesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-threat-types","template":"<div class=\"shadow-3 p-3 bg-white pt-2 rounded h-100\">\n  <div class=\"col-12\">\n    <div class=\"grid align-items-center border-bottom-1 border-300 border-light mb-5 pt-2\">\n      <div class=\"col-12 md:col-6 justify-content-between\">\n        <h1 class=\"font-medium text-4xl text-truncate md:text-left text-center\">\n          {{ 'threatTypes.threatTypeManagement' | translate }}\n        </h1>\n      </div>\n      <div class=\"col-12 md:col-6 md:text-right text-center\">\n        <button (click)=\"openUpsertThreatTypeModal()\"\n                pButton\n                class=\"p-button-outlined\"\n                type=\"button\"\n                icon=\"fas fa-plus\">\n        </button>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"col-12\">\n    <p-table (onRowReorder)=\"onThreatTypeReorder($event.dragIndex, $event.dropIndex)\"\n             [columns]=\"columns\"\n             [reorderableColumns]=\"true\"\n             [value]=\"threatTypes\"\n             sortField=\"numericValue\"\n             [loading]=\"loading\">\n      <ng-template let-columns pTemplate=\"header\">\n        <tr>\n          <th style=\"width:3rem\"></th>\n          <th *ngFor=\"let col of columns\" pReorderableColumn>\n            {{col.header}}\n          </th>\n        </tr>\n      </ng-template>\n      <ng-template let-index=\"rowIndex\" let-threatType pTemplate=\"body\">\n        <tr [pReorderableRow]=\"index\">\n          <td>\n            <span class=\"pi pi-bars\" pReorderableRowHandle></span>\n          </td>\n          <td class=\"flex justify-content-between align-items-center py-2\">\n            <div class=\"text-truncate\">{{threatType.name}}</div>\n            <div class=\"flex-none\">\n              <button (click)=\"openUpsertThreatTypeModal(threatType)\"\n                      pButton\n                      class=\"p-button-text\"\n                      icon=\"fas fa-pencil-alt\"\n                      pTooltip=\"{{'common.edit' | translate}}\"\n                      type=\"button\"></button>\n              <button (click)=\"confirmDeleteThreatType(threatType)\"\n                      pButton\n                      class=\"p-button-danger p-button-text\"\n                      icon=\"fas fa-trash\"\n                      pTooltip=\"{{'common.delete' | translate}}\"\n                      type=\"button\"></button>\n            </div>\n          </td>\n        </tr>\n      </ng-template>\n    </p-table>\n  </div>\n</div>\n","styles":[":host-context(lib-threat-types) .buttonLinks{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":29,"character":26},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":31,"character":30},{"__symbolic":"reference","name":"AgilityRiskMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"openUpsertThreatTypeModal":[{"__symbolic":"method"}],"confirmDeleteThreatType":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"onThreatTypeReorder":[{"__symbolic":"method"}],"reorderThreatTypes":[{"__symbolic":"method"}]}},"AgilityRiskSetupComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-agility-risk-setup","template":"    <div class=\"grid\">\n      <div class=\"col-12 md:col-6\">\n        <div class=\"card shadow-2 border-round bg-white p-3 flex justify-content-between\">\n          <div class=\"card-container\">\n            <h4 class=\"border-bottom-1 border-300 font-bold py-3\">\n              {{ 'setup.formulaManagementTitle' | translate}}\n            </h4>\n            <p class=\"my-3\">{{ 'setup.formulaManagementMsg' | translate}}</p>\n          </div>\n          <div class=\"flex justify-content-end align-self-end\">\n            <button routerLink=\"../formula-management\"\n                    pButton\n                    type=\"button\"\n                    label=\"{{ 'setup.goTo' | translate}}\"\n                    class=\"p-button-link\"></button>\n          </div>\n        </div>\n      </div>\n      <div class=\"col-12 md:col-6\">\n        <div class=\"card shadow-2 border-round bg-white p-3 flex justify-content-between\">\n          <div class=\"card-container\">\n            <h4 class=\"border-bottom-1 border-300 font-bold py-3\">\n              {{ 'setup.riskSurveyTemplateAdminTitle' | translate}}\n            </h4>\n            <p class=\"my-3\">{{ 'setup.riskSurveyTemplateAdminMsg' | translate}}</p>\n          </div>\n          <div class=\"flex justify-content-end align-self-end\">\n            <button routerLink=\"../risk-templates\"\n                    pButton\n                    type=\"button\"\n                    label=\"{{ 'setup.goTo' | translate}}\"\n                    class=\"p-button-link\"></button>\n          </div>\n        </div>\n      </div>\n    </div>\n","styles":[":host-context(lib-agility-risk-setup) .card{min-height:275px}button:focus{box-shadow:none!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"RiskAssessmentSurveyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"lib-risk-assessment-survey","template":"<div class=\"grid justify-content-center my-5\">\n  <div class=\"col-12 shadow-3 border-round bg-white\">\n    <div class=\"col-12 border-bottom-1 border-300\">\n      <h3>{{'route.risk.assessment' | translate}}</h3>\n    </div>\n    <div class=\"col-12\">\n      <div class=\"grid\">\n        <div class=\"col-12 md:col-4 my-3 field\">\n          <label class=\"mr-3\">{{'common.target' | translate}}:</label>\n          <div class=\"inline-block\">{{assessment?.parent?.name}}</div>\n        </div>\n        <div class=\"col-12 md:col-4 my-3 field\">\n          <label class=\"mr-3\">{{'common.created' | translate}}:</label>\n          <div class=\"inline-block\">{{assessment?.createdDate | date: 'short'}}</div>\n        </div>\n        <div class=\"col-12 md:col-4 my-3 field\">\n          <label class=\"mr-3\">{{'common.dueDate' | translate}}:</label>\n          <div class=\"inline-block\">{{assessment?.dueDate | date: 'short'}}</div>\n        </div>\n        <div class=\"col-12 my-3 text-truncate field\">\n          <label class=\"mr-2\">\n            <a class=\"text-primary\" (click)=\"openSurveyDetailsModal()\"><i class=\"fas fa-exclamation-triangle\"></i></a>\n            {{'assessment.survey.riskFormula' | translate}}:</label>\n          <div class=\"inline-block\" pTooltip=\"{{riskFormulaString}}\">\n            {{riskFormulaString}}\n          </div>\n        </div>\n        <div class=\"col-12 my-3 field flex align-items-center\">\n          <label class=\"mr-3 inline-flex mb-0\">{{'common.show' | translate}}:</label>\n          <div class=\"formgroup-inline inline-flex\">\n            <div class=\"field-radiobutton mb-0\">\n              <input type=\"radio\" id=\"allThreatsRadio\" [value]=\"true\" [(ngModel)]=\"showAllRisks\">\n              <label class=\"font-normal\" for=\"allThreatsRadio\">{{'assessment.survey.allThreats' | translate}}</label>\n            </div>\n            <div class=\"field-radiobutton mb-0\">\n              <input type=\"radio\" id=\"incompleteThreatsRadio\" [value]=\"false\" [(ngModel)]=\"showAllRisks\">\n              <label class=\"font-normal\" for=\"incompleteThreatsRadio\">{{'assessment.survey.incompleteThreats' | translate}}</label>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n\n<div class=\"grid my-5 justify-content-center\">\n  <div class=\"col-12 shadow-3 border-round bg-white\">\n    <div class=\"col-12 border-bottom-1 border-300 mb-3 border-200\">\n      <div class=\"grid\">\n        <div class=\"col-6\">\n          <h3>{{'common.threats' | translate}}</h3>\n        </div>\n        <div class=\"col-6 flex align-items-center justify-content-end\">\n          <div class=\"inline-block border-right-1 border-300 px-2 expandButton border-300\">\n            <button type=\"button\" class=\"btn btn-link py-0\" (click)=\"toggleExpandAllThreats()\">\n              <i class=\"fas\" [ngClass]=\"{'fa-expand': !expandAllRisks, 'fa-compress': expandAllRisks}\"></i>\n            </button>\n          </div>\n          <div class=\"inline-flex definitionsButton ps-3\">\n            <button type=\"button\" pButton class=\"p-button-link\"\n                    (click)=\"openDefinitionsModal()\"\n                    label=\"{{'common.definitions' | translate}}\"\n                    icon=\"fas fa-book\"\n                    iconPos=\"left\"></button>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"col-12\">\n      <ng-container *ngIf=\"loading\">\n        <p-skeleton width=\"100%\" styleClass=\"my-3\"></p-skeleton>\n        <p-skeleton width=\"100%\" styleClass=\"my-3\"></p-skeleton>\n        <p-skeleton width=\"100%\" styleClass=\"my-3\"></p-skeleton>\n      </ng-container>\n\n      <p-accordion [multiple]=\"true\" [activeIndex]=\"activeThreatIndexes\" *ngIf=\"!loading\">\n        <ng-container *ngFor=\"let risk of assessmentDistributionRisks\">\n          <p-accordionTab *ngIf=\"showAllRisks || (!showAllRisks && !riskIsComplete(risk))\">\n            <ng-template pTemplate=\"header\">\n              {{risk.name}} <i class=\"fas fa-check text-green-500 ml-3\" *ngIf=\"riskIsComplete(risk)\"></i>\n            </ng-template>\n            <ng-template pTemplate=\"content\">\n              <div class=\"flex justify-content-end align-items-center border-bottom-1 border-300 mb-3 border-200\">\n                <div class=\"formgroup-inline\">\n                  <div class=\"field-checkbox\">\n                    <input type=\"checkbox\" id=\"requiresPlanCheckbox\" [(ngModel)]=\"risk.requiresPlan\">\n                    <label for=\"requiresPlanCheckbox\">{{'assessment.survey.requiresPlan' | translate}}</label>\n                  </div>\n                </div>\n\n                <div class=\"inline-block d-inline-flex align-items-center overallRisk field mr-3\">\n                  <label class=\"mr-3 font-normal\"\n                         for=\"overallRiskSelect\">\n                    {{'assessment.survey.overallRisk' | translate}}\n                  </label>\n                  <p-dropdown [options]=\"overallRiskOptions\"\n                              inputId=\"overallRiskSelect\"\n                              [(ngModel)]=\"risk.rank\"\n                              optionValue=\"value\"\n                              optionLabel=\"label\"\n                              [disabled]=\"!risk.override\"></p-dropdown>\n                </div>\n\n                <div class=\"formgroup-inline\">\n                  <div class=\"field-checkbox\">\n                    <input type=\"checkbox\" id=\"overrideCheckbox\" [(ngModel)]=\"risk.override\">\n                    <label for=\"overrideCheckbox\">{{'common.override' | translate}}</label>\n                  </div>\n                </div>\n              </div>\n\n              <div class=\"flex justify-content-end\">\n                <button type=\"button\"\n                        pButton\n                        class=\"p-button-link ml-3\"\n                        (click)=\"openCustomFieldsModal(risk)\"\n                        label=\"{{'assessment.survey.customFields' | translate}}\"></button>\n              </div>\n\n              <ng-container *ngFor=\"let templateMemberAnswer of getRiskAssessmentMemberAnswersTemplate(risk); let i = index; let last = last;\">\n                <div class=\"border-300 mb-3\"\n                     [ngClass]=\"{'border-bottom-1': !last}\">\n                  <lib-risk-factor-question\n                    *ngIf=\"templateMemberAnswer.type === questionType.impactProbability\"\n                    [templateMemberAnswer]=\"templateMemberAnswer\"\n                    [userAssessmentMemberAnswer]=\"getCurrentUserAssessmentMemberAnswerByTemplate(risk, templateMemberAnswer)\"\n                    [index]=\"i\"\n                    (openMemberAnswersModalEvent)=\"openMemberAnswersModal(templateMemberAnswer, risk.riskAssessmentMembersData)\"\n                    (openCustomFieldsModalEvent)=\"openCustomFieldsModal(risk)\"></lib-risk-factor-question>\n                  <lib-survey-boolean-question\n                    *ngIf=\"templateMemberAnswer.type === questionType.yesNo\"\n                    [templateMemberAnswer]=\"templateMemberAnswer\"\n                    [userAssessmentMemberAnswer]=\"getCurrentUserAssessmentMemberAnswerByTemplate(risk, templateMemberAnswer)\"\n                    [index]=\"i\"\n                    (openMemberAnswersModalEvent)=\"openMemberAnswersModal(templateMemberAnswer, risk.riskAssessmentMembersData)\"\n                    (openCustomFieldsModalEvent)=\"openCustomFieldsModal(risk)\"></lib-survey-boolean-question>\n                </div>\n              </ng-container>\n            </ng-template>\n          </p-accordionTab>\n        </ng-container>\n      </p-accordion>\n    </div>\n\n    <div class=\"col-12 border-top-1 mt-5 pt-5 border-300\">\n      <div class=\"mb-3 field\">\n        <label for=\"additionalCommentsTextarea\">{{'common.additionalComments' | translate}}</label>\n        <textarea pInputTextarea id=\"additionalCommentsTextarea\" class=\"w-full mb-3\" rows=\"3\" [(ngModel)]=\"comment\" [ngClass]=\"{'ng-invalid ng-dirty': additionalCommentIsRequired()}\"></textarea>\n      </div>\n    </div>\n\n    <div class=\"col-12 flex justify-content-end\">\n      <button pButton class=\"p-button-outlined\" routerLink=\"../../\" label=\"{{'common.cancel' | translate}}\" [disabled]=\"saving\"></button>\n      <button class=\"ml-3\" pButton label=\"{{'common.saveAndReview' | translate}}\" (click)=\"postAssessmentDistributionRisk()\" [disabled]=\"saving\" [loading]=\"saving\"></button>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-assessment-survey) .definitionsButton,:host-context(lib-risk-assessment-survey) .expandButton{height:30px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":53,"character":37},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":55,"character":40},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":56,"character":38},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":57,"character":41},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":58,"character":30},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"AgilityRiskNavigationService"}]}],"ngOnInit":[{"__symbolic":"method"}],"openDefinitionsModal":[{"__symbolic":"method"}],"openSurveyDetailsModal":[{"__symbolic":"method"}],"toggleExpandAllThreats":[{"__symbolic":"method"}],"getAssessmentDistribution":[{"__symbolic":"method"}],"getAssessmentRisks":[{"__symbolic":"method"}],"getCurrentUserAssessmentMemberAnswerByTemplate":[{"__symbolic":"method"}],"openMemberAnswersModal":[{"__symbolic":"method"}],"riskIsComplete":[{"__symbolic":"method"}],"postAssessmentDistributionRisk":[{"__symbolic":"method"}],"getRiskAssessmentMemberAnswersTemplate":[{"__symbolic":"method"}],"getCurrentUserAssessmentMemberData":[{"__symbolic":"method"}],"getCustomFields":[{"__symbolic":"method"}],"openCustomFieldsModal":[{"__symbolic":"method"}],"getRiskAssessmentComments":[{"__symbolic":"method"}],"additionalCommentIsRequired":[{"__symbolic":"method"}]}},"SurveyRiskFactorQuestionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-risk-factor-question","template":"<div class=\"grid\">\n  <div class=\"col-12 field\">\n    <label>\n      {{index + 1}}. {{templateMemberAnswer?.name}}\n    </label>\n  </div>\n\n  <div class=\"col-12\">\n    <div class=\"grid\">\n      <div class=\"col-12 md:col-4 mb-5 field\" *ngFor=\"let assessmentFactorSelection of userAssessmentMemberAnswer.factors\">\n        <label>\n          {{assessmentFactorSelection?.type?.name}}: {{assessmentFactorSelection?.factor?.numericValue}}\n        </label>\n        <p-slider [(ngModel)]=\"assessmentFactorSelection.factor.numericValue\"\n                  [min]=\"minimumRank\"\n                  [max]=\"getMax(assessmentFactorSelection)\"\n                  (onSlideEnd)=\"setFactorTypeId(assessmentFactorSelection)\"\n                  [step]=\"1\"></p-slider>\n        <div class=\"minMax flex justify-content-between mt-2 font-semibold\">\n          <div>{{minimumRank}}</div>\n          <div>{{getMax(assessmentFactorSelection)}}</div>\n        </div>\n      </div>\n    </div>\n  </div>\n\n  <div class=\"col-12 mb-3 field\">\n    <div class=\"flex justify-content-between align-items-center\">\n      <label for=\"comments\">\n        {{'common.comments' | translate}}\n      </label>\n      <div class=\"field-checkbox\">\n        <input type=\"checkbox\" id=\"skipQuestion\" [(ngModel)]=\"userAssessmentMemberAnswer.skip\"/>\n        <label for=\"skipQuestion\" class=\"my-0\">{{'assessment.survey.skipQuestion' | translate}}</label>\n      </div>\n    </div>\n    <input type=\"text\"\n           class=\"w-full\"\n           pInputText\n           id=\"comments\"\n           [(ngModel)]=\"userAssessmentMemberAnswer.comments\"\n           [required]=\"userAssessmentMemberAnswer.skip\">\n  </div>\n\n  <div class=\"col-12 flex justify-content-start\">\n    <button type=\"button\"\n            pButton\n            class=\"p-button-link\"\n            (click)=\"openMemberAnswersModal()\"\n            label=\"{{'assessment.survey.memberAnswers' | translate}}\">\n    </button>\n  </div>\n</div>\n\n","styles":[""]}]}],"members":{"templateMemberAnswer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"userAssessmentMemberAnswer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"openMemberAnswersModalEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"openCustomFieldsModalEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":20,"character":37},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":21,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"setFactorNumericValue":[{"__symbolic":"method"}],"openMemberAnswersModal":[{"__symbolic":"method"}],"setFactorTypeId":[{"__symbolic":"method"}],"getMax":[{"__symbolic":"method"}]}},"SurveyBooleanQuestionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-survey-boolean-question","template":"<div class=\"grid\">\n  <div class=\"col-12 field\">\n    <label for=\"overallRiskSelect\" class=\"mr-3\">\n      {{index + 1}}. {{templateMemberAnswer?.name}}\n    </label>\n    <!--NOTE: exception. using bootstrap form-control here. p-dropdown doesn't allow 1st empty option-->\n    <select class=\"form-control w-auto inline-block\"\n            [(ngModel)]=\"userAssessmentMemberAnswer.questionAnswer\"\n            (ngModelChange)=\"setNull(userAssessmentMemberAnswer)\">\n      <option value=\"\"></option>\n      <option *ngFor=\"let option of booleanSelectOptions\"\n              [value]=\"option.value\">\n        {{option.label}}\n      </option>\n    </select>\n  </div>\n\n  <div class=\"col-12 mb-3 field\">\n    <label for=\"comments\">\n      {{'common.comments' | translate}}\n    </label>\n    <input type=\"text\"\n           pInputText\n           id=\"comments\"\n           class=\"w-full\"\n           [(ngModel)]=\"userAssessmentMemberAnswer.comments\"\n           [required]=\"commentsIsRequired()\"/>\n  </div>\n\n  <div class=\"col-12\">\n    <button type=\"button\"\n            pButton\n            class=\"p-button-link\"\n            label=\"{{'assessment.survey.memberAnswers' | translate}}\"\n            (click)=\"openMemberAnswersModal()\">\n    </button>\n  </div>\n</div>\n","styles":[":host-context(lib-survey-boolean-question) .booleanSelect{width:100px}"]}]}],"members":{"templateMemberAnswer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"index":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"userAssessmentMemberAnswer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"openMemberAnswersModalEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"openCustomFieldsModalEvent":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":32,"character":37},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":33,"character":40}]}],"openMemberAnswersModal":[{"__symbolic":"method"}],"commentsIsRequired":[{"__symbolic":"method"}],"setNull":[{"__symbolic":"method"}]}},"RiskAssessmentSummaryComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-risk-assessment-summary","template":"<div class=\"grid my-5 justify-content-center\">\n  <div class=\"col-12 shadow-3 border-round bg-white\">\n    <div class=\"col-12 border-bottom-1 mb-3 border-300\">\n      <h3>{{'assessment.summary.assessmentResults' | translate}}</h3>\n    </div>\n\n    <div class=\"col-12\">\n      <div class=\"grid\">\n        <div class=\"col-12 md:col-8 my-3\">\n          <div class=\"shadow rounded-3 bg-white p-4\">\n            <h4 class=\"font-bold mb-3\">{{'common.threats' | translate}}</h4>\n\n            <p-chart type=\"horizontalBar\"\n                     [data]=\"threatsHorizontalChartData\"\n                     [options]=\"threatsHorizontalChartOptions\"></p-chart>\n          </div>\n        </div>\n\n        <div class=\"col-12 md:col-4 my-3\">\n          <h5 class=\"mt-0\">{{'common.summary' | translate}}:</h5>\n          <p [innerHTML]=\"assessmentSummary?.description\"></p>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"col-12 my-5 justify-content-end flex\">\n      <a pButton class=\"p-button-outlined\" routerLink=\"../../survey/{{distributionId}}\">{{'assessment.summary.backToAssessment' | translate}}</a>\n      <a class=\"ml-3\" pButton routerLink=\"../../complete\">{{'assessment.summary.submitAssessment' | translate}}</a>\n    </div>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":27,"character":40},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":28,"character":38}]}],"ngOnInit":[{"__symbolic":"method"}],"getAssessmentDistribution":[{"__symbolic":"method"}],"getRiskAssessmentSummary":[{"__symbolic":"method"}],"getAssessmentSummary":[{"__symbolic":"method"}],"defineAnnotations":[{"__symbolic":"method"}],"initChart":[{"__symbolic":"method"}]}},"RiskAssessmentComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-risk-assessment","template":"<div class=\"grid justify-content-center my-5\">\n  <div class=\"col-12 md:col-8\">\n    <h1>{{ welcomeUserMsg }}</h1>\n    <hr>\n\n    <div class=\"mt-5 pb-5\">\n      <p class=\"fs-5 pb-1 fw-light\">{{'assessment.title' | translate}} </p>\n\n      <ol class=\"m-4\">\n        <li class=\"fs-5 my-4 fw-light\">{{'assessment.pointOne' | translate}}</li>\n        <li class=\"fs-5 my-4 fw-light\">{{'assessment.pointTwo' | translate}}</li>\n      </ol>\n    </div>\n\n    <hr class=\"mt-5\">\n\n    <!--TODO: refactor the font size fs-x to using primeflex-->\n    <div class=\"flex justify-content-center mt-5\" *ngIf=\"assessmentDistribution\">\n      <div class=\"flex flex-column\">\n        <div class=\"my-2 text-center\">\n          <span class=\"fs-5 fw-light mx-3\">{{\"assessment.threatsToAssess\" | translate}}</span>\n          <span class=\"fs-2\">{{assessmentDistribution.threats - assessmentDistribution.threatsCompleted}} of {{assessmentDistribution.threats}}</span>\n        </div>\n        <div class=\"my-2 text-center\">\n          <i class=\"fa fa fa-clock fs-2\"></i>\n          <span class=\"fs-5 fw-light mx-3\">{{\"assessment.shouldTakeLessThan\" | translate}}</span>\n          <span class=\"fs-2\">{{roundToMinute(assessmentDistribution.estimatedTimeSec)}} </span>\n          <span class=\"fs-5 fw-light\">{{\"assessment.minutes\" | translate}}</span>\n        </div>\n        <div class=\"my-2 text-center\">\n          <i class=\"fa fa-calendar fs-2\"></i>\n          <span class=\"fs-5 fw-light mx-3\">{{\"assessment.dueDate\" | translate}}</span>\n          <span class=\"fs-2\">{{assessmentDistribution.dueDate | agilityDate}}</span>\n        </div>\n        <div class=\"text-center btn-div\">\n          <button class=\"btn rounded-pill fs-4 p-3 w-75\" [disabled]=\"assessmentDistributionInfo == null\" (click)=\"startSurvey()\">{{'common.getStarted' | translate}}</button>\n        </div>\n      </div>\n    </div>\n\n  </div>\n</div>\n","styles":[".btn-div{margin-top:2.5rem;margin-bottom:5rem}.btn-div button{background:#005984;color:#fff;font-weight:600}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":19,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":20,"character":29},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":22,"character":40},{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"roundToMinute":[{"__symbolic":"method"}],"startSurvey":[{"__symbolic":"method"}]}},"RiskDistributionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":29,"character":1},"arguments":[{"selector":"lib-risk-distribution","providers":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":34,"character":4}],"template":"<section *ngIf=\"riskDistributionForm\"\n         class=\"shadow-2 p-3 bg-white pt-2 ounded h-100 px-5\">\n  <div class=\"col-12 px-0\">\n    <div class=\"grid align-items-center border-bottom-1 border-300 border-light mb-5 pt-2\">\n      <h1 class=\"font-medium text-4xl text-truncate md:text-left text-center\">\n        {{ 'distribution.mainHeading' | translate }}\n      </h1>\n    </div>\n\n    <p class=\"py-2\">\n      {{ 'distribution.about' | translate }}\n    </p>\n  </div>\n\n  <div class=\"col-12 px-0\">\n    <form [formGroup]=\"riskDistributionForm\" class=\"formgrid grid\">\n      <fieldset *ngFor=\"let control of requiredCtrls;\"\n                class=\"field col-12 md:col-6 lg:col-3\">\n        <ng-container [ngSwitch]=\"control.controlType\">\n          <label class=\"font-bold\" \n            [class.required-field]=\"control.required\">\n            {{ control.label | translate }}\n          </label>\n\n          <ng-container *ngSwitchCase=\"'datepicker'\">\n            <p-calendar\n              [formControlName]=\"control.key\"\n              [showIcon]=\"true\"\n              [style]=\"{ width: '100%' }\"\n              [disabled]=\"shouldEnableCtrl(control)\"\n              [readonlyInput]=\"true\"\n              [minDate]=\"minCalendarDate\"\n              [selectOtherMonths]=\"true\">\n            </p-calendar>\n          </ng-container>\n\n          <ng-container *ngSwitchDefault>\n            <p-dropdown\n              [formControlName]=\"control.key\"\n              [style]=\"{ width: '100%' }\"\n              [options]=\"distributionDropdownLists[control.key]?.list\"\n              [optionLabel]=\"'name'\"\n              [optionValue]=\"'id'\"\n              [placeholder]=\"control.placeHolder | translate\"\n              [disabled]=\"shouldEnableCtrl(control)\">\n            </p-dropdown>\n\n            <div class=\"flex justify-content-between align-items-center\">\n              <button *ngIf=\"control.showFilterButton && this.threats.length\"\n                      (click)=\"showThreatList()\"\n                      pButton\n                      [label]=\"'distribution.threatFiltering' | translate\"\n                      [hidden]=\"!riskDistributionForm.get('template').value\"\n                      type=\"button\"\n                      class=\"p-button-link p-0\">\n              </button>\n\n              <ng-container *ngIf=\"(control.showFilterButton && selectedThreats?.length > 0)\">\n                <p-badge\n                  [value]=\"selectedThreats.length\"\n                  [attr.aria-label]=\"selectedThreats.length + ' ' +\n                  ('distribution.selectedThreatsCount' | translate)\"\n                  role=\"status\">\n                </p-badge>\n              </ng-container>\n            </div>\n          </ng-container>\n        </ng-container>\n\n        <lib-control-field-error-message\n          [control]=\"riskDistributionForm.get(control.key)\"\n          [controlName]=\"control.label | translate\">\n        </lib-control-field-error-message>\n      </fieldset>\n    </form>\n  </div>\n\n  <!-- Targets Table -->\n  <div [hidden]=\"!formCtrl('assessmentType').value\"\n       class=\"col-12 px-0 mt-5\">\n    <p-table\n      #surveyTargetTable\n      [value]=\"surveyTargets\"\n      [paginator]=\"true\"\n      [resizableColumns]=\"true\"\n      [rows]=\"10\"\n      selectionMode=\"multiple\"\n      [(selection)]=\"selectedSurveyTargets\">\n      <ng-template pTemplate=\"colgroup\">\n        <colgroup>\n          <col>\n          <col>\n        </colgroup>\n      </ng-template>\n\n      <ng-template pTemplate=\"header\">\n        <tr>\n          <th class=\"w-4rem\"></th>\n          <th [pSortableColumn]=\"'name'\"\n              pResizableColumn\n              class=\"text-truncate\">\n            {{\n              ('distribution.assessmentTypes.' +\n                formCtrl('assessmentType').value\n              ) | translate\n            }}\n            <p-sortIcon [field]=\"'name'\"></p-sortIcon>\n          </th>\n          <th [pSortableColumn]=\"'recipients'\"\n              pResizableColumn>\n            {{ 'common.recipients' | translate }}\n            <p-sortIcon [field]=\"'recipients'\"></p-sortIcon>\n          </th>\n\n          <th class=\"w-5rem\">\n            {{ 'common.edit' | translate }}\n          </th>\n        </tr>\n\n        <tr>\n          <th class=\"w-4rem text-center\">\n            <p-tableHeaderCheckbox\n              #headerCheckbox\n              tooltipPosition=\"top\"\n              [pTooltip]=\"(!headerCheckbox.checked \n                ? 'common.selectAll' \n                : 'common.unselectAll') | translate\"\n              [ariaLabel]=\"(!headerCheckbox.checked \n                ? 'common.selectAll' \n                : 'common.unselectAll') | translate\">\n            </p-tableHeaderCheckbox>\n          </th>\n\n          <th>\n            <p-columnFilter\n              [showMenu]=\"false\"\n              type=\"text\"\n              field=\"name\">\n            </p-columnFilter>\n          </th>\n          <th>\n            <p-columnFilter\n              [showMenu]=\"false\"\n              type=\"text\"\n              field=\"recipients\">\n            </p-columnFilter>\n          </th>\n          <th></th>\n        </tr>\n      </ng-template>\n\n      <ng-template pTemplate=\"body\" let-target>\n        <tr>\n          <td class=\"text-center w-4rem\">\n            <p-tableCheckbox \n              [value]=\"target\">\n            </p-tableCheckbox>\n          </td>\n          <td class=\"text-truncate\">\n            {{ target.name }}\n          </td>\n          <td>\n            <span style=\"white-space: break-spaces;\">\n              {{ target.recipients }}\n            </span>\n          </td>\n          <td class=\"text-center w-5rem\">\n            <button (click)=\"showTargetContactList(target)\"\n                    pButton\n                    [disabled]=\"!isTargetSelected(target)\"\n                    icon=\"fas fa-pencil-alt\"\n                    [attr.aria-label]=\"'common.edit' | translate\"\n                    [pTooltip]=\"'common.edit' | translate\"\n                    type=\"button\"\n                    class=\"p-button-text\">\n            </button>\n          </td>\n        </tr>\n      </ng-template>\n    </p-table>\n  </div>\n\n  <!-- CTA -->\n  <div class=\"col-12 px-0 flex mt-5 justify-content-end\">\n    <button (click)=\"onSubmitAssessment()\"\n            pButton\n            [label]=\"'distribution.sendAssessments' | translate\"\n            [attr.aria-disabled]=\"riskDistributionForm.invalid || !selectedSurveyTargets.length\"\n            type=\"submit\"\n            class=\"p-button-outlined p-button-success\"\n            icon=\"fas fa-paper-plane\"\n            iconPos=\"left\">\n    </button>\n  </div>\n</section>\n\n","styles":[""]}]}],"members":{"surveyTargetTable":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":38,"character":3},"arguments":["surveyTargetTable"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":63,"character":26},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":64,"character":22},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":65,"character":30},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskPermissionService"}]}],"pageUnloadHandler":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":78,"character":3},"arguments":["window:unload"]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"formCtrl":[{"__symbolic":"method"}],"onAssessmentTypeSelected":[{"__symbolic":"method"}],"onTemplateSelected":[{"__symbolic":"method"}],"shouldEnableCtrl":[{"__symbolic":"method"}],"fetchAssessmentType":[{"__symbolic":"method"}],"fetchTargets":[{"__symbolic":"method"}],"formatTargetRecipientName":[{"__symbolic":"method"}],"fetchRiskTemplates":[{"__symbolic":"method"}],"fetchRiskTemplateThreats":[{"__symbolic":"method"}],"removeThreatsDialogLocalState":[{"__symbolic":"method"}],"fetchRiskFormulas":[{"__symbolic":"method"}],"showThreatList":[{"__symbolic":"method"}],"resetAssessment":[{"__symbolic":"method"}],"resetDistributionForm":[{"__symbolic":"method"}],"resetRiskTemplates":[{"__symbolic":"method"}],"resetSurveyTargetTable":[{"__symbolic":"method"}],"showTargetContactList":[{"__symbolic":"method"}],"markFormAsInvalid":[{"__symbolic":"method"}],"noSurveyTargetSelectedErrorMessage":[{"__symbolic":"method"}],"noRecipientsAddedErrorMessage":[{"__symbolic":"method"}],"isTargetSelected":[{"__symbolic":"method"}],"onSubmitAssessment":[{"__symbolic":"method"}]}},"RiskFormulaManagementComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"lib-risk-formula-management","template":"<div class=\"shadow-2 p-3 bg-white pt-2 rounded h-100 mx-1 px-5\">\n  <!-- Formula List -->\n  <lib-risk-formula-list\n    [addEditFormula]=\"addEditFormula\"\n    [(selectedFormula)]=\"selectedFormula\"\n    (selectedFormulaChange)=\"formulaSelected()\"\n    (createFormula)=\"createFormula()\"\n    (formulaUnselected)=\"resetAddEditState()\">\n  </lib-risk-formula-list>\n\n  <div class=\"formula-add-edit-wrapper\"\n    [class.active]=\"addEditFormula\"\n    [attr.aria-hidden]=\"addEditFormula\">\n    <!-- Formula Description -->\n    <lib-formula-description></lib-formula-description>\n\n    <ng-container *ngIf=\"selectedFormula?.id\">\n      <!-- Risk Factors -->\n      <lib-advanced-risk-formula-management\n        [formula]=\"selectedFormula\">\n      </lib-advanced-risk-formula-management>\n\n      <!-- Risk Bands -->\n      <lib-risk-band-slider \n        [formulaId]=\"selectedFormula.id\"\n        [rounding]=\"formulaDescriptionRef.formulaEditForm.value.rounding\">\n      </lib-risk-band-slider>\n    </ng-container>\n\n    <!-- CTA -->\n    <div class=\"flex mt-5 justify-content-end\">\n      <button (click)=\"onCancel()\"\n              pButton\n              [label]=\"'common.cancel' | translate\"\n              type=\"button\"\n              icon=\"far fa-times\"\n              iconPos=\"left\"\n              class=\"mr-3 w-8rem p-button-outlined p-button-secondary\">\n      </button>\n      <button (click)=\"onSave()\"\n              pButton\n              [label]=\"'common.save' | translate\"\n              type=\"submit\"\n              class=\"w-8rem p-button-outlined p-button-success\"\n              icon=\"fas fa-save\"\n              iconPos=\"left\">\n      </button>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-formula-management) .padlock-wrapper{display:flex;align-items:center;justify-content:center;height:37.33px}:host-context(lib-risk-formula-management) .formula-add-edit-wrapper{display:none}:host-context(lib-risk-formula-management) .formula-add-edit-wrapper.active{display:block}"]}]}],"members":{"formulaDescriptionRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":19,"character":3},"arguments":[{"__symbolic":"reference","name":"FormulaDescriptionComponent"}]}]}],"slider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵk"}]}]}],"formulaListRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":[{"__symbolic":"reference","name":"ɵl"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":27,"character":29},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":28,"character":26},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"resetAddEditState":[{"__symbolic":"method"}],"createFormula":[{"__symbolic":"method"}],"formulaSelected":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}],"onSave":[{"__symbolic":"method"}]}},"RiskTemplatesComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-risk-templates","template":"<div class=\"shadow-3 p-3 bg-white pt-2 rounded h-100 px-5\">\n  <div class=\"grid align-items-center border-bottom-1 border-300 border-light mb-5 pt-2\">\n    <div class=\"col-12 md:col-6 px-0 justify-content-between\">\n      <h1 class=\"font-medium text-4xl text-truncate md:text-left text-center\">{{'riskTemplates.riskTemplates' | translate}}</h1>\n    </div>\n    <div class=\"col-12 md:col-6 md:text-right px-0 text-center\">\n      <button class=\"p-button-outlined px-4 fs-4 mx-2 font-bold p-button-rounded mb-1\"\n              pButton\n              routerLink=\"../threat-types\"\n              type=\"button\">\n        {{'riskTemplates.threatTypeManagement' | translate}}\n      </button>\n      <button class=\"p-button-outlined px-4 fs-4 mx-2 font-bold p-button-rounded mb-1\"\n              pButton\n              routerLink=\"../risk-template-access\"\n              type=\"button\">\n        {{'riskTemplates.templateAccess' | translate}}\n      </button>\n      <button class=\"p-button-outlined px-4 fs-4 ml-2 font-bold p-button-rounded mb-1\"\n              pButton\n              type=\"button\"\n              (click)=\"details()\">\n        {{'riskTemplates.createTemplate' | translate}}\n      </button>\n    </div>\n\n  </div>\n  <div class=\"grid  justify-content-between\">\n    <div *ngFor=\"let template of riskTemplates\" class=\"col-12 md:col-6 px-0 md:px-2\">\n      <div class=\"card shadow p-3 mb-5 bg-body rounded-3  w-100 px-4 customHeight\" [ngClass]=\"{'newTemplate': template.id === newTemplateId}\">\n        <div class=\"d-flex justify-content-between  border-bottom-2 border-300 align-items-center pb-3 mb-3\">\n          <div class=\"text-2xl text-truncate font-medium\">{{template.name}}</div>\n          <div class=\"fs-5 opacity-70 font-bold ml-2\">{{('riskTemplates.templateTypes.' + template.templateType) | translate}}</div>\n        </div>\n        <div class=\"d-flex align-items-stretch flex-column h-100\">\n          <div class=\"font-medium truncate opacity-70\">{{template.description}}</div>\n          <div class=\" mt-auto \">\n            <div class=\"d-flex justify-content-between align-items-center \">\n              <button (click)=\"details(template.id)\" [label]=\"'riskTemplates.details'| translate\" class=\"p-button-link text-base font-bold p-0 no-underline\" pButton type=\"button\"></button>\n              <div class=\"float-end justify-content-between\">\n                <button (click)=\"cloneTemplate(template.id)\" class=\"p-button-link no-underline\" icon=\"fa fa-copy fa-lg\" pButton type=\"button\"></button>\n                <button (click)=\"deleteTemplate(template.id)\" class=\"p-button-link pr-0 no-underline text-danger\" icon=\"fa fa-trash fa-lg\" pButton type=\"button\"></button>\n              </div>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-templates) .customHeight{height:230px}:host-context(lib-risk-templates) .truncate{display:-webkit-box;-webkit-line-clamp:var(--line-clamp,2);-webkit-box-orient:vertical;word-break:keep-all;overflow:hidden;-webkit-hyphens:auto;-ms-hyphens:auto;hyphens:auto;text-align:left}:host-context(lib-risk-templates) button:focus{outline:none!important}:host-context(lib-risk-templates) button:focus,:host-context(lib-risk-templates) button:hover{box-shadow:none!important;background:none!important}:host-context(lib-risk-templates) ::ng-deep .p-button.no-underline:hover .p-button-label{text-decoration:none}:host-context(lib-risk-templates) .newTemplate{-webkit-animation-name:newTemplateBgFadeIn;animation-name:newTemplateBgFadeIn;-webkit-animation-duration:5s;animation-duration:5s}@-webkit-keyframes newTemplateBgFadeIn{0%{background:rgba(0,89,132,.5)}to{background:transparent}}@keyframes newTemplateBgFadeIn{0%{background:rgba(0,89,132,.5)}to{background:transparent}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":25,"character":37},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":26,"character":40},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":28,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":29,"character":29},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"deleteTemplate":[{"__symbolic":"method"}],"cloneTemplate":[{"__symbolic":"method"}],"details":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"FormulaDescriptionComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"lib-formula-description","template":"<section *ngIf=\"formulaEditForm\" class=\"grid mt-4\">\n  <div class=\"col-12\">\n    <h5>\n      {{ 'formulaManagement.formulaDescription' | translate }} \n      <ng-container *ngIf=\"selectedFormula\">\n        -\n        <span class=\"font-normal\">{{ selectedFormula?.name }}</span>\n      </ng-container>\n    </h5>\n  </div>\n\n  <div class=\"col-12\">\n    <form [formGroup]=\"formulaEditForm\" class=\"grid\">\n      <fieldset *ngFor=\"let control of descriptionControls\" \n        class=\"field mb-4 fullRow\"\n        [ngClass]=\"{ \n          'col': !control.fullRow,\n          'col-12': control.fullRow\n        }\">\n        <ng-container [ngSwitch]=\"control.controlType\">\n          <label class=\"font-bold\" \n            [class.required-field]=\"control.required\">\n            {{ control.label | translate }}\n          </label>\n\n          <div *ngSwitchCase=\"'readonly'\" \n            class=\"flex align-items-center\"\n            style=\"height: 2.5rem;\">\n            <p class=\"m-0\">\n              {{ formControl(control.key).value }}\n            </p>\n          </div>\n\n          <ng-container *ngSwitchCase=\"'textarea'\">\n            <textarea \n              *ngIf=\"!selectedFormula?.defaultFormula; else defaultFormulaDesc\"\n              pInputTextarea\n              [formControlName]=\"control.key\"\n              [placeholder]=\"(control?.placeHolder || control.label) | translate\"\n              rows=\"3\" \n              class=\"inputfield w-full\">\n            </textarea>\n\n            <ng-template #defaultFormulaDesc>\n              <p>\n                {{ 'formulaManagement.defaultFormulaDescription' | translate }}\n              </p>\n            </ng-template>\n          </ng-container>          \n\n          <p-dropdown\n            *ngSwitchCase=\"'dropdown'\"\n            [formControlName]=\"control.key\"\n            [style]=\"{ width: '100%' }\"\n            [optionLabel]=\"'label'\"\n            [optionValue]=\"'value'\"\n            [options]=\"formulaEditFormDropdowns[control.key]\"\n            [readonly]=\"selectedFormula?.defaultFormula && control.key === 'targetType'\">\n          </p-dropdown>\n\n          <div *ngSwitchCase=\"'radio'\">\n            <div class=\"inline\">   \n              <div class=\"inline mr-3\"> \n                <input type=\"radio\"  \n                  [formControlName]=\"control.key\" \n                  [value]=\"true\" \n                  id=\"yes\"\n                  class=\"mr-1\">  \n                <label for=\"yes\">\n                  {{ 'common.yes' | translate }}\n                </label>\n              </div>\n              \n              <div class=\"inline\"> \n                <input type=\"radio\" \n                  [formControlName]=\"control.key\" \n                  [value]=\"false\" \n                  id=\"no\"\n                  class=\"mr-1\"> \n                <label for=\"no\">\n                  {{ 'common.no' | translate }}\n                </label>\n              </div>\n            </div>\n          </div>\n\n          <input \n            *ngSwitchDefault\n            pInputText \n            [formControlName]=\"control.key\"\n            [placeholder]=\"(control?.placeHolder || control.label) | translate\" \n            [readOnly]=\"selectedFormula?.defaultFormula && control.key === 'name'\"\n            type=\"text\" \n            class=\"inputfield w-full\">\n\n          <lib-control-field-error-message\n            [control]=\"formulaEditForm.get(control.key)\"\n            [controlName]=\"control.label | translate\">\n          </lib-control-field-error-message>\n        </ng-container>\n      </fieldset>\n    </form>\n  </div>\n</section>\n","styles":["@media only screen and (max-width:768px){:host-context(lib-formula-description) .fullRow{width:100%!important;flex:100%}}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":26,"character":29},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":27,"character":22}]}],"displayForm":[{"__symbolic":"method"}],"buildFormulaDescriptionForm":[{"__symbolic":"method"}],"setFormControlValidators":[{"__symbolic":"method"}],"formControl":[{"__symbolic":"method"}],"getFormValue":[{"__symbolic":"method"}],"markFormAsInvalid":[{"__symbolic":"method"}]}},"RiskAssessmentCompleteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"lib-risk-assessment-complete","template":"<div class=\"grid justify-content-center my-5 mx-3\">\n  <div class=\"col-12 md:col-12 mt-5 text-3xl\">\n    <i class=\"fa fa-check-circle pr-3 text-green-500\"></i>\n    <span>{{'assessment.surveyComplete' | translate}}</span>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}]}},"RiskAssessmentDetailsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":22,"character":1},"arguments":[{"selector":"lib-risk-assessment-details","template":"<div class=\"grid my-5 justify-content-center\">\n  <div class=\"col-12 shadow-3 border-round bg-white\">\n    <div class=\"col-12\">\n      <div class=\"grid\">\n        <div class=\"col-12 md:col-6 my-3 p-3\">\n          <div class=\"shadow rounded-3 bg-white p-3 h-full\">\n            <h4 class=\"font-bold\">{{'common.threats' | translate}}</h4>\n\n            <div class=\"field mb-4\" *ngIf=\"assessmentSummary?.description?.length\">\n              <p class=\"m-0\">{{assessmentSummary?.description}}</p>\n            </div>\n\n            <div class=\"relative\">\n              <div class=\"flex align-items-center justify-content-end mb-2\" *ngIf=\"!initializingChart\">\n                <label class=\"inline-flex mr-3 mb-0\">{{'common.sort' | translate}}</label>\n                <p-dropdown [options]=\"options\"\n                            [autoDisplayFirst]=\"true\"\n                            (onChange)=\"orderChart()\"\n                            [(ngModel)]=\"chartSortBy\"></p-dropdown>\n              </div>\n\n              <p-chart type=\"horizontalBar\"\n                       [data]=\"threatsHorizontalChartData\"\n                       [options]=\"threatsHorizontalChartOptions\"></p-chart>\n              <p-message severity=\"info\" text=\"{{'assessment.noDataMessage' | translate}}\" *ngIf=\"!chartHasData\" [styleClass]=\"'noDataMessage'\"></p-message>\n            </div>\n\n            <p-skeleton width=\"100%\" styleClass=\"my-4\" *ngIf=\"initializingChart\"></p-skeleton>\n          </div>\n        </div>\n\n        <div class=\"col-12 md:col-6 my-3\">\n          <div class=\"grid border-bottom-1 border-300 pb-3 mb-3\">\n            <div class=\"col-12 md:col-8\">\n              <h5 class=\"font-light font-semibold\">\n                {{'assessment.nameOfAssessment' | translate}}\n                <button type=\"button\" pButton class=\"p-button-link ml-2 p-0\" icon=\"fas fa-pencil-alt\" *ngIf=\"canControl\" [disabled]=\"isEditingAssessmentName\"\n                        (click)=\"isEditingAssessmentName = true\"></button>\n              </h5>\n              <h5 class=\"text-truncate font-light flex align-content-center\" *ngIf=\"!isEditingAssessmentName\" pTooltip=\"{{assessmentSummary?.name}}\">\n                {{assessmentSummary?.name}}\n              </h5>\n              <div class=\"p-inputgroup\" *ngIf=\"isEditingAssessmentName && canControl\">\n                <input type=\"text\" pInputText [(ngModel)]=\"assessmentSummary.name\" required>\n                <button type=\"button\" pButton icon=\"fal fa-check\" class=\"p-button-success p-button-outlined\" (click)=\"saveAssessmentName()\" [disabled]=\"!assessmentSummary?.name?.length\"></button>\n                <button type=\"button\" pButton icon=\"fal fa-times\" class=\"p-button-danger p-button-outlined\" (click)=\"cancelEditAssessmentName()\"></button>\n              </div>\n            </div>\n\n            <div class=\"col-12 md:col-4 text-right\" *ngIf=\"assessmentSummary?.dueDate\">\n              <h5 class=\"font-light font-semibold\">{{'common.dueDate' | translate}}</h5>\n              <h5 class=\"font-light\">{{assessmentSummary?.dueDate | agilityDate}}</h5>\n            </div>\n\n            <div class=\"col-12 surveyMembers\" *ngIf=\"assessmentSummary?.surveyMembers.length\">\n              <div class=\"field flex align-items-center mb-1\">\n                <button type=\"button\" pButton class=\"p-button-link p-0 m-0 mr-3 resendAllButton inline-block\" pTooltip=\"{{'assessment.resendEmailAll' | translate}}\" tooltipPosition=\"left\"\n                        *ngIf=\"canSendEmail\" (click)=\"resendEmail()\" [disabled]=\"isResendingEmail\" [loading]=\"isResendingEmail\" icon=\"fas fa-reply-all fa-fw\" iconPos=\"left\"></button>\n                <label class=\"inline-block mb-0\">\n                  <span class=\"recipientsLabel\">{{'common.recipients' | translate}}</span>\n                </label>\n              </div>\n              <div class=\"flex align-items-center\" *ngFor=\"let surveyMember of assessmentSummary?.surveyMembers; let last = last\">\n                <button type=\"button\"\n                        pButton\n                        class=\"p-button-link p-0 m-0 mr-3\"\n                        pTooltip=\"{{surveyMember.riskCompleted ? ('assessment.recipientCompletedSurvey' | translate) : ('assessment.resendEmail' | translate)}}\"\n                        tooltipPosition=\"left\"\n                        (click)=\"resendEmail(surveyMember)\"\n                        *ngIf=\"memberCanSendEmail(surveyMember)\"\n                        [disabled]=\"isResendingEmail\"\n                        [loading]=\"isResendingEmail\"\n                        icon=\"fal fa-reply fa-fw\"\n                        iconPos=\"left\"></button>\n                {{surveyMember.member ? surveyMember.member.displayName : surveyMember.deletedPersonnelRecord.displayName}}\n              </div>\n            </div>\n\n            <div class=\"col-12 field\">\n              <label>{{'common.status' | translate}}</label>\n              <p-progressBar [value]=\"assessmentSummary?.percentInt\"\n                             *ngIf=\"assessmentSummary?.percentInt !== 100 && assessmentSummary?.status.toLowerCase() === assessmentStatus.incomplete.toLowerCase()\"></p-progressBar>\n              <p *ngIf=\"assessmentSummary?.status.toLowerCase() === assessmentStatus.current.toLowerCase()\">{{'common.approved' | translate}}</p>\n              <p *ngIf=\"assessmentSummary?.percentInt === 100 && assessmentSummary?.status.toLowerCase() === assessmentStatus.incomplete.toLowerCase()\">{{'common.completed' | translate}}</p>\n            </div>\n          </div>\n\n          <div class=\"grid\">\n            <div class=\"col-12 flex justify-content-end\">\n              <p-dropdown [options]=\"riskAssessmentSummaries\"\n                          (onChange)=\"getRiskAssessmentRisksSummary()\"\n                          optionLabel=\"name\"\n                          optionValue=\"id\"\n                          [(ngModel)]=\"activeRiskDetailId\"\n                          [autoDisplayFirst]=\"false\"\n                          placeholder=\"{{'assessment.selectAThreat' | translate}}\"></p-dropdown>\n            </div>\n            <div class=\"col-12\" *ngIf=\"activeRiskDetail\">\n              <h5 class=\"border-bottom-1 border-300 py-3 flex justify-content-between pb-3\">\n                <div class=\"inline-flex\">{{activeRiskDetail.name}}</div>\n                <div class=\"inline-flex\">{{'assessment.threatRisk' | translate}} - {{activeRiskDetail.rank}}</div>\n              </h5>\n\n              <div class=\"threatDetails\">\n                <div class=\"threatDetail p-3\" *ngFor=\"let answerTemplate  of activeRiskDetail.answersTemplate; let answerTemplateIndex = index;\">\n                  <p>{{answerTemplateIndex + 1 + '. ' + answerTemplate.name}}</p>\n                  <div class=\"flex justify-content-between\">\n                    <div class=\"inline-flex\">\n                      <button pButton\n                              type=\"button\"\n                              class=\"p-button-link pl-0\"\n                              (click)=\"openMemberAnswersModal(answerTemplate, answerTemplateIndex)\"\n                              label=\"{{'common.details' | translate}}\"></button>\n                    </div>\n                    <div class=\"inline-flex\">{{'assessment.overallAnswer' | translate}}: {{answerTemplate.answerRankAverage}}</div>\n                  </div>\n                </div>\n              </div>\n\n              <div class=\"text-right mb-3 my-3\">\n                <button pButton class=\"p-button-link font-bold\" (click)=\"openCustomFieldsModal()\" label=\"{{'assessment.survey.customFields'| translate}}\"></button>\n              </div>\n            </div>\n\n            <div class=\"col-12 mb-3\">\n              <button pButton class=\"p-button-link pl-0\" (click)=\"openAdditionalCommentsModal()\">\n                {{'assessment.viewAdditionalComments' | translate}} - {{additionalComments?.length}}\n              </button>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"col-12 my-5 justify-content-end flex\">\n      <button pButton class=\"p-button-outlined\"\n              *ngIf=\"canControl && assessmentSummary?.status.toLowerCase() !== this.assessmentStatus.current.toLowerCase()\"\n              (click)=\"markAsReviewed()\"\n              label=\"{{'assessment.markAsReviewed' | translate}}\"\n              [disabled]=\"!canMarkAsReviewed()\"></button>\n      <button type=\"button\" class=\"ml-3\" pButton routerLink=\"../../../dashboard\" label=\"{{'assessment.backToDashboard' | translate}}\"></button>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-assessment-details) .threatDetail:nth-of-type(2n){background:var(--secondary-bg-color)}:host-context(lib-risk-assessment-details) .threatDetails{max-height:500px;overflow-y:auto}:host-context(lib-risk-assessment-details) .recipientList{max-height:300px;overflow:auto}:host-context(lib-risk-assessment-details) .resendAllButton{font-size:17px}:host-context(lib-risk-assessment-details) .recipientsLabel{position:relative;left:0}:host-context(lib-risk-assessment-details) .surveyMembers{max-height:130px;overflow-y:auto}:host-context(lib-risk-assessment-details) ::ng-deep .noDataMessage{position:absolute;top:50%;left:50%;transform:translateX(-50%)}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":65,"character":30},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":67,"character":40},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":68,"character":38},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":69,"character":37},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskPermissionService"},{"__symbolic":"reference","name":"AgilityRiskNavigationService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getAssessmentSummary":[{"__symbolic":"method"}],"getRiskFormulaBands":[{"__symbolic":"method"}],"getAdditionalComments":[{"__symbolic":"method"}],"getRiskAssessmentSummary":[{"__symbolic":"method"}],"defineAnnotations":[{"__symbolic":"method"}],"initChartData":[{"__symbolic":"method"}],"initChartOptions":[{"__symbolic":"method"}],"initChart":[{"__symbolic":"method"}],"openAdditionalCommentsModal":[{"__symbolic":"method"}],"openMemberAnswersModal":[{"__symbolic":"method"}],"orderChart":[{"__symbolic":"method"}],"markAsReviewed":[{"__symbolic":"method"}],"getRiskAssessmentRisksSummary":[{"__symbolic":"method"}],"titleCase":[{"__symbolic":"method"}],"openCustomFieldsModal":[{"__symbolic":"method"}],"saveAssessmentName":[{"__symbolic":"method"}],"cancelEditAssessmentName":[{"__symbolic":"method"}],"resendEmail":[{"__symbolic":"method"}],"canMarkAsReviewed":[{"__symbolic":"method"}],"memberCanSendEmail":[{"__symbolic":"method"}]}},"RiskTemplateThreatsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"lib-risk-template-threats","template":"<div class=\"shadow p-3 mb-5 bg-white pt-2 mt-2 rounded h-100 mx-1 px-5\">\n  <div class=\"flex flex-wrap lg:justify-content-between mb-3 mt-2 justify-content-around\">\n    <div class=\"text-2xl font-bold \">\n      {{'common.threats' | translate}}\n    </div>\n    <div class=\"text-center lg:mt-0 mt-1\">\n      <button (click)=\"addEditThreat()\" [icon]=\"'pi pi-plus'\" [label]=\"'riskTemplates.addThreat' | translate\" class=\"lg:mr-3 lg:mb-0 mb-2 p-button-outlined\" iconPos=\"left\" pButton\n              type=\"button\"></button>\n      <button (click)=\"copyThreats()\" [label]=\"'riskTemplates.copyThreatsFromAnotherTemplate' | translate\" class=\" p-button-outlined\" iconPos=\"left\" pButton type=\"button\"></button>\n    </div>\n  </div>\n  <p-table #dt\n           (onFilter)=\"sort($event)\"\n           (onSort)=\"sort($event)\"\n           (sortFunction)=\"customSort($event)\"\n           [customSort]=\"true\"\n           [loading]=\"loading\"\n           [scrollable]=\"true\"\n           [value]=\"threats\"\n           scrollHeight=\"600px\"\n           sortField=\"threatType.name\"\n           sortMode=\"single\">\n    <ng-template pTemplate=\"header\">\n      <tr>\n        <th class=\"medium\">{{'threatTypes.threatType' | translate}}\n        </th>\n        <th class=\"medium\">{{'common.threat' | translate}} </th>\n        <th class=\"long\">{{'common.question' | translate}}</th>\n        <th class=\"text-center medium\">{{'common.type' | translate}}</th>\n        <th class=\"text-center medium\">{{'common.weight' | translate}}</th>\n        <th class=\"text-center short\"></th>\n      </tr>\n      <tr>\n        <th class=\"medium\">\n          <div class=\"p-d-flex p-jc-between p-ai-center flex align-items-center\">\n            <input (input)=\"dt.filter($event.target.value, 'threatType.name', 'contains')\" class=\"mr-1\"\n                   pInputText style=\"width:100%\" type=\"text\"/>\n            <p-sortIcon class=\"flex align-items-center\" field=\"threatType.name\" pSortableColumn=\"threatType.name\"></p-sortIcon>\n          </div>\n        </th>\n        <th class=\"medium\">\n          <div class=\"p-d-flex p-jc-between p-ai-center flex align-items-center\">\n            <input (input)=\"dt.filter($event.target.value, 'name', 'contains');updateRowGroupMetaData()\" class=\"mr-1\"\n                   pInputText style=\"width:100%\" type=\"text\"/>\n            <p-sortIcon class=\"flex align-items-center\" field=\"name\" pSortableColumn=\"name\"></p-sortIcon>\n          </div>\n        </th>\n        <th class=\"long\"></th>\n        <th class=\"medium\"></th>\n        <th class=\"medium\"></th>\n        <th class=\"short\"></th>\n      </tr>\n    </ng-template>\n\n    <ng-template let-rowIndex=\"rowIndex\" let-threat pTemplate=\"body\">\n      <tr *ngIf=\"rowGroupMetadata[threat?.id]?.index === rowIndex\" class=\"sticky bg-blue-50\">\n        <td class=\"medium font-bold\">\n          <span class=\"font-bold \">{{threat.threatType?.name}}</span>\n        </td>\n        <td class=\"medium font-bold text-truncate\" pTooltip=\"{{threat.name}}\">\n          {{threat.name}}\n        </td>\n        <td class=\"text-center long\">\n          <button (click)=\"goToThreatQuestions(threat.id)\"\n                  [icon]=\"'pi pi-plus'\"\n                  [label]=\"'riskTemplates.manageQuestions' | translate\"\n                  class=\"ml-3 p-button-outlined\"\n                  iconPos=\"left\"\n                  pButton\n                  type=\"button\"></button>\n        </td>\n        <td class=\"medium\"></td>\n        <td class=\"medium\"></td>\n        <td class=\"text-center short\">\n          <button\n            (click)=\"addEditThreat(threat)\"\n            [pTooltip]=\"'common.edit' | translate\"\n            class=\"p-button-link pr-0 no-underline \"\n            icon=\"fa fa-pencil fa-lg\"\n            pButton\n            tooltipPosition=\"top\">\n          </button>\n          <button (click)=\" deleteThreat(threat.id)\"\n                  [pTooltip]=\"'common.delete' | translate\"\n                  class=\"p-button-link pr-0 no-underline text-danger \"\n                  icon=\"fa fa-trash fa-lg\"\n                  pButton\n                  tooltipPosition=\"top\"\n                  type=\"button\">\n          </button>\n        </td>\n      </tr>\n      <tr *ngIf=\"rowGroupMetadata[threat?.id]?.index === rowIndex && threat.questions.length == 0\" class=\"sticky bg-white text-center\">\n        <td class=\"text-center\" colspan=\"6\">{{'riskTemplates.threat.noQuestionsFound' | translate}}...</td>\n      </tr>\n      <tr *ngFor=\"let question of threat.questions\">\n        <td class=\"medium\">\n        </td>\n        <td class=\"medium\">\n        </td>\n        <td class=\"text-truncate font-semibold long\">\n          {{question?.name}}\n        </td>\n        <td class=\"text-center font-semibold medium\">\n          {{('assessment.question.type.' + question.type) | translate}}\n        </td>\n        <td class=\"text-center font-semibold medium\">\n          {{question.evenWeight ? ('assessment.question.evenWeight' | translate) : (question.weight | agilityPercent)}}\n        </td>\n        <td class=\"text-center font-semibold short\">\n        </td>\n      </tr>\n\n      <ng-template #noQuestions>\n        <tr>\n          <td colspan=\"6\">\n            <div>\n              <p>{{'riskTemplates.threat.noQuestionsFound' | translate}}</p>\n            </div>\n          </td>\n        </tr>\n      </ng-template>\n    </ng-template>\n\n    <ng-template pTemplate=\"emptymessage\">\n      <tr>\n        <td class=\"text-center\" colspan=\"6\">{{'common.noThreatsFound' | translate}}</td>\n      </tr>\n    </ng-template>\n  </p-table>\n</div>\n\n","styles":[":host-context(lib-risk-template-threats) .p-row-toggler{vertical-align:middle;margin-right:.25rem}:host-context(lib-risk-template-threats) .sticky{position:-webkit-sticky;position:sticky;top:0}@media screen and (max-width:64em){:host-context(lib-risk-template-threats) :host ::ng-deep .sticky{top:0}}:host-context(lib-risk-template-threats) button:focus{outline:none!important;box-shadow:none!important;background:none!important}:host-context(lib-risk-template-threats) ::ng-deep .p-datatable p-sorticon .p-sortable-column-icon{font-size:1.5rem!important}:host-context(lib-risk-template-threats) ::ng-deep .p-datatable p-sorticon:focus,:host-context(lib-risk-template-threats) ::ng-deep .p-datatable p-sorticon:hover{outline:none!important;box-shadow:none!important;background:none!important}:host-context(lib-risk-template-threats) button:hover{box-shadow:none!important;background:none!important}:host-context(lib-risk-template-threats) ::ng-deep .p-button.no-underline:hover .p-button-label{text-decoration:none}:host-context(lib-risk-template-threats) .p-button.p-button-outlined{color:var(--agility-blue);border-color:var(--agility-blue);background:#fff}:host-context(lib-risk-template-threats) .long{width:600px}:host-context(lib-risk-template-threats) .medium{width:150px!important}:host-context(lib-risk-template-threats) .short{width:100px!important}"]}]}],"members":{"riskTemplateId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":31,"character":37},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":33,"character":40},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":34,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":35,"character":38}]}],"ngOnInit":[{"__symbolic":"method"}],"getThreats":[{"__symbolic":"method"}],"deleteThreat":[{"__symbolic":"method"}],"updateRowGroupMetaData":[{"__symbolic":"method"}],"customSort":[{"__symbolic":"method"}],"sort":[{"__symbolic":"method"}],"addEditThreat":[{"__symbolic":"method"}],"goToThreatQuestions":[{"__symbolic":"method"}],"copyThreats":[{"__symbolic":"method"}]}},"RiskTemplateAccessComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-risk-template-access","template":"<div class=\"shadow-2 p-3 bg-white pt-2 rounded h-100 px-5\">\n  <div class=\"grid\">\n    <div class=\"col-12\">\n      <button\n        pButton\n        icon=\"fas fa-plus\"\n        routerLink=\"../risk-template-access-manager\"\n        [pTooltip]=\"'riskTemplates.manageAccess.addManager' | translate\"\n        tooltipPosition=\"top\"\n        class=\"p-button-outlined d-flex float-right\"\n        type=\"button\">\n      </button>\n    </div>\n  </div>\n  <p-table\n    [value]=\"accessList\"\n    sortField=\"numericValue\"\n    [scrollable]=\"true\"\n    [loading]=\"isLoading\"\n    [paginator]=\"true\"\n    [rows]=\"10\"\n    [resizableColumns]=\"true\">\n    <ng-template pTemplate=\"colgroup\">\n      <colgroup>\n        <col>\n        <col>\n        <col>\n      </colgroup>\n    </ng-template>\n\n    <ng-template let-columns pTemplate=\"header\">\n      <tr>\n        <th pResizableColumn class=\"text-truncate\">\n          {{'riskTemplates.manageAccess.manager' | translate}}\n        </th>\n        <th pResizableColumn class=\"text-truncate\">\n          {{'riskTemplates.manageAccess.riskTemplates' | translate}}\n        </th>\n        <th pResizableColumn class=\"text-truncate\">\n          {{'riskTemplates.manageAccess.affectedAreas' | translate}}\n        </th>\n        <th class=\"text-center w-8rem\"></th>\n      </tr>\n    </ng-template>\n    <ng-template let-manager pTemplate=\"body\">\n      <tr>\n        <td class=\"text-truncate\">\n          {{manager.owner.displayName}}\n        </td>\n\n        <td class=\"text-truncate\">\n          <span *ngIf=\"manager.allTemplates; else customTemplateList\" \n                class=\"text-truncate\">\n            {{'riskTemplates.manageAccess.allRiskTemplate' | translate}}\n          </span>\n\n          <ng-template #customTemplateList>\n            <ng-container *ngIf=\"manager.riskTemplates.length > 1; else singleRiskTemplate\">\n              <div class=\"flex align-items-center\">\n                <i class=\"rp2-icon-risk-template mr-1 inline-block h-1rem\"></i>\n                <button (click)=\"showListOfTemplates(manager)\"\n                        [label]=\"'riskTemplates.manageAccess.riskTemplates' | translate\"\n                        pButton\n                        type=\"button\"\n                        class=\"p-button-link p-0\">\n                </button>\n              </div>\n            </ng-container> \n          </ng-template>\n\n          <ng-template #singleRiskTemplate>\n            <span class=\"text-truncate\">\n              {{manager.riskTemplates[0]?.name}}\n            </span>\n          </ng-template>\n        </td>\n\n        <td class=\"text-truncate\">\n          <ng-container *ngIf=\"hasAffectedAreasAssociated(manager)\">\n            <div class=\"flex align-items-center\">\n              <i class=\"rp2-icon-risk-areas mr-1 inline-block h-1rem\"></i>\n              <button (click)=\"showListOfAffectedAreas(manager)\"\n                      [label]=\"'riskTemplates.manageAccess.affectedAreas' | translate\"\n                      pButton\n                      type=\"button\"\n                      class=\"p-button-link p-0\">\n              </button>\n            </div>\n          </ng-container>\n        </td>\n\n        <td class=\"w-8rem\">\n          <div class=\"text-center\">\n            <button\n              [pTooltip]=\"'common.edit' | translate\"\n              [routerLink]=\"'../risk-template-access-manager/' + manager.id\"\n              class=\"p-button-link pr-0 no-underline mr-2\"\n              icon=\"fa fa-pencil fa-lg\"\n              pButton\n              tooltipPosition=\"top\"></button>\n            <button\n              (click)=\"deleteManager(manager.id)\"\n              [pTooltip]=\"'common.delete' | translate\"\n              class=\"p-button-link pr-0 no-underline text-danger \"\n              icon=\"fa fa-trash fa-lg\"\n              pButton\n              tooltipPosition=\"top\" type=\"button\"\n            ></button>\n          </div>\n        </td>\n      </tr>\n    </ng-template>\n    <ng-template pTemplate=\"emptymessage\">\n      <tr>\n        <td colspan=\"4\" class=\"text-center\">\n          {{'riskTemplates.manageAccess.noTemplateAccessFound'| translate}}\n        </td>\n      </tr>\n    </ng-template>\n  </p-table>\n</div>\n","styles":[":host-context(lib-risk-template-access) button:focus{outline:none!important;box-shadow:none!important}:host-context(lib-risk-template-access) ::ng-deep .p-button.no-underline:hover .p-button-label{text-decoration:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":22,"character":27},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":24,"character":30},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getManagerAccessList":[{"__symbolic":"method"}],"deleteManager":[{"__symbolic":"method"}],"hasAffectedAreasAssociated":[{"__symbolic":"method"}],"showListOfTemplates":[{"__symbolic":"method"}],"showListOfAffectedAreas":[{"__symbolic":"method"}]}},"AccessManagerComponent":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵz"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"lib-access-manager","template":"<div class=\"grid\">\n  <div class=\"col-12\">\n    <div class=\"card shadow-3 border-round bg-white p-3 flex justify-content-between overflow-auto\">\n      <div class=\"card-container\">\n        <p-steps [(activeIndex)]=\"activeIndex\" [model]=\"steps\" [readonly]=\"false\"></p-steps>\n      </div>\n    </div>\n  </div>\n  <div class=\"col-12\">\n    <div class=\"grid\">\n      <div class=\"col-12\" *ngIf=\"activeIndex !== templateAccessStep.summary\">\n        <div class=\"card shadow-3 border-round bg-white p-3 flex justify-content-between\">\n          <lib-risk-filter\n            [filterTypes]=\"filtersForApp\"\n            (applyFilter)=\"applyFilters($event)\">\n          </lib-risk-filter>\n        </div>\n      </div>\n      <div class=\"col-12\">\n        <div class=\"card shadow-3 border-round bg-white p-3 flex justify-content-between\">\n          <div class=\"card-container px-3 pb-6\">\n            <lib-access-manager-content\n              *ngIf=\"templateAccess\"\n              [templateAccess]=\"templateAccess\"\n              [contentId]=\"activeIndex\"\n              [liveFilter]=\"emitFilters\"\n              [onStepChange]=\"onStepChange\"\n              (modelChange)=\"onModelChange()\"></lib-access-manager-content>\n            <div class=\"mt-5\">\n              <lib-access-manager-steps\n                [activeIndex]=\"activeIndex\" [totalSteps]=\"steps.length\" [isNextDisabled]=\"isNextDisabled\"\n                (previous)=\"previous()\" (next)=\"next()\" (cancel)=\"cancel()\" (done)=\"done()\"></lib-access-manager-steps>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-access-manager) ::ng-deep p-steps ul{display:flex;flex:100%;justify-content:space-between}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon:before{top:45px;border-top:1px solid grey}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon .p-menuitem-link:focus{box-shadow:none!important}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon .p-steps-title{width:125px;white-space:normal;text-align:center;color:var(--agility-blue)!important}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon .p-steps-number{text-indent:-99px;padding:.85em;width:55px!important;height:55px!important;background-color:#fff!important}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.grey .p-steps-title{color:grey!important}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.manager:before{width:50%;left:50%}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.manager .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/manager.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.manager.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/manager-grey.svg)!important;background-repeat:no-repeat}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.template .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/template.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.template.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/template-grey.svg)!important;background-repeat:no-repeat}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.department .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/department.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.department.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/department-grey.svg)!important;background-repeat:no-repeat}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.resource .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/resource.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.resource.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/resource-grey.svg)!important;background-repeat:no-repeat}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.site .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/site.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.site.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/site-grey.svg)!important;background-repeat:no-repeat}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.thirdParty .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/thirdParty.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.thirdParty.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/thirdParty-grey.svg)!important;background-repeat:no-repeat}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.summary:before{width:50%}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.summary .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/summary.svg)!important;background-repeat:no-repeat;cursor:pointer}:host-context(lib-access-manager) ::ng-deep p-steps ul li.icon.summary.grey .p-steps-number{background-image:url(https://cdn.preparisapp.com/images/risk/summary-grey.svg)!important;background-repeat:no-repeat}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":41,"character":37},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":42,"character":30},{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":45,"character":40},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskFilterService"}]}],"onModelChange":[{"__symbolic":"method"}],"applyFilters":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"getFilters":[{"__symbolic":"method"}],"clickStep":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"previous":[{"__symbolic":"method"}],"saveManagerAccess":[{"__symbolic":"method"}],"setAccess":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"done":[{"__symbolic":"method"}]}},"AccessManagerStepsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-access-manager-steps","template":"<div class=\"d-flex justify-content-center\">\n  <button (click)=\"cancel.emit()\" *ngIf=\"activeIndex < totalSteps - 1\" [label]=\"'common.cancel' | translate\" class=\"p-button-secondary p-button-outlined\"\n          icon=\"fa fa-times\" iconPos=\"left\" pButton type=\"button\">\n  </button>\n  <button (click)=\"previous.emit()\" *ngIf=\"activeIndex > 0 && activeIndex < 6\" [label]=\"'common.previous' | translate\"\n          class=\"p-button-secondary p-button-outlined ml-3\" icon=\"fa fa-step-backward\" iconPos=\"left\" pButton type=\"button\">\n  </button>\n  <button (click)=\"next.emit()\" *ngIf=\"activeIndex < totalSteps - 1\" [label]=\"'common.next' | translate\" [disabled]=\"isNextDisabled\"\n          class=\"p-button-secondary p-button-outlined ml-3\" icon=\"fa fa-step-forward\" iconPos=\"right\" pButton type=\"button\" [ngClass]=\"{'disabled': isNextDisabled}\">\n  </button>\n  <button (click)=\"done.emit()\" *ngIf=\"activeIndex === 6\" [label]=\"'common.done' | translate\" class=\"p-button-secondary p-button-outlined\"\n          pButton type=\"button\">\n  </button>\n</div>\n","styles":[":host-context(lib-access-manager-steps) button{width:120px}:host-context(lib-access-manager-steps) button ::ng-deep .p-button-icon{padding-top:2px}"]}]}],"members":{"activeIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"totalSteps":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"isNextDisabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"previous":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"next":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"cancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":14,"character":3}}]}],"done":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor"}],"ngOnInit":[{"__symbolic":"method"}]}},"UpsertThreatTypeModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-upsert-threat-type-modal","template":"<div class=\"grid\">\n  <div class=\"col-12\">\n    <div class=\"field my-3\">\n      <label for=\"threatNameInput\"\n             class=\"required-field\">\n             {{'threatTypes.threatName' | translate}}\n      </label>\n      <input id=\"threatNameInput\"\n             type=\"text\"\n             pInputText\n             class=\"inputfield w-full\"\n             [formControl]=\"threatTypeCtrl\"\n             [(ngModel)]=\"threatType.name\"\n             [maxlength]=\"maxNameLength\"\n             [ngClass]=\"{'is-invalid': !threatType.name && submitted}\"\n             required>\n      <lib-control-field-error-message \n        [control]=\"threatTypeCtrl\"\n        [controlName]=\"'threatTypes.threatName' | translate\">\n      </lib-control-field-error-message>\n    </div>\n  </div>\n\n  <div class=\"col-12 flex justify-content-end\">\n    <button type=\"button\" pButton class=\"p-button-outlined ml-3\" (click)=\"cancel()\" label=\"{{'common.close' | translate}}\"></button>\n    <button type=\"button\" pButton class=\"ml-3\" (click)=\"save()\" label=\"{{'common.save' | translate}}\"></button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":16,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":17,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}]}},"ConfirmationModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-confirmation-modal","template":"<div class=\"grid\">\n  <div class=\"col-12\" *ngIf=\"!isArray\">\n    <p [innerHTML]=\"body\"></p>\n  </div>\n  <div class=\"col-12\" *ngIf=\"isArray\">\n    <p *ngFor=\"let b of body\">{{b}}</p>\n  </div>\n\n  <div class=\"col-12 flex justify-content-end mt-3\">\n    <button type=\"button\" pButton class=\"p-button-outlined ml-3\" (click)=\"cancel()\">{{cancelText}}</button>\n    <button type=\"button\" pButton class=\"{{confirmBtnClass}} ml-3\" (click)=\"confirm()\">{{confirmText}}</button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":15,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":16,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"RiskAssessmentSurveyCustomFieldsModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-risk-assessment-survey-custom-fields-modal","template":"<div class=\"grid\">\n  <div class=\"col-12 mb-3 field\" *ngFor=\"let memberCustomValue of memberCustomValuesClone\">\n    <label for=\"{{memberCustomValue.field.name}}\">{{memberCustomValue.field.name}}</label>\n    <ng-container [ngSwitch]=\"memberCustomValue.type.toLowerCase()\">\n      <!--textBox-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.textBox.toLowerCase()\">\n        <textarea id=\"{{memberCustomValue.field.name}}\" class=\"w-full\" pInputTextarea [(ngModel)]=\"memberCustomValue.value\" [required]=\"getCustomField(memberCustomValue.field.id)?.required\"></textarea>\n      </div>\n\n      <!--text-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.text.toLowerCase()\">\n        <input id=\"{{memberCustomValue.field.name}}\" class=\"w-full\" pInputText type=\"text\" [(ngModel)]=\"memberCustomValue.value\" [required]=\"getCustomField(memberCustomValue.field.id)?.required\"/>\n      </div>\n\n      <!--NUMERIC-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.numeric.toLowerCase()\">\n        <input class=\"w-full\" id=\"{{memberCustomValue.field.name}}\" type=\"number\" [(ngModel)]=\"memberCustomValue.value\" pInputText [step]=\"getStep(memberCustomValue.field.id)\">\n      </div>\n\n      <!--DATE-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.date.toLowerCase()\">\n        <p-calendar inputId=\"{{memberCustomValue.field.name}}\" [(ngModel)]=\"memberCustomValue.value\" [showOnFocus]=\"false\" [showIcon]=\"true\"></p-calendar>\n      </div>\n\n      <!--ENC_TEXT-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.encryptedText.toLowerCase()\">\n        <input pInputText type=\"password\" [(ngModel)]=\"memberCustomValue.value\"/>\n      </div>\n\n      <!--PICKLIST-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.picklist.toLowerCase()\">\n        <p-dropdown [options]=\"getCustomField(memberCustomValue.field.id)?.choices\" [(ngModel)]=\"memberCustomValue.value\"  optionLabel=\"name\" optionValue=\"name\"></p-dropdown>\n      </div>\n\n      <!--RADIO-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.radio.toLowerCase()\">\n        <div class=\"p-field-radiobutton flex align-items-center\" *ngFor=\"let choice of getCustomField(memberCustomValue.field.id)?.choices\">\n          <p-radioButton name=\"{{choice.name}}\" value=\"{{choice.id}}\" [(ngModel)]=\"memberCustomValue.value\" inputId=\"{{choice.name}}\"></p-radioButton>\n          <label for=\"{{choice.name}}\">{{choice.name}}</label>\n        </div>\n      </div>\n\n      <!--MULTISELECT-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.multiselect.toLowerCase()\">\n        <p-multiSelect [options]=\"getCustomField(memberCustomValue.field.id)?.choices\" [(ngModel)]=\"memberCustomValue.value\" optionLabel=\"name\" optionValue=\"name\"></p-multiSelect>\n      </div>\n\n      <!--FORMULA-->\n      <div class=\"block\" *ngSwitchCase=\"customFieldConstants.formula.toLowerCase()\">\n       <p>{{getCustomField(memberCustomValue.field.id)?.formula}}</p>\n      </div>\n    </ng-container>\n\n    <!--CHECKBOX-->\n    <div class=\"block\" *ngIf=\"memberCustomValue.type.toLowerCase() === customFieldConstants.checkbox.toLowerCase() || memberCustomValue.type.toLowerCase() === customFieldConstants.chechbox.toLowerCase()\">\n      <div class=\"field-checkbox\">\n        <input type=\"checkbox\"\n               name=\"{{memberCustomValue.field.name}}\"\n               value=\"true\"\n               [checked]=\"memberCustomValue.value === true\"\n               (change)=\"memberCustomValue.value = true\">\n        <label class=\"mb-0\" for=\"{{memberCustomValue.field.name}}\">{{'common.yes' | translate}}</label>\n      </div>\n      <div class=\"field-checkbox\">\n        <input type=\"checkbox\"\n               name=\"{{memberCustomValue.field.name}}\"\n               value=\"false\"\n               [checked]=\"memberCustomValue.value === false\"\n               (change)=\"memberCustomValue.value = false\">\n        <label class=\"mb-0\" for=\"{{memberCustomValue.field.name}}\">{{'common.no' | translate}}</label>\n      </div>\n    </div>\n  </div>\n  <div class=\"col-12 flex justify-content-end mb-3\">\n    <button type=\"button\" (click)=\"close()\" pButton class=\"p-button-outlined\">{{'common.cancel' | translate }}</button>\n    <button type=\"button\" (click)=\"close(true)\" pButton class=\"ml-3\">{{'common.saveAndClose' | translate}}</button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":18,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":19,"character":42},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":20,"character":31}]}],"close":[{"__symbolic":"method"}],"getCustomField":[{"__symbolic":"method"}],"getStep":[{"__symbolic":"method"}]}},"RiskAssessmentSurveyDefinitionsModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-risk-assessment-survey-definitions-modal","template":"<div class=\"grid my-2\" *ngFor=\"let riskFactor of riskFactors\">\n  <div class=\"col-12 border-bottom-1 border-300 py-1 field\">\n    <label class=\"font-bold\">{{riskFactor.name}}</label>\n  </div>\n  <div class=\"col-12\">\n    <div class=\"grid\">\n      <div class=\"col-12 md:col-4 field\" *ngFor=\"let factor of riskFactor.ranks\">\n        <label class=\"mr-3\">{{factor.name}}:</label>\n        <p>{{factor.description}}</p>\n      </div>\n    </div>\n  </div>\n</div>\n<div class=\"flex justify-content-end my-3\">\n  <button pButton label=\"{{'assessment.survey.definitionsModal.close' | translate}}\" (click)=\"closeModal()\"></button>\n</div>\n","styles":[":host-context(lib-risk-assessment-survey-definitions-modal) div button{background:#005984;font-weight:500}:host-context(lib-risk-assessment-survey-definitions-modal) .msg-block{width:30%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":13,"character":39},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":15,"character":42}]}],"closeModal":[{"__symbolic":"method"}]}},"RiskAssessmentSurveyDetailsModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-risk-assessment-survey-details-modal","template":"<div class=\"grid\">\n  <div class=\"col-12\">\n    <div class=\"grid my-3\">\n      <div class=\"col-12 field mb-0\">\n        <label>{{'assessment.survey.riskBands' | translate}}</label>\n      </div>\n      <div class=\"col-12 md:col-3 flex align-items-center\" *ngFor=\"let riskBand of assessment.riskBands; let i = index;\">\n        <div class=\"mr-1 inline-block mr-2 riskBandBlock\" [style]=\"'background:'+riskBand.color\"></div>\n        <div class=\"inline-block\">{{getRiskBandRange(riskBand, i)}} {{riskBand.name}}</div>\n      </div>\n    </div>\n  </div>\n  <div class=\"col-12 md:col-3 field\" *ngFor=\"let riskFactorType of assessment.factors\">\n    <label class=\"border-bottom-1 border-300 w-full pb-1\">{{riskFactorType.name}}</label>\n    <ul class=\"p-0 list-none\">\n      <li class=\"my-3 flex align-items-center\"\n          *ngFor=\"let factor of riskFactorType.ranks\">\n        {{factor.numericValue + ' - ' + factor.name}}\n      </li>\n    </ul>\n  </div>\n  <div class=\"col-12 flex justify-content-end my-3\">\n    <button type=\"button\" (click)=\"close()\" pButton label=\"{{'common.close' | translate}}\"></button>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-assessment-survey-details-modal) .riskBandBlock{height:15px;width:15px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":13,"character":40},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":14,"character":43}]}],"close":[{"__symbolic":"method"}],"getRiskBandRange":[{"__symbolic":"method"}]}},"RiskDistributionThreatsModalComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-risk-distribution-threats-modal","template":"<div class=\"container\">\n  <p>{{'distribution.threatTypesModalTitle' | translate}}</p>\n  <p-table\n    #dt1\n    [value]=\"threats\"\n    [(selection)]=\"selectedThreats\"\n    dataKey=\"id\"\n    styleClass=\"p-datatable-responsive-demo\"\n    [rows]=\"10\"\n    [paginator]=\"true\"\n    [loading]=\"loading\"\n    [resizableColumns]=\"true\"\n    [scrollable]=\"true\"\n    selectionMode=\"multiple\">\n    <ng-template pTemplate=\"colgroup\">\n      <colgroup>\n        <col>\n        <col>\n      </colgroup>\n    </ng-template>\n\n    <ng-template pTemplate=\"header\">\n      <tr>\n        <th class=\"text-center w-3rem\"></th>\n        <th pResizableColumn \n            pSortableColumn=\"name\"\n            class=\"text-truncate\">\n          {{'common.threat' | translate}}\n          <p-sortIcon field=\"name\"></p-sortIcon>\n        </th>\n        <th pResizableColumn \n            pSortableColumn=\"threatType.name\">\n          {{'threatTypes.threatType' | translate}}\n          <p-sortIcon field=\"threatType.name\"></p-sortIcon>\n        </th>\n      </tr>\n      <tr>\n        <th class=\"text-center\">\n          <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\n        </th>\n        <th>\n          <input\n            pInputText\n            type=\"text\"\n            (input)=\"dt1.filter($any($event.target).value, 'name', 'contains')\"\n            [value]=\"$any(dt1.filters['name'])?.value\"\n            placeholder=\"{{'common.searchByName' | translate}}\"\n            class=\"p-column-filter\"\n          />\n        </th>\n        <th>\n          <input\n            pInputText\n            type=\"text\"\n            (input)=\"dt1.filter($any($event.target).value, 'threatType.name', 'contains')\"\n            [value]=\"$any(dt1.filters['threatType.name'])?.value\"\n            placeholder=\"{{'threatTypes.searchByThreatType' | translate}}\"\n            class=\"p-column-filter\"\n          />\n        </th>\n\n      </tr>\n    </ng-template>\n    <ng-template pTemplate=\"body\" let-threat >\n      <tr>\n        <td class=\"text-center w-3rem\">\n          <p-tableCheckbox  [value]=\"threat\"></p-tableCheckbox>\n        </td>\n        <td >\n          {{ threat.name }}\n        </td>\n        <td >\n          {{ threat.threatType?.name }}\n        </td>\n      </tr>\n    </ng-template>\n    <ng-template pTemplate=\"emptymessage\">\n      <tr>\n        <td class=\"text-center\" colspan=\"3\">{{'common.noThreatsFound' | translate}}</td>\n      </tr>\n    </ng-template>\n  </p-table>\n  <div class=\"grid my-3\">\n    <div class=\"col-12 flex justify-content-end\">\n      <button type=\"button\" \n        (click)=\"close()\" \n        pButton \n        class=\"p-button-outlined\" \n        label=\"{{'common.cancel' | translate}}\">\n      </button>\n      <button type=\"button\" \n        (click)=\"close(true)\" \n        pButton \n        label=\"{{'common.selectFilters' | translate}}\"\n        class=\"ml-3\">\n      </button>\n    </div>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":16,"character":16},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":17,"character":19}]}],"ngOnInit":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"AddRemoveRiskBandsComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-add-remove-risk-bands","template":"<div class=\"grid\">\n  <div class=\"col-12\">\n    <button (click)=\"createRiskBand()\"\n            pButton\n            icon=\"fas fa-plus\"\n            [pTooltip]=\"'addRemoveRiskBands.addRiskBand' | translate\"\n            tooltipPosition=\"top\"\n            class=\"p-button-outlined d-flex float-right\"\n            type=\"button\">\n    </button>\n  </div>\n</div>\n<div class=\"grid mt-3\">\n\n  <div class=\"col-12\">\n\n    <p-table\n      (onRowReorder)=\"onRiskBandReorder()\"\n      [columns]=\"cols\"\n      [reorderableColumns]=\"true\"\n      [scrollable]=\"true\"\n      [value]=\"riskBands\"\n      dataKey=\"id\"\n      editMode=\"row\"\n      responsiveLayout=\"scroll\">\n      <ng-template let-columns pTemplate=\"header\">\n        <tr pReorderableColumn>\n          <th style=\"width:3rem\"></th>\n          <th *ngFor=\"let col of columns\" style=\"width:10rem\">\n            <div *ngIf=\"col.field == 'name'; else align\" class=\"text-start\">\n              {{ col.header }}\n            </div>\n            <ng-template #align>\n              <div class=\"text-center\">\n                {{ col.header }}\n              </div>\n            </ng-template\n            >\n          </th>\n          <th class=\"text-center\" style=\"width: 8rem\">Delete</th>\n        </tr>\n      </ng-template>\n      <ng-template let-columns=\"columns\" let-editing=\"editing\" let-index=\"rowIndex\" let-rowData pTemplate=\"body\">\n        <tr [pEditableRow]=\"rowData\" [pReorderableRow]=\"index\">\n          <td style=\"width:3rem\">\n            <span class=\"pi pi-bars\" pReorderableRowHandle></span>\n          </td>\n\n          <td pEditableColumn style=\"width:10rem\">\n            <p-cellEditor>\n              <ng-template pTemplate=\"input\">\n                <input (blur)=\"editRiskBand(rowData)\" (keydown.enter)=\"editRiskBand(rowData)\" [(ngModel)]=\"rowData.name\" pInputText type=\"text\">\n              </ng-template>\n              <ng-template pTemplate=\"output\">\n                {{rowData.name}}\n              </ng-template>\n            </p-cellEditor>\n\n          </td>\n          <td pEditableColumn style=\"width:10rem;height: 76px;\">\n            <p-cellEditor class=\"flex justify-content-center\">\n              <ng-template pTemplate=\"input\">\n                <p-dropdown (onChange)=\"editRiskBand(rowData)\" [(ngModel)]=\"rowData.color\" [options]=\"colors\" [style]=\"{'width':'118px'}\" appendTo=\"body\">\n                  <ng-template pTemplate=\"selectedItem\">\n                      <div *ngIf=\"rowData.color;else default\" class=\"flex justify-content-center align-items-center \">\n                        <div\n                          [style]=\"'height:25px;width:70px;border-radius:15px;background:' +rowData.color\"\n                          class=\"px-2 shadow-3\"\n                        ></div>\n                    </div>\n                    <ng-template #default>\n                      <div class=\"flex justify-content-center align-items-center \">\n                        <div\n                          [style]=\"'height:25px;width:56px;border-radius:15px;background:white'\"\n                          class=\"px-2 shadow-3\"\n                        ></div>\n\n                      </div>\n                    </ng-template>\n                  </ng-template>\n                  <ng-template let-color pTemplate=\"item\" class=\"pl-0\">\n                    <div class=\"flex justify-content-center align-items-center\">\n                      <div\n                        [style]=\"'height:25px;width:56px;border-radius:15px;background:' + color\"\n                        class=\"px-2 shadow-3\"\n                      ></div>\n                    </div>\n                  </ng-template>\n                </p-dropdown>\n              </ng-template>\n              <ng-template pTemplate=\"output\">\n                <div class=\"flex justify-content-center align-items-center\">\n                  <div\n                    [style]=\"'margin-right: 18px !important;height:25px;width:56px;border-radius:15px;background:' + rowData.color\"\n                    class=\"px-2 shadow-3 mr-3\"\n                  ></div>\n                  <i class=\"pi pi-chevron-down ml-1\" style=\"font-size: 1rem\"></i>\n                </div>\n              </ng-template>\n            </p-cellEditor>\n          </td>\n\n          <td class=\"text-center\" style=\"width: 8rem\">\n            <button [disabled]=\"riskBands?.length <= 2\" (click)=\"deleteRiskBand(rowData.id)\" class=\"p-button-link pr-0 no-underline text-danger\" icon=\"fa fa-trash fa-lg\" pButton type=\"button\"></button>\n          </td>\n        </tr>\n      </ng-template>\n      <ng-template pTemplate=\"emptymessage\">\n        <tr>\n          <td class=\"text-center\" colspan=\"5\">{{'addRemoveRiskBands.noLabelsFound' | translate}}</td>\n        </tr>\n      </ng-template>\n    </p-table>\n  </div>\n</div>\n<div class=\"grid mt-4\">\n  <div class=\"col-12 text-right\">\n    <button (click)=\"close()\" [label]=\"'common.close' | translate \" class=\"mr-3 p-button-outlined\" pButton type=\"button\"></button>\n\n  </div>\n</div>\n\n","styles":[".round-shadow{box-shadow:1px 2px 11px 0 rgba(0,0,0,.34)!important}button:focus{outline:none!important;box-shadow:none!important}::ng-deep .p-datatable-scrollable-header-box{padding:0!important}::ng-deep.p-dropdown-item{padding-left:0!important}::ng-deep .p-button.no-underline:hover .p-button-label{text-decoration:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":30,"character":43},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":31,"character":40},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":32,"character":37},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":34,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"deleteRiskBand":[{"__symbolic":"method"}],"createRiskBand":[{"__symbolic":"method"}],"editRiskBand":[{"__symbolic":"method"}],"onRiskBandReorder":[{"__symbolic":"method"}],"refreshData":[{"__symbolic":"method"}],"savePositions":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"AddEditThreatComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"lib-add-edit-threat","template":"<div class=\"px-2\">\n  <form [formGroup]=\"threatForm\">\n    <div class=\"grid\">\n      <div class=\"col-12 sm:col-4 field\">\n        <label class=\"block mb-0 font-semibold\">\n          {{'threatTypes.threatType' | translate}}\n        </label>\n        <p-dropdown\n          [options]=\"threatTypes\"\n          formControlName=\"threatTypeId\"\n          optionLabel=\"name\"\n          optionValue=\"id\"\n          placeholder=\"Select a Threat Type\"\n          styleClass=\"w-100\"\n        >\n        </p-dropdown>\n      </div>\n      <div class=\"col-12 sm:col-4 sm:col-offset-1 field\">\n        <label class=\"block mb-0 font-semibold\">\n          {{'common.threat'| translate}}\n        </label>\n        <input class=\"w-100\" formControlName=\"name\" pInputText type=\"text\">\n      </div>\n      <div class=\"col-12 sm:col-3 flex align-items-center justify-content-end font-bold field\">\n        <label class=\"mr-3 mb-0\">{{ 'riskTemplates.addEditThreat.requiresPlan' | translate }}</label>\n         <input type=\"checkbox\" formControlName=\"isPlanRequired\"/>\n      </div>\n    </div>\n    <div class=\"grid\">\n      <div class=\"col-12 field\">\n        <label class=\"block mb-0 font-semibold\">\n          {{'common.description' | translate}}\n        </label>\n        <textarea\n          [placeholder]=\"'threatTypes.threatDescription' | translate\"\n          class=\"inputfield w-full\"\n          formControlName=\"description\"\n          pInputTextarea\n          rows=\"3\">\n            </textarea>\n      </div>\n    </div>\n    <div class=\"grid mt-3\">\n      <div class=\"col-12 text-right\">\n        <button (click)=\"close()\" [label]=\"'common.close' | translate \" class=\"mr-3 p-button-outlined\" pButton type=\"button\"></button>\n        <button (click)=\"saveThreat()\" [disabled]=\"threatForm.invalid\" [label]=\"'common.save' | translate\" pButton type=\"button\"></button>\n      </div>\n    </div>\n  </form>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":20,"character":43},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":21,"character":40},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":23,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"initializeForm":[{"__symbolic":"method"}],"saveThreat":[{"__symbolic":"method"}],"mapThreat":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"RiskBreadcrumbComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-risk-breadcrumb","template":"<p-breadcrumb [home]=\"home\" [model]=\"items\"></p-breadcrumb>\n","styles":[":host-context(lib-risk-breadcrumb) ::ng-deep p-breadcrumb .p-breadcrumb{background:transparent}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":18,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"setBreadCrumb":[{"__symbolic":"method"}]}},"SpinnerEvent":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"string"}]}]}},"riskFormulaEquation":[{"order":0,"label":"IMPACTFORMULA","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":null},{"order":1,"label":"*","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"PROBABILITYFORMULA","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":null}],"mockedData":{"currentLoggedInUser":{"id":"1","firstName":"Alfred","middleInitials":"","lastName":"Ramses","isNotifiable":true,"name":"Alfred Ramses","displayName":"Alfred Ramses","role":"USER"},"threatTypes":[{"id":"1","name":"Risk Template 01","numericValue":0,"threats":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"events":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"2","name":"Threat Type 02","numericValue":1,"threats":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"events":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"3","name":"Threat Type 03","numericValue":3,"threats":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"events":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"4","name":"Threat Type 04","numericValue":2,"threats":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"events":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Array"}},"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"}],"riskTemplates":[{"id":"1","name":"Risk Template 01","description":"Risk Template 01","threats":[{"id":"1","name":"threat 1","description":"","riskTemplate":{"id":"1","name":"Risk Template 01","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"threatType":{"id":"1","name":"Terrorism","numericValue":0,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"questions":[{"type":"YES_NO","evenWeight":false,"threatId":"1","weight":25,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":0,"isDefaultQuestion":true,"requireCommentForNA":false,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"id":"2","name":"do you have a bomb threat procedure 1 ?"},{"type":"YES_NO","evenWeight":false,"threatId":"1","weight":25,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":0,"isDefaultQuestion":true,"requireCommentForNA":false,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"id":"2","name":"do you have a bomb threat procedure 2?"}],"isPlanRequired":false,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"3","name":"threat 2","description":"","riskTemplate":{"id":"1","name":"Risk Template 01","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"threatType":{"id":"2","name":"Facilities","numericValue":0,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"questions":[{"type":"YES_NO","evenWeight":false,"threatId":"3","weight":25,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":0,"isDefaultQuestion":true,"requireCommentForNA":false,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"id":"3","name":"do you have a bomb threat procedure 3?"},{"type":"YES_NO","evenWeight":false,"threatId":"3","weight":25,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":0,"isDefaultQuestion":true,"requireCommentForNA":false,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"id":"2","name":"do you have a bomb threat procedure 4?"}],"isPlanRequired":false,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"4","name":"Threat 04","description":"","riskTemplate":{"id":"1","name":"Risk Template 01","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"threatType":{"id":"3","name":"1-Operational","numericValue":0,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"questions":[{"type":"YES_NO","evenWeight":false,"threatId":"4","weight":25,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":0,"isDefaultQuestion":true,"requireCommentForNA":false,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"id":"2","name":"do you have a bomb threat procedure 5?"},{"type":"YES_NO","evenWeight":false,"threatId":"4","weight":25,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":0,"isDefaultQuestion":true,"requireCommentForNA":false,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"id":"2","name":"do you have a bomb threat procedure 6?"}],"isPlanRequired":false,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"}],"targetEntityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"vendor"},"templateType":"OVER_ALL_RISK","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"2","name":"Risk Template 02","description":"Risk Template 02","threats":[{"id":"2","name":"Threat 02","description":"","riskTemplate":{"id":"2","name":"Risk Template 02","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"threatType":{"id":"1","name":"Threat Type 01","numericValue":0,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"questions":[],"isPlanRequired":false,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},{"id":"5","name":"Threat 05","description":"","riskTemplate":{"id":"2","name":"Risk Template 02","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"threatType":{"id":"2","name":"Threat Type 02","numericValue":0,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"questions":[],"isPlanRequired":false,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"}],"targetEntityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"},"templateType":"OVER_ALL_RISK","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"}],"assessmentTargets":[{"id":"1","name":"Piedmont","description":"","contacts":[{"id":"1","firstName":"Tony","middleInitials":"","lastName":"Starks","isNotifiable":true,"description":""},{"id":"2","firstName":"Mickey","middleInitials":"","lastName":"Mouse","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}},{"id":"2","name":"Basin","description":"","contacts":[{"id":"1","firstName":"Tony","middleInitials":"","lastName":"Starks","isNotifiable":true,"description":""},{"id":"2","firstName":"Mickey","middleInitials":"","lastName":"Mouse","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}},{"id":"1","name":"Acme","contacts":[{"id":"1","firstName":"Tony","middleInitials":"","lastName":"Starks","isNotifiable":true,"description":""},{"id":"2","firstName":"Mickey","middleInitials":"","lastName":"Mouse","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"vendor"}},{"id":"2","name":"Tyco","contacts":[{"id":"3","firstName":"Johnny","middleInitials":"","lastName":"Rockets","isNotifiable":true,"description":""},{"id":"4","firstName":"Donald","middleInitials":"","lastName":"Duck","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"vendor"}},{"id":"1","name":"Accounting","contacts":[{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true,"description":""},{"id":"6","firstName":"Marty","middleInitials":"","lastName":"McFly","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"department"}},{"id":"2","name":"Finance","contacts":[{"id":"7","firstName":"James","middleInitials":"","lastName":"Bond","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"department"}},{"id":"1","name":"Vacuuming","contacts":[{"id":"8","firstName":"Mister","middleInitials":"","lastName":"Clean","isNotifiable":true,"description":""}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"productAndService"}},{"id":"1","name":"Laptop","contacts":[{"id":"8","firstName":"Mister","middleInitials":"","lastName":"Clean","isNotifiable":true,"description":"","employeeId":"008"}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"resource"}}],"riskFormulas":[{"id":"1","name":"Default Formula","equation":{"__symbolic":"reference","name":"riskFormulaEquation"},"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"multiPart"},"rounding":false,"defaultFormula":true,"formulas":[{"id":"2","name":"","equation":[{"order":0,"label":"(","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"parenthesise"},"isEdit":false,"factorId":null},{"order":1,"label":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1},{"order":2,"label":")","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"parenthesise"},"isEdit":false,"factorId":null}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"impact"},"rounding":1,"defaultFormula":false},{"id":"3","name":"","equation":[{"order":0,"label":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":2}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"probability"},"rounding":false,"defaultFormula":false}],"entityType":null,"lastUpdatedBy":"Jhon Doe","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2021-12-21T18:39:23.727Z"]},"status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaStatus"},"member":"active"}},{"id":"2","name":"","equation":[{"order":0,"label":"2","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":null},{"order":1,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"impact"},"rounding":false,"defaultFormula":false},{"id":"3","name":"","equation":[{"order":0,"label":"2","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":null},{"order":1,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":2}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"probability"},"rounding":false,"defaultFormula":false},{"id":"4","name":"Simple Formula 01","equation":[{"order":0,"label":"5","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":null},{"order":1,"label":"*","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Magnitude","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":3}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"simple"},"rounding":false,"defaultFormula":false,"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"department"},"status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaStatus"},"member":"draft"}},{"id":"5","name":"Simple Formula 02","equation":[{"order":0,"label":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1},{"order":1,"label":"*","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":2},{"order":3,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":4,"label":"Magnitude","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":3}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"simple"},"rounding":false,"defaultFormula":false,"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"resource"},"lastUpdatedBy":"Jhon Doe","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2021-12-21T18:39:23.727Z"]},"status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaStatus"},"member":"active"}},{"id":"6","name":"Additional Advanced Formula","equation":{"__symbolic":"reference","name":"riskFormulaEquation"},"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"multiPart"},"rounding":false,"defaultFormula":false,"formulas":[{"id":"7","name":"","equation":[{"order":0,"label":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1},{"order":1,"label":"*","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Magnitude","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":3},{"order":3,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":4,"label":"1","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":null}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"impact"},"rounding":false,"defaultFormula":false},{"id":"8","name":"","equation":[{"order":0,"label":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1},{"order":1,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"2","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":null}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"probability"},"rounding":1,"defaultFormula":false}],"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"vendor"},"lastUpdatedBy":"BB. C","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2021-12-21T18:39:23.727Z"]},"status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaStatus"},"member":"draft"}},{"id":"7","name":"","equation":[{"order":0,"label":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1},{"order":1,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Magnitude","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":3},{"order":3,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":4,"label":"1","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":3}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"impact"},"rounding":false,"defaultFormula":false},{"id":"8","name":"","equation":[{"order":0,"label":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":2},{"order":1,"label":"+","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"2","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"number"},"isEdit":false,"factorId":null}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"probability"},"rounding":false,"defaultFormula":false},{"id":"9","name":"Earthquake Formula","equation":[{"order":0,"label":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":1},{"order":1,"label":"*","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":2,"label":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":2},{"order":3,"label":"*","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"operator"},"isEdit":false,"factorId":null},{"order":4,"label":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EquationPartTypes"},"member":"factor"},"isEdit":false,"factorId":5}],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"simple"},"rounding":1,"defaultFormula":false,"entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"},"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-1-16T18:39:23.727Z"]},"status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaStatus"},"member":"draft"},"factors":[{"id":"1","name":"Impact","description":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"impact"},"ranks":[{"id":"51","name":"Extremely Low","numericValue":1,"description":"Low"},{"id":"52","name":"Low","numericValue":2,"description":"Low"},{"id":"53","name":"Medium","numericValue":3,"description":"Medium"},{"id":"54","name":"High","numericValue":4,"description":"High"},{"id":"55","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"2","name":"Probability","description":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"61","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"62","name":"Low","numericValue":2,"description":"Low"},{"id":"63","name":"Medium","numericValue":3,"description":"Medium"},{"id":"64","name":"High","numericValue":4,"description":"High"},{"id":"65","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"3","name":"Awareness","description":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"71","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"72","name":"Low","numericValue":2,"description":"Low"},{"id":"73","name":"Medium","numericValue":3,"description":"Medium"},{"id":"74","name":"High","numericValue":4,"description":"High"},{"id":"75","name":"Extremely High","numericValue":5,"description":"Extremely High"}]}],"bands":[{"id":"1","name":"Low","color":"yellow","numericValue":1,"rounding":true},{"id":"2","name":"Medium","color":"orange","numericValue":2,"rounding":true},{"id":"3","name":"High","color":"red","numericValue":3,"rounding":true}]}],"assessments":[{"id":"1","name":"Site Survey on February 22, 2022","status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AssessmentStatus"},"member":"incomplete"},"percentInt":0,"createdDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-22T22:22:22.222Z"]},"dueDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-24T00:00:00.000Z"]},"comments":[{"id":"5","comments":"If I could only fill out one survey, this would be it.","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true,"description":""},"owner":{"id":"2","name":"Vendor Survey on February 23"},"deletedPersonnelRecord":null},{"id":"6","comments":"Check out the wheels on that 4x4!","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true,"description":""},"owner":{"id":"2","name":"Vendor Survey on February 23"},"deletedPersonnelRecord":null}],"parent":{"id":"1","name":"Piedmont","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}},"factors":[{"id":"1","name":"Impact","description":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"impact"},"ranks":[{"id":"51","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"52","name":"Low","numericValue":2,"description":"Low"},{"id":"53","name":"Medium","numericValue":3,"description":"Medium"},{"id":"54","name":"High","numericValue":4,"description":"High"},{"id":"55","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"2","name":"Probability","description":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"61","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"62","name":"Low","numericValue":2,"description":"Low"},{"id":"63","name":"Medium","numericValue":3,"description":"Medium"},{"id":"64","name":"High","numericValue":4,"description":"High"},{"id":"65","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"3","name":"Awareness","description":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"71","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"72","name":"Low","numericValue":2,"description":"Low"},{"id":"73","name":"Medium","numericValue":3,"description":"Medium"},{"id":"74","name":"High","numericValue":4,"description":"High"},{"id":"75","name":"Extremely High","numericValue":5,"description":"Extremely High"}]}],"riskBands":[{"id":"1","name":"Low","color":"yellow","numericValue":1,"rounding":true},{"id":"2","name":"Medium","color":"orange","numericValue":2,"rounding":true},{"id":"3","name":"High","color":"red","numericValue":3,"rounding":true}],"riskFormula":{"id":"9","name":"Earthquake Formula","equation":[],"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"simple"},"rounding":false,"defaultFormula":false,"formulas":[]}},{"id":"2","name":"Vendor Survey on February 23","status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AssessmentStatus"},"member":"incomplete"},"percentInt":0,"createdDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-23T22:22:22.222Z"]},"dueDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-26T00:00:00.000Z"]},"comments":[{"id":"3","comments":"This survey took a little bit more time","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true,"description":""},"owner":{"id":"2","name":"Vendor Survey on February 23"},"deletedPersonnelRecord":null},{"id":"4","comments":"But it was still really fun to do","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true,"description":""},"owner":{"id":"2","name":"Vendor Survey on February 23"},"deletedPersonnelRecord":null}],"parent":{"id":"1","name":"Acme","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"vendor"}},"factors":[{"id":"1","name":"Impact","description":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"impact"},"ranks":[{"id":"51","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"52","name":"Low","numericValue":2,"description":"Low"},{"id":"53","name":"Medium","numericValue":3,"description":"Medium"},{"id":"54","name":"High","numericValue":4,"description":"High"},{"id":"55","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"2","name":"Probability","description":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"61","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"62","name":"Low","numericValue":2,"description":"Low"},{"id":"63","name":"Medium","numericValue":3,"description":"Medium"},{"id":"64","name":"High","numericValue":4,"description":"High"},{"id":"65","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"3","name":"Awareness","description":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"71","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"72","name":"Low","numericValue":2,"description":"Low"},{"id":"73","name":"Medium","numericValue":3,"description":"Medium"},{"id":"74","name":"High","numericValue":4,"description":"High"},{"id":"75","name":"Extremely High","numericValue":5,"description":"Extremely High"}]}],"riskBands":[{"id":"1","name":"Low","color":"yellow","numericValue":1,"rounding":true},{"id":"2","name":"Medium","color":"orange","numericValue":2,"rounding":true},{"id":"3","name":"High","color":"red","numericValue":3,"rounding":true}],"riskFormula":{"id":"1","name":"Formula 01","equation":{"__symbolic":"reference","name":"riskFormulaEquation"},"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"multiPart"},"rounding":false,"defaultFormula":true,"formulas":[]}},{"id":"3","name":"Product and Service Survey on February 21","status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AssessmentStatus"},"member":"incomplete"},"percentInt":0,"createdDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-21T22:22:22.222Z"]},"dueDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-24T00:00:00.000Z"]},"comments":[{"id":"1","comments":"This survey was completed quickly","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true},"owner":{"id":"3","name":"Product and Service Survey on February 21"},"deletedPersonnelRecord":null},{"id":"2","comments":"For reals, it was done really quick","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true},"owner":{"id":"3","name":"Product and Service Survey on February 21"},"deletedPersonnelRecord":null}],"parent":{"id":"1","name":"Vacumming","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"productAndService"}},"factors":[{"id":"1","name":"Impact","description":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"impact"},"ranks":[{"id":"51","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"52","name":"Low","numericValue":2,"description":"Low"},{"id":"53","name":"Medium","numericValue":3,"description":"Medium"},{"id":"54","name":"High","numericValue":4,"description":"High"},{"id":"55","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"2","name":"Probability","description":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"61","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"62","name":"Low","numericValue":2,"description":"Low"},{"id":"63","name":"Medium","numericValue":3,"description":"Medium"},{"id":"64","name":"High","numericValue":4,"description":"High"},{"id":"65","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"3","name":"Awareness","description":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"71","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"72","name":"Low","numericValue":2,"description":"Low"},{"id":"73","name":"Medium","numericValue":3,"description":"Medium"},{"id":"74","name":"High","numericValue":4,"description":"High"},{"id":"75","name":"Extremely High","numericValue":5,"description":"Extremely High"}]}],"riskBands":[{"id":"1","name":"Low","color":"yellow","numericValue":1,"rounding":true},{"id":"2","name":"Medium","color":"orange","numericValue":2,"rounding":true},{"id":"3","name":"High","color":"red","numericValue":3,"rounding":true}],"riskFormula":{"id":"1","name":"Formula 01","equation":{"__symbolic":"reference","name":"riskFormulaEquation"},"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"multiPart"},"rounding":false,"defaultFormula":true,"formulas":[]}},{"id":"4","name":"Vendors on February 25","status":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"AssessmentStatus"},"member":"incomplete"},"percentInt":0,"createdDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-21T22:22:22.222Z"]},"dueDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-02-25T00:00:00.000Z"]},"comments":[{"id":"1","comments":"This survey was completed quickly","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true},"owner":{"id":"3","name":"Product and Service Survey on February 21"},"deletedPersonnelRecord":null},{"id":"2","comments":"For reals, it was done really quick","contact":{"id":"5","firstName":"Ralph","middleInitials":"","lastName":"Lauren","isNotifiable":true},"owner":{"id":"3","name":"Product and Service Survey on February 21"},"deletedPersonnelRecord":null}],"parent":{"id":"1","name":"Vacumming","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"productAndService"}},"factors":[{"id":"1","name":"Impact","description":"Impact","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"impact"},"ranks":[{"id":"51","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"52","name":"Low","numericValue":2,"description":"Low"},{"id":"53","name":"Medium","numericValue":3,"description":"Medium"},{"id":"54","name":"High","numericValue":4,"description":"High"},{"id":"55","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"2","name":"Probability","description":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"61","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"62","name":"Low","numericValue":2,"description":"Low"},{"id":"63","name":"Medium","numericValue":3,"description":"Medium"},{"id":"64","name":"High","numericValue":4,"description":"High"},{"id":"65","name":"Extremely High","numericValue":5,"description":"Extremely High"}]},{"id":"3","name":"Awareness","description":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"71","name":"Extermely Low","numericValue":1,"description":"Low"},{"id":"72","name":"Low","numericValue":2,"description":"Low"},{"id":"73","name":"Medium","numericValue":3,"description":"Medium"},{"id":"74","name":"High","numericValue":4,"description":"High"},{"id":"75","name":"Extremely High","numericValue":5,"description":"Extremely High"}]}],"riskBands":[{"id":"1","name":"Low","color":"yellow","numericValue":1,"rounding":true},{"id":"2","name":"Medium","color":"orange","numericValue":2,"rounding":true},{"id":"3","name":"High","color":"red","numericValue":3,"rounding":true}],"riskFormula":{"id":"1","name":"Formula 01","equation":{"__symbolic":"reference","name":"riskFormulaEquation"},"formulaType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFormulaType"},"member":"multiPart"},"rounding":false,"defaultFormula":true,"formulas":[]}}],"surveyDistributionRisks":[{"id":"1","name":"Earthquake","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"97","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"1","name":"Are your facilities near fault lines?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"2","name":"Are your buildings strapped to their foundations?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"3","name":"Are your standing shelves secured to the floor or wall?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"4","name":"Do your employees know where to turn of the gas and water supply?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"5","name":"Have you felt any earthquakes or tremors within the last five years?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"6","name":"What is the impact and probability of a 8.0 earthquake?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"impactProbability"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":{"id":"1","name":"Impact"},"factor":{"id":"54","name":"High"}},{"type":{"id":"2","name":"Probability"},"factor":{"id":"62","name":"Low"}},{"type":{"id":"3","name":"Awareness"},"factor":{"id":"73","name":"Medium"}}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]},{"isTemplate":false,"memberData":{"id":"98","member":{"id":"2","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"1","name":"Are your facilities near fault lines?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":null,"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":8,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"2","name":"Are your buildings strapped to their foundations?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"3","name":"Are your standing shelves secured to the floor or wall?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"4","name":"Do your employees know where to turn of the gas and water supply?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"5","name":"Have you felt any earthquakes or tremors within the last five years?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"6","name":"What is the impact and probability of a 8.0 earthquake?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"impactProbability"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":{"id":"1","name":"Impact"},"factor":{"id":"54","name":"High"}},{"type":{"id":"2","name":"Probability"},"factor":{"id":"61","name":"Low"}},{"type":{"id":"3","name":"Awareness"},"factor":{"id":"73","name":"Medium"}}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]},{"isTemplate":false,"memberData":{"id":"99","member":{"id":"3","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"1","name":"Are your facilities near fault lines?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"2","name":"Are your buildings strapped to their foundations?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"3","name":"Are your standing shelves secured to the floor or wall?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"4","name":"Do your employees know where to turn of the gas and water supply?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"5","name":"Have you felt any earthquakes or tremors within the last five years?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"6","name":"What is the impact and probability of a 8.0 earthquake?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"impactProbability"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":{"id":"1","name":"Impact"},"factor":{"id":"54","name":"High"}},{"type":{"id":"2","name":"Probability"},"factor":{"id":"61","name":"Low"}},{"type":{"id":"3","name":"Awareness"},"factor":{"id":"73","name":"Medium"}}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]},{"isTemplate":false,"memberData":{"id":"100","member":{"id":"4","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"1","name":"Are your facilities near fault lines?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"2","name":"Are your buildings strapped to their foundations?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"3","name":"Are your standing shelves secured to the floor or wall?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"4","name":"Do your employees know where to turn of the gas and water supply?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"5","name":"Have you felt any earthquakes or tremors within the last five years?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"6","name":"What is the impact and probability of a 8.0 earthquake?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"impactProbability"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":{"id":"1","name":"Impact"},"factor":{"id":"54","name":"High"}},{"type":{"id":"2","name":"Probability"},"factor":{"id":"61","name":"Low"}},{"type":{"id":"3","name":"Awareness"},"factor":{"id":"73","name":"Medium"}}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"2","name":"Flood","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"2","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"6","name":"Are your facilities in a 100-year flood plain?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"Lorem ipsum dolor sit amet, consectetur adipiscing elit.","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"7","name":"Do you have a supply of sand nearby to bag for barriers?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"8","name":"Are your data centers elevated from the ground by 1 foot?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"9","name":"Are your data centers elevated from the ground by 1 foot?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"10","name":"Do you have an offsite data center on the ready?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"3","name":"Fire","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"3","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"11","name":"Do you have a 30 foot buffer around your facility free from natural vegetation?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"12","name":"Do you have a fire hydrant located within 100 feet of your facility?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"13","name":"Do you have a fire sprinkler system installed throughout the office?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"4","name":"Bomb Threat","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"1","member":{"id":"4","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"14","name":"Do you allow visitors carry personal bags onto your premise?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"15","name":"Do you have trained service animals who can identify suspicous packages?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"16","name":"Do you have contact info on the ready for local government law enforcement agencies?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}},{"id":"17","name":"Do you have procedures for how to answer a call from an anonymous bomb threat?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"5","name":"Gas Leak","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"5","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"18","name":"Do you have a designated gathering spot away from the building?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"6","name":"Civic Unrest","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"6","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"19","name":"Do you have have armed security?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"7","name":"Power Outage","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"7","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"20","name":"Do you have a generator?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]},{"id":"8","name":"","assessmentId":"1","rank":1,"impact":1,"probability":1,"requiresPlan":true,"riskAssessmentMembersData":[{"isTemplate":false,"memberData":{"id":"8","member":{"id":"1","firstName":"","middleInitials":"","lastName":"","isNotifiable":true,"name":"","displayName":""},"deletedPersonnelRecord":null,"totalAnswered":"","riskCompleted":false},"memberAnswers":[{"id":"21","name":"Do you employee through temporary agencies?","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"questionAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"position":1,"requireCommentForNA":false,"rank":1,"impact":1,"probability":1,"impactWeight":1,"probabilityWeight":1,"factors":[{"type":null,"factor":null}],"skip":false,"comments":"","parent":{"id":"1","name":"","entityType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"EntityType"},"member":"site"}}}],"memberCustomValues":[]}]}],"riskFactors":[{"id":"1","name":"Impact","description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante.","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"impact"},"ranks":[{"id":"51","name":"Extremely Low","numericValue":1,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"52","name":"Low","numericValue":2,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"53","name":"Medium","numericValue":3,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"54","name":"High","numericValue":4,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"55","name":"Extremely High","numericValue":5,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."}]},{"id":"2","name":"Probability","description":"Probability","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"61","name":"Extremely Low","numericValue":1,"description":"Low"},{"id":"62","name":"Low","numericValue":2,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"63","name":"Medium","numericValue":3,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"64","name":"High","numericValue":4,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"65","name":"Extremely High","numericValue":5,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."}]},{"id":"3","name":"Awareness","description":"Awareness","type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"RiskFactorType"},"member":"probability"},"ranks":[{"id":"71","name":"Extremely Low","numericValue":1,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"72","name":"Low","numericValue":2,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"73","name":"Medium","numericValue":3,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"74","name":"High","numericValue":4,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."},{"id":"75","name":"Extremely High","numericValue":5,"description":"Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aliquam vitae bibendum augue. Aliquam fringilla, massa vitae feugiat imperdiet, ante lacus laoreet enim, a interdum mi arcu at elit. Suspendisse et sollicitudin massa, nec scelerisque ante."}]}],"threatQuestions":[{"id":"1","name":"Has your company ever experienced a bomb threat?","threatId":"1","weight":25,"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"evenWeight":false,"position":1,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"requireCommentForNA":false,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"yes"},"isDefaultQuestion":true},{"id":"2","name":"Do you have bomb threat procedures?","threatId":"1","weight":25,"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"evenWeight":false,"position":2,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"probability"},"requireCommentForNA":true,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"no"},"isDefaultQuestion":false},{"id":"3","name":"Are all employees aware of your bomb threat procedures?","threatId":"1","weight":25,"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"yesNo"},"evenWeight":false,"position":3,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"impact"},"requireCommentForNA":false,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"na"},"isDefaultQuestion":false},{"id":"4","name":"What is the impact and probability of bombings?","threatId":"1","weight":25,"type":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionType"},"member":"impactProbability"},"evenWeight":false,"position":4,"factorType":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionFactorType"},"member":"both"},"requireCommentForNA":false,"increasingAnswer":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"QuestionAnswer"},"member":"na"},"isDefaultQuestion":false}],"threat":{"id":"1","name":"threat 1","description":"","riskTemplate":{"id":"1","name":"Risk Template 01","lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"threatType":{"id":"1","name":"Terrorism","numericValue":0,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"},"questions":[],"isPlanRequired":false,"lastUpdateDate":{"__symbolic":"new","expression":{"__symbolic":"reference","name":"Date"},"arguments":["2022-01-31T19:52:43.511Z"]},"lastUpdatedBy":"Lastname, Firstname"}},"Answer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"Question"},"members":{}},"Assessment":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"AssessmentComment":{"__symbolic":"class","members":{}},"AssessmentDistribution":{"__symbolic":"class","members":{}},"AssessmentDistributionInfo":{"__symbolic":"class","members":{}},"AssessmentDistributionMemberData":{"__symbolic":"class","members":{}},"AssessmentDistributionRequest":{"__symbolic":"class","members":{}},"AssessmentDistributionRisk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"AssessmentDistributionSurvey":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"AssessmentFactorSelection":{"__symbolic":"class","members":{}},"AssessmentMemberAnswer":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"AssessmentMemberData":{"__symbolic":"class","members":{}},"AssessmentStatus":{"incomplete":"INCOMPLETE","current":"CURRENT","old":"OLD","complete":"COMPLETE"},"AssessmentSummary":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"AssessmentTarget":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"BaseEntity":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseModel"},"members":{}},"BaseModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"BaseResponse":{"__symbolic":"class","members":{}},"BrandingTerm":{"__symbolic":"class","members":{}},"Contact":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseModel"},"members":{}},"ContactDistributionType":{"business":"BUSINESS","personal":"PERSONAL"},"ContactMethod":{"address":"ADDRESS","email":"EMAIL","phone":"PHONE","pager":"PAGER","fax":"FAX","cellPhone":"CELL_PHONE","instantMessage":"INSTANT_MESSAGE","sms":"SMS","help":"HELP"},"ContactType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"CustomValue":{"__symbolic":"class","arity":1,"members":{}},"DistributionRequest":{"__symbolic":"class","members":{}},"EntityType":{"site":"SITE","department":"DEPARTMENT","resource":"RESOURCE","vendor":"VENDOR","productAndService":"PRODUCT_AND_SERVICE","user":"USER","role":"ROLE"},"FilterType":{"startsWith":0,"contains":1},"ListSortModel":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"PagedListModel":{"__symbolic":"class","members":{}},"NameEntityTypeFilter":{"__symbolic":"class","members":{}},"PageRequest":{"__symbolic":"class","arity":1,"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":29,"character":22,"context":{"typeName":"T"},"module":"./lib/models/page-request"}]}]}]}},"PageResponse":{"__symbolic":"class","arity":1,"members":{}},"Question":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"}]}]}},"QuestionAnswer":{"yes":"YES","no":"NO","na":"NA"},"QuestionFactorType":{"impact":"IMPACT","probability":"PROBABILITY","both":"BOTH"},"QuestionType":{"impactProbability":"IMPACT_PROBABILITY","yesNo":"YES_NO"},"Risk":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskBand":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskDetail":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"AnswerTemplate":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"EquationPartTypes":{"operator":"operator","factor":"factor","number":"number","parenthesise":"parenthesise"},"RiskFactor":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskFactorRank":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskFactorType":{"impact":0,"probability":1,"userDefined":2},"RiskFilterType":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"error","message":"Could not resolve type","line":8,"character":18,"context":{"typeName":"FilterTypes"},"module":"./lib/models/risk-filter-type"},{"__symbolic":"error","message":"Could not resolve type","line":8,"character":44,"context":{"typeName":"FilterControlTypes"},"module":"./lib/models/risk-filter-type"},{"__symbolic":"reference","name":"string"}]}]}},"FilterListItem":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"},{"__symbolic":"reference","name":"string"},{"__symbolic":"error","message":"Could not resolve type","line":21,"character":58,"context":{"typeName":"FilterTypes"},"module":"./lib/models/risk-filter-type"},{"__symbolic":"reference","name":"boolean"}]}]}},"SelectFilterOption":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"boolean"}]}]}},"FilterControlTypes":{"input":"INPUT","inputWithOptions":"INPUT_WITH_OPTIONS","multiselect":"MULTISELECT","date":"DATE"},"FilterTypes":{"none":0,"name":1,"lastName":2,"userDepartment":3,"departmentByName":4,"userLocation":5,"userRole":6,"locationByName":7,"userId":8,"employeeId":9,"email":10,"login":11,"userTitle":12,"userTeam":13,"category":14,"userStatus":15,"ansTypeUser":16,"ansTypeVendor":17,"userRPXMobile":18,"departmentId":19,"parentDepartment":20,"parentResource":21,"plan":22,"function":23,"resourceId":24,"siteType":25,"siteId":26,"siteRegion":27,"siteState":28,"siteCountry":29,"siteCity":30,"contractExpiresAfter":31,"contractExpiresBefore":32,"contractName":33,"contactName":34,"contactEmail":35,"uniqueId":36,"entityTypeArea":37,"userManagerRole":38,"resource":39,"firstName":40,"site":41,"relationship":42},"FilterSearchOptions":{"searchStartsWith":0,"searchContains":1},"RiskFormula":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskEquationPart":{"__symbolic":"class","members":{}},"RiskFormulaTestResult":{"__symbolic":"class","members":{}},"RiskFormulaFilter":{"__symbolic":"class","members":{}},"RiskFormulaStatus":{"draft":"DRAFT","active":"ACTIVE"},"RiskFormulaType":{"impact":"IMPACT","probability":"PROBABILITY","multiPart":"MULTI_PART","simple":"SIMPLE"},"RiskTemplate":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskTemplateFilter":{"__symbolic":"class","members":{}},"Sort":{"__symbolic":"class","members":{}},"StringFilter":{"__symbolic":"class","members":{}},"Threat":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"ThreatType":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"RiskTemplateTypes":{"overAllRisk":"OVER_ALL_RISK","impactAndProbability":"IMPACT_AND_PROBABILITY"},"TemplateAccess":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"GetRiskAssessmentSummaryResponse":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"BaseEntity"},"members":{}},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{},"statics":{"ɵprov":{}}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵa"}]}],"getTheme":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵc":{"__symbolic":"function"},"ɵd":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":9,"character":31}]}],"getTranslation":[{"__symbolic":"method"}],"mergeBrandingTerms":[{"__symbolic":"method"}],"updateBrandingTerm":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"button"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ElementRef","module":"@angular/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":9,"character":45,"context":{"typeName":"HTMLButtonElement"},"module":"./lib/directives/buttonUnFocusDirective.directive"}]}]}],"onClick":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":12,"character":3},"arguments":["click",["$event"]]}]}]}},"ɵf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-agility-risk-test","template":"<div class=\"p-2\">\n  <h4>{{'test.title' | translate}}</h4>\n  <button (click)=\"test()\" style=\"margin-top: 20px\">{{'common.notifyChanges' | translate}}</button>\n  <div *libPermission=\"[permissions.isSuperAdmin]\">Visible with super admin Permission</div>\n  <div *ngIf=\"hasAdminRole\">Visible with admin role</div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskPermissionService"},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":23,"character":44},{"__symbolic":"reference","name":"AgilityRiskEventService"}]}],"ngOnInit":[{"__symbolic":"method"}],"test":[{"__symbolic":"method"}]}},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-risk-assessment-member-answers-modal","template":"<h5 class=\"mb-3\">{{templateAssessmentMemberAnswer.name}}</h5>\n<ng-container *ngFor=\"let ramd of riskAssessmentMembersData\">\n  <ng-container *ngIf=\"!ramd.template && ramd.memberData.member.id !== surveyUserId\">\n    <ng-container *ngFor=\"let memberAnswer of ramd.memberAnswers\">\n      <p-card styleClass=\"mb-3\" *ngIf=\"memberAnswer.parent.id === templateAssessmentMemberAnswer.id\">\n        <div class=\"grid\">\n          <div class=\"col-12\">\n            <h6 class=\"mb-3\">{{ramd.memberData.member.displayName}}</h6>\n          </div>\n          <div class=\"col-12\">\n            <div class=\"grid\">\n              <div class=\"field col-12 mb-0\">\n                <label class=\"mb-0\">{{'common.answer' | translate}}</label>\n              </div>\n              <div class=\"col-12\" *ngIf=\"memberAnswer.type === questionType.yesNo\">\n                <p>{{memberAnswer.questionAnswer}}</p>\n              </div>\n              <div class=\"col-12 md:col-4\" *ngIf=\"memberAnswer.type === questionType.impactProbability\">\n                <div class=\"field\" *ngFor=\"let assessmentFactorSelection of memberAnswer.factors\">\n                  <label class=\"inline-flex mr-1\">{{assessmentFactorSelection.type.name}}:</label>\n                  <div class=\"inline-flex\">\n                    {{assessmentFactorSelection.factor?.numericValue}} - {{assessmentFactorSelection.factor?.name}}\n                  </div>\n                </div>\n              </div>\n            </div>\n          </div>\n        </div>\n        <div class=\"grid\">\n          <div class=\"col-12 field\">\n            <label>{{'common.comment' | translate}}</label>\n            <p class=\"mb-0\" [innerHTML]=\"memberAnswer.comments\"></p>\n          </div>\n        </div>\n      </p-card>\n    </ng-container>\n  </ng-container>\n</ng-container>\n\n<p class=\"flex justify-content-center my-5\" *ngIf=\"noMemberAnswers()\">{{'assessment.survey.noMemberAnswers' | translate}}</p>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":18,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":19,"character":42}]}],"close":[{"__symbolic":"method"}],"getFactorRankName":[{"__symbolic":"method"}],"noMemberAnswers":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":11,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor"}],"getOperator":[{"__symbolic":"method"}],"getParenthesise":[{"__symbolic":"method"}],"getDigit":[{"__symbolic":"method"}],"getRiskFormulaAsArray":[{"__symbolic":"method"}],"getMultipartFormulaAsArray":[{"__symbolic":"method"}],"getFormulaAsString":[{"__symbolic":"method"}],"isLeftParenthesise":[{"__symbolic":"method"}],"isRightParenthesise":[{"__symbolic":"method"}],"triggerRefreshFactors":[{"__symbolic":"method"}],"subscribeToRefreshFactor":[{"__symbolic":"method"}],"triggerFormulaChangedAndValid":[{"__symbolic":"method"}],"subscribeToFormulaChangedAndValid":[{"__symbolic":"method"}],"getFactorsUsedInFormula":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-risk-filter","template":"<div class=\"grid\">\n  <div class=\"col-12 md:col-3\" *ngFor=\"let filter of filtersArr; index as i\">\n    <lib-risk-filters\n      [filterType]=\"filtersArr[i]\"\n      (filterValueChanged)=\"onFilterValueChanged($event)\"\n      (hideFilter)=\"onHideFilter($event)\">\n    </lib-risk-filters>\n  </div>\n  <div class=\"col-12 md:col-3 flex align-items-center\"\n       [ngClass]=\"{ 'mb-1': filtersArr?.length > 4 }\"\n       *ngIf=\"filterTypes && filterTypes.length > 0\">\n    <p-dropdown id=\"filterSelector\"\n                class=\"relative\"\n                [options]=\"filterTypes\"\n                [placeholder]=\"'+' + ('common.addFilter' | translate)\"\n                [(ngModel)]=\"selectedFilter\"\n                (onChange)=\"onNewFilterSelected($event.value)\"\n                [optionLabel]=\"'label'\"\n                [optionValue]=\"'filterTypeId'\"\n                [style]=\"{'width': '100%', 'max-width':'100%', 'top': '5px'}\">\n    </p-dropdown>\n  </div>\n  <div class=\"col-12 md:col-3 flex align-items-center\" *ngIf=\"filtersArr && filtersArr.length > 0\">\n    <button\n      pButton\n      type=\"button\"\n      class=\"p-button-secondary p-button-outlined mt-2\"\n      [disabled]=\"disabled\"\n      (click)=\"onApplyFilter()\"\n      icon=\"fas fa-search\"\n      label=\"{{'common.search' | translate}}\"\n      iconPos=\"left\">\n    </button>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-filter) .flex ::ng-deep p-dropdown:first-child{flex:1}"]}]}],"members":{"filterTypes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"applyFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":64,"character":40}]}],"ngOnChanges":[{"__symbolic":"method"}],"onNewFilterSelected":[{"__symbolic":"method"}],"onHideFilter":[{"__symbolic":"method"}],"onFilterHidden":[{"__symbolic":"method"}],"sortFiltersDropdown":[{"__symbolic":"method"}],"onFilterValueChanged":[{"__symbolic":"method"}],"onApplyFilter":[{"__symbolic":"method"}]}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-risk-filters","template":"<ng-container *ngIf=\"filterType.controlType === filterControlTypes.input\">\n  <div class=\"noOptionsFilter\">\n    <label for=\"filterInput\" class=\"text-truncate\">{{filterType.label}}</label>\n    <div class=\"p-inputgroup\">\n      <input id=\"filterInput\"\n             type=\"text\"\n             pInputText\n             [(ngModel)]=\"filterValue\"\n             (ngModelChange)=\"onFilterChange()\">\n      <button pButton\n              type=\"button\"\n              id=\"deleteInputFilter\"\n              (click)=\"onHideFilter()\">\n        <i class=\"fa fa-trash\"></i>\n      </button>\n    </div>\n  </div>\n</ng-container>\n<ng-container *ngIf=\"filterType.controlType === filterControlTypes.inputWithOptions\">\n  <div>\n    <label for=\"filterInputWithOpt\" class=\"text-truncate\">{{filterType.label}}</label>\n    <div class=\"p-inputgroup\">\n      <input id=\"filterInputWithOpt\"\n             type=\"text\"\n             pInputText\n             [(ngModel)]=\"filterValue\"\n             (ngModelChange)=\"onFilterChange()\">\n      <button pButton\n              type=\"button\"\n              id=\"deleteInputFilterWithOpt\"\n              (click)=\"onHideFilter()\">\n        <i class=\"fa fa-trash\"></i>\n      </button>\n    </div>\n  </div>\n  <div>\n    <div class=\"d-inline-flex align-items-center mr-3\">\n      <p-radioButton type=\"radio\"\n                     class=\"mx-1\"\n                     id=\"radioStartsWith\"\n                     inputId=\"radioStartsWith\"\n                     name=\"searchOption\"\n                     [value]=filterSearchOptions.searchStartsWith\n                     [(ngModel)]=\"searchOption\"\n                     (onClick)=\"onFilterChange()\">\n      </p-radioButton>\n      <label class=\"m-0\" for=\"radioStartsWith\">{{ 'filter.startsWith' | translate}}</label>\n    </div>\n    <div class=\"d-inline-flex align-items-center mr-3\">\n      <p-radioButton type=\"radio\"\n                     class=\"mx-1\"\n                     id=\"radioContains\"\n                     inputId=\"radioContains\"\n                     name=\"searchOption\"\n                     [value]=filterSearchOptions.searchContains\n                     [(ngModel)]=\"searchOption\"\n                     (onClick)=\"onFilterChange()\">\n      </p-radioButton>\n      <label class=\"m-0\" for=\"radioContains\">{{ 'filter.contains' | translate}}</label>\n    </div>\n  </div>\n</ng-container>\n<ng-container *ngIf=\"filterType.controlType === filterControlTypes.multiselect\">\n  <div class=\"noOptionsFilter\">\n    <label for=\"filterMutiselect\" class=\"text-truncate\">{{filterType.label}}</label>\n    <div class=\"p-inputgroup\">\n      <p-multiSelect id=\"filterMutiselect\"\n                     [options]=\"selectOptions\"\n                     [(ngModel)]=\"filterValue\"\n                     optionLabel=\"name\"\n                     optionValue=\"id\"\n                     display=\"chip\"\n                     (onChange)=\"onFilterChange()\"\n                     [style]=\"{width: '100%'}\"\n                     [panelStyle]=\"{width: '100%', 'max-width': '100%'}\"\n                     [disabled]=\"filterType.id === filterTypes.userManagerRole\">\n      </p-multiSelect>\n      <button pButton\n              type=\"button\"\n              (click)=\"onHideFilter()\">\n        <i class=\"fa fa-trash\"></i>\n      </button>\n    </div>\n  </div>\n</ng-container>\n<ng-container *ngIf=\"filterType.controlType === filterControlTypes.date\">\n  <div class=\"noOptionsFilter\">\n    <label for=\"filterDate\" class=\"text-truncate\">{{filterType.label}}</label>\n    <div class=\"p-inputgroup\">\n      <p-calendar\n        id=\"filterDate\"\n        [showIcon]=\"true\"\n        [readonlyInput]=\"true\"\n        [selectOtherMonths]=\"true\"\n        [(ngModel)]=\"filterValue\"\n        (onSelect)=\"onFilterChange()\">\n      </p-calendar>\n      <button pButton\n              type=\"button\"\n              id=\"deleteDateFilter\"\n              (click)=\"onHideFilter()\">\n        <i class=\"fa fa-trash\"></i>\n      </button>\n    </div>\n  </div>\n</ng-container>\n","styles":[":host-context(lib-risk-filters) ::ng-deep p-multiSelect{width:100%}:host-context(lib-risk-filters) ::ng-deep p-multiSelect .p-multiselect-label-container{width:0}:host-context(lib-risk-filters) ::ng-deep p-calendar,:host-context(lib-risk-filters) ::ng-deep p-calendar span.p-calendar{width:100%}:host-context(lib-risk-filters) .noOptionsFilter{margin-bottom:28px}"]}]}],"members":{"filterType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"filterValueChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"hideFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"readOnly":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskFilterService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":24,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}],"processOption":[{"__symbolic":"method"}],"onFilterChange":[{"__symbolic":"method"}],"onHideFilter":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"lib-risk-band-slider","template":"<section class=\"mt-4\">\n  <div class=\"grid  mb-4 pr-2\">\n    <div class=\"col-12 border-bottom-1 border-300 border-light flex justify-content-between align-items-center pb-0\">\n      <h6 class=\"mb-0\">{{'assessment.survey.riskBands' | translate}}:</h6>\n      <button\n              [label]=\"'assessment.survey.editRiskBands' | translate\"\n              class=\"p-button-link no-underline\"\n              pButton\n              type=\"button\"\n              (click)=\"openRiskBandDialog()\"></button>\n    </div>\n  </div>\n  <div class=\"grid\">\n  \n    <div class=\" col-12\">\n      <div class=\"grid\">\n        <div class=\"col\" *ngFor=\"let band of showBands; let i = index\">\n          <div class=\"shadow-1 p-2 text-center border-round\">\n            <div class=\"inline-block m-1 flex align-items-center justify-content-between capitalize text-truncate\">\n              {{ band.name }}\n              <div [style]=\"'height:15px;width:15px;border-radius:15px;background:' + band.color\"\n                class=\"px-2 shadow-3 inline-block ml-1 mr-1\"></div>\n            </div>\n            <div *ngIf=\"i == 0; else isNotFirst\">\n              {{ minRange }}\n              -\n              {{ band.numericValue }}\n          </div>\n          <ng-template #isNotFirst>\n            <div *ngIf=\"showBands[i + 1] !== undefined; else last\">\n              {{ showBands[i - 1].numeric }}\n              -\n              {{ band.numericValue}}\n            </div>\n            <ng-template #last>\n              {{ showBands[i - 1].numeric}}\n                -\n                {{ showMaxRange }}\n              </ng-template>\n            </ng-template>\n          </div>\n        </div>\n      </div>\n  \n      <div class=\"relative mt-6\" >\n        <div class=\"slider-track layer-1 cursor-auto\"></div>\n        <input *ngFor=\"let band of copy;let i = index\"\n               type=\"range\"\n               min=\"0\"\n               [max]=\"maxRange\"\n               [id]=\"i\"\n               [(ngModel)]=\"band.numericValue\"\n               class=\"layer-1\"\n               #ref\n               (mouseup)=\"checkValidation()\"\n               (input)=\"fillColor(ref)\"/>\n        <div class=\"minMax\">\n          <div class=\"text-lg font-bold\">{{ minRange }}</div>\n          <div class=\"text-lg font-bold\">{{showMaxRange}}</div>\n        </div>\n      </div>\n    </div>\n  \n  \n  </div>  \n</section>","styles":[":host-context(lib-risk-band-slider) input[type=range]{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:100%;outline:none;position:absolute;margin:auto;top:0;bottom:0;background-color:transparent;pointer-events:none;margin-top:-2px!important}:host-context(lib-risk-band-slider) .slider-track{width:100%;height:9px;position:absolute;margin:0;top:10px;bottom:0;border-radius:5px;box-shadow:0 0 18px -3px rgba(0,0,0,.68)}:host-context(lib-risk-band-slider) input[type=range]::-webkit-slider-runnable-track{-webkit-appearance:none;height:5px}:host-context(lib-risk-band-slider) input[type=range]::-moz-range-track{-moz-appearance:none;height:5px}:host-context(lib-risk-band-slider) input[type=range]::-ms-track{appearance:none;height:5px}:host-context(lib-risk-band-slider) input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;height:1.7em;width:1.7em;background-color:#fff;cursor:pointer;margin-top:-9px;pointer-events:auto;border-radius:50%;box-shadow:0 0 8px -2px rgba(168,166,166,.68)}:host-context(lib-risk-band-slider) input[type=range]::-moz-range-thumb{-webkit-appearance:none;height:1.7em;width:1.7em;cursor:pointer;border-radius:50%;background-color:#3264fe;pointer-events:auto}:host-context(lib-risk-band-slider) input[type=range]::-ms-thumb{appearance:none;height:1.7em;width:1.7em;cursor:pointer;border-radius:50%;background-color:#3264fe;pointer-events:auto}:host-context(lib-risk-band-slider) input[type=range]:active::-webkit-slider-thumb{background-color:#fff;border:3px solid #3264fe}:host-context(lib-risk-band-slider) .values{background-color:#3264fe;width:32%;position:relative;margin:auto;padding:10px 0;border-radius:5px;text-align:center;font-weight:500;font-size:25px;color:#fff}:host-context(lib-risk-band-slider) .values:before{content:\"\";position:absolute;height:0;width:0;border-top:15px solid #3264fe;border-left:15px solid transparent;border-right:15px solid transparent;margin:auto;bottom:-14px;left:0;right:0}:host-context(lib-risk-band-slider) .minMax{display:flex;justify-content:space-between;height:inherit;align-items:flex-end;position:relative;top:25px}:host-context(lib-risk-band-slider) .layer-1{z-index:1}:host-context(lib-risk-band-slider) .widthBoundries{min-width:70px;max-width:70px}:host-context(lib-risk-band-slider) .addRemoveRiskBandButton{top:25px}:host-context(lib-risk-band-slider) button:focus{outline:none!important}:host-context(lib-risk-band-slider) button:focus,:host-context(lib-risk-band-slider) button:hover{box-shadow:none!important;background:none!important}"]}]}],"members":{"formulaId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"rounding":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":37,"character":27},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":38,"character":30},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"ɵh"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getRiskBands":[{"__symbolic":"method"}],"initializeSlider":[{"__symbolic":"method"}],"openRiskBandDialog":[{"__symbolic":"method"}],"fillColor":[{"__symbolic":"method"}],"updateColor":[{"__symbolic":"method"}],"changeRound":[{"__symbolic":"method"}],"checkPosition":[{"__symbolic":"method"}],"checkValidation":[{"__symbolic":"method"}],"validationMessage":[{"__symbolic":"method"}],"savePositions":[{"__symbolic":"method"}],"onFormulaChangedAndValid":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"lib-risk-formula-list","template":"<section class=\"col-12 px-0\" *ngIf=\"formulaList\">\n  <div class=\"grid align-items-center border-bottom-1 border-300 border-light mb-5 pt-2\">\n    <h1 class=\"font-medium text-4xl text-truncate md:text-left text-center\">\n      {{ 'formulaManagement.mainHeading' | translate }}\n    </h1>\n  </div>\n\n  <div class=\"col-12 px-0 flex justify-content-between\">\n    <h5>\n      {{ 'formulaManagement.subHeading' | translate }}\n    </h5>\n\n    <button (click)=\"onCreate()\"\n            [hidden]=\"addEditFormula\"\n            [attr.aria-hidden]=\"addEditFormula\"\n            pButton\n            icon=\"fas fa-plus\"\n            [pTooltip]=\"'formulaManagement.createFormula' | translate\"\n            tooltipPosition=\"top\"\n            class=\"p-button-outlined\"\n            type=\"button\">\n    </button>\n  </div>\n\n  <div class=\"col-12 px-0\">\n    <p-table\n      selectionMode=\"single\"\n      [columns]=\"formulaListCols\"\n      [value]=\"formulaList\"\n      [scrollable]=\"true\"\n      [resizableColumns]=\"true\"\n      [(selection)]=\"selectedFormula\"\n      (onRowSelect)=\"onFormulaSelected()\"\n      (onRowUnselect)=\"onFormulaUnselected()\">\n      <ng-template pTemplate=\"colgroup\">\n        <colgroup>\n          <col *ngFor=\"let col of formulaListCols\">\n        </colgroup>\n      </ng-template>\n\n      <ng-template pTemplate=\"header\" let-columns>\n        <tr>\n          <th *ngFor=\"let col of columns\" \n            pResizableColumn\n            class=\"text-truncate\">\n            {{ col.header | translate }}\n          </th>\n          <th style=\"width: 4.5rem;\">\n            {{ 'common.delete' | translate }}\n          </th>\n        </tr>\n      </ng-template>\n\n      <ng-template pTemplate=\"body\" let-formula let-columns=\"columns\">\n        <tr [pSelectableRow]=\"formula\">\n          <td *ngFor=\"let col of columns\" \n            class=\"text-truncate\">\n            <ng-container [ngSwitch]=\"col.field\">\n              <ng-container *ngSwitchCase=\"'targetType'\">\n                {{ formatTargetType(formula[col.field]) }}\n              </ng-container>\n\n              <ng-container *ngSwitchCase=\"'status'\">\n                {{ formatStatus(formula[col.field]) }}\n              </ng-container>\n\n              <ng-container *ngSwitchDefault>\n                {{ formula[col.field] }}\n              </ng-container>\n            </ng-container>\n          </td>\n\n          <td class=\"text-center\" style=\"width: 4.5rem;\">\n            <button *ngIf=\"!formula.defaultFormula; else defaultFormula;\"\n                    (click)=\"onDeleteFormula(formula)\"\n                    pButton\n                    icon=\"fas fa-trash\"\n                    [attr.aria-label]=\"'common.delete' | translate\"\n                    [pTooltip]=\"'common.delete' | translate\"\n                    type=\"button\"\n                    class=\"p-button-danger p-button-text\">\n            </button>\n\n            <ng-template #defaultFormula>\n              <div\n                [pTooltip]=\"'common.locked' | translate\"\n                tooltipPosition=\"top\"\n                class=\"padlock-wrapper\">\n                <i class=\"fas fa-lock-alt\"></i>\n              </div>\n            </ng-template>\n          </td>\n        </tr>\n      </ng-template>\n    </p-table>\n  </div>\n</section>","styles":[""]}]}],"members":{"selectedFormulaChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"formulaUnselected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":25,"character":3}}]}],"createFormula":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"addEditFormula":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"selectedFormula":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":35,"character":29},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":36,"character":27},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"AgilityRiskMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"fetchRiskFormulas":[{"__symbolic":"method"}],"formatTargetType":[{"__symbolic":"method"}],"formatStatus":[{"__symbolic":"method"}],"onCreate":[{"__symbolic":"method"}],"onFormulaSelected":[{"__symbolic":"method"}],"onFormulaUnselected":[{"__symbolic":"method"}],"onDeleteFormula":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","members":{}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":18,"character":32}]}],"formatDateTime":[{"__symbolic":"method"}],"formatDate":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵo":{"__symbolic":"function"},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-select-users","template":"<!-- Personnel And Third Party toggle -->\n<form class=\"flex mt-3 mb-4\">\n  <div class=\"formgroup-inline\">\n    <div class=\"field-radiobutton\">\n      <p-radioButton \n        [(ngModel)]=\"contactList\"\n        [value]=\"'PERSONNEL'\"\n        inputId=\"personnel\"\n        name=\"searchOption\"\n        (onClick)=\"loadPersonnelContactsList()\">\n      </p-radioButton>\n\n      <label for=\"personnel\">\n        {{ 'distribution.personnel' | translate }}\n      </label>\n    </div>\n\n    <div class=\"field-radiobutton\">\n      <p-radioButton \n        [(ngModel)]=\"contactList\"\n        [value]=\"'THIRD_PARTY'\"\n        inputId=\"third-party\"\n        name=\"searchOption\"\n        (onClick)=\"loadThirdPartyContactsList()\">\n      </p-radioButton>\n\n      <label for=\"third-party\">\n        {{ 'distribution.assessmentTypes.VENDOR' | translate }}\n      </label>\n    </div>\n  </div>\n</form>\n\n<lib-risk-filter\n  [filterTypes]=\"filtersForApp\"\n  [disabled]=\"isLoading\"\n  (applyFilter)=\"onApplyFilter($event)\">\n</lib-risk-filter>\n\n<hr/>\n\n<div class=\"grid my-3\">\n  <div class=\"col-12\">\n    <p-pickList [disabled]=\"isLoading\"\n                [source]=\"availableUsers\"\n                [target]=\"selectedUsers\"\n                [responsive]=\"true\" filterBy=\"name\"\n                sourceHeader=\"{{ 'filter.availableRecipients' | translate }}\"\n                targetHeader=\"{{'filter.selectedRecipients' | translate}}\"\n                [showSourceFilter]=\"true\"\n                [showTargetFilter]=\"false\"\n                [sourceStyle]=\"{'height':'300px'}\"\n                [targetStyle]=\"{'height':'356px'}\"\n                dragdrop=\"true\"\n                [showSourceControls]=\"false\"\n                [showTargetControls]=\"false\">\n      <ng-template let-optionItem pTemplate=\"item\">\n        \n        {{optionItem?.name}}\n      </ng-template>\n    </p-pickList>\n    <button type=\"button\"\n            [disabled]=\"isLoading\"\n            *ngIf=\"loadMoreEnabled\"\n            pButton\n            class=\"p-button-link\"\n            label=\"{{ 'selectUsersModal.loadMore' | translate }}\"\n            (click)=\"onLoadMore()\"></button>\n  </div>\n</div>\n<hr/>\n<div class=\"grid my-3\">\n  <div class=\"col-12 flex justify-content-end\">\n    <button type=\"button\"\n            pButton\n            class=\"p-button-outlined\"\n            (click)=\"onCancel()\"\n            label=\"{{ 'common.cancel' | translate }}\"></button>\n    <button type=\"button\"\n            pButton\n            [disabled]=\"isLoading\"\n            (click)=\"onSaveRecipients()\"\n            label=\"{{ 'filter.saveRecipients' | translate }}\"\n            class=\"ml-3\"></button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":34,"character":40},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":35,"character":43},{"__symbolic":"reference","name":"AgilityRiskFilterService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":37,"character":33},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":37,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"onApplyFilter":[{"__symbolic":"method"}],"resetPickListState":[{"__symbolic":"method"}],"loadPersonnelContactsList":[{"__symbolic":"method"}],"loadThirdPartyContactsList":[{"__symbolic":"method"}],"fetchAvailableUsers":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}],"onSaveRecipients":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}],"onLoadMore":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-spinner","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":9,"character":17},"member":"None"},"template":"<p-dialog [visible]=\"show\" [modal]=\"true\" [showHeader]=\"false\">\n  <div class=\"d-flex align-items-center\">\n    <p-progressSpinner strokeWidth=\"5\"></p-progressSpinner><span class=\"ms-2 ml-3\" *ngIf=\"message\">{{message}}</span>\n  </div>\n</p-dialog>\n","styles":["p-dialog .p-dialog-content{border-radius:10px;padding:1rem!important}p-progressSpinner .p-progress-spinner{width:50px;height:50px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"lib-risk-factors-modal","template":"<div class=\"mx-3\" *ngIf=\"!isEditing\">\n  <div class=\"flex justify-content-end\">\n    <button (click)=\"onCreateNewFactor()\"\n            pButton\n            icon=\"fas fa-plus\"\n            [pTooltip]=\"'formulaManagement.addFactor' | translate\"\n            tooltipPosition=\"top\"\n            class=\"p-button-outlined mb-2\"\n            type=\"button\">\n    </button>\n  </div>\n  <div class=\"grid\">\n    <div class=\"col-12\">\n      <p-table\n        [value]=\"riskFactors\"\n        styleClass=\"p-datatable-striped\">\n        <ng-template pTemplate=\"header\">\n          <!-- Header Row -->\n          <tr>\n            <th class=\"agility-col-80\">{{'common.name' | translate}}</th>\n            <th class=\"agility-col-40\">{{ 'formulaManagement.editFactorsModal.rank' | translate }}</th>\n            <th class=\"agility-col-250\">{{ 'common.description' | translate }}</th>\n            <th class=\"agility-col-30\">{{ 'common.edit' | translate }}</th>\n            <th class=\"agility-col-30\">{{ 'common.delete' | translate }}</th>\n          </tr>\n        </ng-template>\n\n        <ng-template pTemplate=\"body\" let-factor>\n          <tr>\n            <td>{{ factor.name }}</td>\n            <td>1 - {{ factor.ranks.length }}</td>\n            <td>{{ factor.description }}</td>\n            <td class=\"text-center\">\n              <button (click)=\"editFactor(factor.id)\"\n                      pButton\n                      icon=\"fas fa-pencil-alt\"\n                      [attr.aria-label]=\"'common.edit' | translate\"\n                      [pTooltip]=\"'common.edit' | translate\"\n                      type=\"button\"\n                      class=\"p-button-text\">\n              </button>\n            <td class=\"text-center\">\n              <button (click)=\"deleteFactor(factor.id)\"\n                      pButton\n                      *ngIf=\"factor.type === riskFactorType.userDefined\"\n                      icon=\"fas fa-trash\"\n                      [attr.aria-label]=\"'common.delete' | translate\"\n                      [pTooltip]=\"'common.delete' | translate\"\n                      type=\"button\"\n                      class=\"p-button-text p-button-danger\">\n              </button>\n            </td>\n          </tr>\n        </ng-template>\n      </p-table>\n    </div>\n  </div>\n  <hr/>\n  <div class=\"flex justify-content-end my-3\">\n    <button\n      pButton\n      type=\"button\"\n      class=\"mr-3 w-8rem p-button-outlined\"\n      id=\"closeEditFactorsModal\"\n      label=\"{{ 'common.close' | translate }}\"\n      (click)=\"onClose()\">\n    </button>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-factors-modal) ::ng-deep p-table .agility-col-40{width:4rem}:host-context(lib-risk-factors-modal) ::ng-deep p-table .agility-col-80{width:8rem}:host-context(lib-risk-factors-modal) ::ng-deep p-table .agility-col-30{width:3rem}:host-context(lib-risk-factors-modal) ::ng-deep p-table .agility-col-250{width:25rem}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":25,"character":40},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":26,"character":37},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":27,"character":30},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":28,"character":36},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getFactors":[{"__symbolic":"method"}],"editFactor":[{"__symbolic":"method"}],"deleteFactor":[{"__symbolic":"method"}],"onCreateNewFactor":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"lib-risk-factor-modal","template":"<div class=\"mx-3\">\n  <div class=\"row\">\n    <div class=\"col-12\">\n      <h6>{{'formulaManagement.editFactorModal.factorDetails' | translate}}</h6>\n    </div>\n  </div>\n  <div class=\"row\">\n    <div class=\"col-3 px-1\">\n      <label\n        for=\"factorName\"\n        class=\"my-0 required-field\">{{'common.name' | translate}}</label>\n      <input\n        type=\"text\"\n        pInputText\n        id=\"factorName\"\n        class=\"inputfield w-full\"\n        [(ngModel)]=\"factor.name\"\n        [formControl]=\"factorNameCtrl\"\n        required\n        [ngClass]=\"{'ng-invalid ng-dirty': !factor.name && submitted}\">\n\n      <lib-control-field-error-message\n        [control]=\"factorNameCtrl\"\n        [controlName]=\"'common.name' | translate\">\n      </lib-control-field-error-message>\n    </div>\n    <div class=\"col-9\">\n      <label\n        for=\"factorDescription\"\n        class=\"my-0\">{{'common.description' | translate}}</label>\n      <input\n        type=\"text\"\n        pInputText\n        id=\"factorDescription\"\n        class=\"inputfield w-full\"\n        [(ngModel)]=\"factor.description\"\n       >\n    </div>\n  </div>\n\n  <hr/>\n\n  <div class=\"row\">\n    <div class=\"col-6\">\n      <h6>{{ 'formulaManagement.editFactorModal.impactRank' | translate }}</h6>\n    </div>\n    <div class=\"col-6 flex justify-content-end\">\n      <button (click)=\"onAddRank()\"\n              pButton\n              icon=\"fas fa-plus\"\n              [pTooltip]=\"'formulaManagement.editFactorModal.addRank' | translate\"\n              tooltipPosition=\"top\"\n              class=\"p-button-outlined mb-2 mr-2\"\n              type=\"button\">\n      </button>\n    </div>\n  </div>\n  <div class=\"grid\">\n    <div class=\"col-12\">\n      <p-table (onRowReorder)=\"onRankReorder($event.dragIndex, $event.dropIndex)\"\n               styleClass=\"p-datatable-striped\"\n               [value]=\"factor.ranks\">\n        <ng-template pTemplate=\"header\">\n          <tr>\n            <th class=\"agility-col-30\"></th>\n            <th *ngFor=\"let col of columns\"\n                [class]=\"col.class\">\n              {{col.header}}\n            </th>\n          </tr>\n        </ng-template>\n        <ng-template let-index=\"rowIndex\" let-rank pTemplate=\"body\">\n          <tr [pReorderableRow]=\"index\">\n            <td>\n              <span class=\"pi pi-bars\" pReorderableRowHandle></span>\n            </td>\n            <td class=\"position-relative\">\n              <input\n                type=\"text\"\n                pInputText\n                class=\"w-full\"\n                required\n                [(ngModel)]=\"rank.name\"\n                [ngClass]=\"{'ng-invalid ng-dirty': !rank.name && submitted}\">\n            </td>\n            <td class=\"position-relative\">\n              <div class=\"text-truncate\">{{rank.numericValue}}</div>\n            </td>\n            <td class=\"position-relative\">\n              <input\n                type=\"text\"\n                pInputText\n                class=\"w-full\"\n                required\n                [(ngModel)]=\"rank.description\"\n                [ngClass]=\"{'ng-invalid ng-dirty': !rank.description && submitted}\">\n            </td>\n            <td class=\"position-relative\">\n              <button\n                pButton\n                type=\"button\"\n                class=\"p-button-text p-button-danger\"\n                id=\"buttonDeleteRank\"\n                icon=\"fas fa-trash\"\n                [pTooltip]=\"'formulaManagement.editFactorModal.deleteRank' | translate\"\n                tooltipPosition=\"top\"\n                [disabled]=\"!ranksAreDeletable\"\n                (click)=\"onDeleteRank(rank.id, index)\">\n              </button>\n            </td>\n          </tr>\n        </ng-template>\n      </p-table>\n    </div>\n  </div>\n\n  <div class=\"col-12 flex mt-5 justify-content-end\">\n    <button\n      pButton\n      type=\"button\"\n      id=\"buttonCancel\"\n      class=\"mr-3 w-8rem p-button-outlined\"\n      label=\"{{'common.cancel' | translate}}\"\n      (click)=\"onCancel()\">\n    </button>\n    <button\n      pButton\n      type=\"button\"\n      id=\"buttonSave\"\n      class=\"w-8rem\"\n      label=\"{{'common.save' | translate}}\"\n      (click)=\"onSave()\">\n    </button>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-factor-modal) ::ng-deep p-table .agility-col-30{width:3rem}:host-context(lib-risk-factor-modal) ::ng-deep p-table .agility-col-100{width:10rem}:host-context(lib-risk-factor-modal) ::ng-deep p-table .agility-col-50{width:5rem}:host-context(lib-risk-factor-modal) ::ng-deep p-table .agility-col-250{width:25rem}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":48,"character":40},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":49,"character":37},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":50,"character":30},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":51,"character":36},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"onRankReorder":[{"__symbolic":"method"}],"onAddRank":[{"__symbolic":"method"}],"onDeleteRank":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}],"onSave":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"lib-test-formula-modal","template":"<div class=\"grid mt-3\">\n  <div class=\"col-12\">\n    <h5>{{readonlyFormula}}</h5>\n  </div>\n</div>\n\n<hr/>\n\n<div class=\"grid\">\n  <ng-template #riskFactorSliders ngFor let-riskFactor [ngForOf]=\"riskFactors\" let-i=\"index\">\n    <div class=\"col-4 field\">\n      <label>\n        {{riskFactor.name}}:  {{riskFactor.numericValue}}\n      </label>\n      <p-slider\n        [(ngModel)]=\"riskFactor.numericValue\"\n        [min]=\"1\"\n        [step]=\"1\"\n        [max]=\"riskFactor.ranks.length\"\n        (onSlideEnd)=\"onTestFormula()\">\n      </p-slider>\n      <div class=\"grid mt-1\">\n        <div class=\"col-6 font-semibold\">\n          <span>\n            {{min}}\n          </span>\n        </div>\n        <div class=\"col-6 flex font-semibold justify-content-end\">\n          <span>\n            {{riskFactor.ranks.length}}\n          </span>\n        </div>\n      </div>\n    </div>\n  </ng-template>\n</div>\n\n<hr/>\n\n<div class=\"grid\">\n  <div class=\"col-12\">\n    <h6>{{ 'formulaManagement.testFormulaModal.testResult' | translate }}: {{ testResult }}</h6>\n  </div>\n</div>\n\n<div class=\"grid\">\n  <div class=\"col-12 my-3\">\n    <div class=\"shadow rounded-3 bg-white p-4\">\n      <p-chart\n        type=\"horizontalBar\"\n        [data]=\"threatsHorizontalChartData\"\n        [options]=\"threatsHorizontalChartOptions\"\n        height=\"20vh\">\n      </p-chart>\n    </div>\n  </div>\n</div>\n\n<hr/>\n\n<div class=\"grid\">\n  <div class=\"col-12 flex justify-content-end\">\n    <button\n      pButton\n      type=\"button\"\n      class=\"p-button-outlined w-8rem\"\n      label=\"{{'common.close' | translate}}\"\n      (click)=\"onClose()\">\n    </button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":40,"character":30},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":41,"character":36},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":42,"character":40},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"defineAnnotations":[{"__symbolic":"method"}],"onTestFormula":[{"__symbolic":"method"}],"onClose":[{"__symbolic":"method"}],"displayResult":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"lib-advanced-risk-formula-management","template":"<div class=\"mt-3\">\n  <h5>\n    {{'formulaManagement.editRiskFormulaAndBandsHeader' | translate}}\n  </h5>\n</div>\n\n<hr/>\n\n<div class=\"grid\" *ngIf=\"formulaUI\">\n  <div class=\"col-12 my-3\">\n    <p>{{'formulaManagement.advancedFormulaManagementInstructions' | translate}}</p>\n  </div>\n\n  <!--left panel-->\n  <div class=\"col-12 md:col-8 border-right-1 border-300\">\n    <div class=\"mb-3\">\n      <h6>{{'formulaManagement.riskFormula' | translate}}</h6>\n      <lib-risk-formula-builder\n        [formula]=\"riskFormula\"\n        [riskFactors]=\"riskFactors\"\n        [formulaType]=\"formulaUI.formulaType\"\n        (formulaChangedAndValid)=\"onFormulaChangedAndValid()\"\n        class=\"mb-3\">\n      </lib-risk-formula-builder>\n    </div>\n\n    <div *ngIf=\"impactFormula\" class=\"mb-3\">\n      <h6>{{'formulaManagement.impactFormula' | translate}}</h6>\n      <lib-risk-formula-builder\n        [formula]=\"impactFormula\"\n        [riskFactors]=\"riskFactors\"\n        [formulaType]=\"riskFormulaTypes.impact\"\n        (formulaChangedAndValid)=\"onFormulaChangedAndValid()\"\n        class=\"mb-3\">\n      </lib-risk-formula-builder>\n    </div>\n\n    <div *ngIf=\"probabilityFormula\" class=\"mb-3\">\n      <h6>{{'formulaManagement.probabilityFormula' | translate}}</h6>\n      <lib-risk-formula-builder\n        [formula]=\"probabilityFormula\"\n        [riskFactors]=\"riskFactors\"\n        [formulaType]=\"riskFormulaTypes.probability\"\n        (formulaChangedAndValid)=\"onFormulaChangedAndValid()\"\n        class=\"mb-3\">\n      </lib-risk-formula-builder>\n    </div>\n\n    <div class=\"flex justify-content-end my-3\">\n      <button\n        pButton\n        type=\"button\"\n        class=\"p-button-outlined\"\n        label=\"{{'formulaManagement.testFormulaButton' | translate}}\"\n        (click)=\"onTestFormula()\">\n      </button>\n    </div>\n  </div>\n\n  <!--right panel-->\n  <div class=\"col-12 md:col-4\">\n    <div class=\"flex justify-content-between align-items-center border-bottom-1 border-300 mb-3\">\n      <div>\n        <h6 class=\"inline-flex m-0\">{{'formulaManagement.factors' | translate}}:</h6>\n      </div>\n      <div>\n        <button\n          pButton\n          type=\"button\"\n          class=\"p-button-link\"\n          label=\"{{'formulaManagement.editFactors' | translate}}\"\n          (click)=\"onEditFactors()\"></button>\n      </div>\n    </div>\n\n    <!--factors-->\n    <div class=\"grid p-2 align-items-center\">\n      <p-chip\n        *ngFor=\"let rf of riskFactors; index as i\"\n        class=\"md:col ml-2 mb-2\"\n        label=\"{{rf.name}}\">\n      </p-chip>\n      <button (click)=\"onAddFactor()\"\n              pButton\n              icon=\"fas fa-plus\"\n              [pTooltip]=\"'formulaManagement.addFactor' | translate\"\n              tooltipPosition=\"top\"\n              class=\"p-button-outlined inline-flex addFactorButton ml-2 mb-2\"\n              type=\"button\">\n      </button>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-advanced-risk-formula-management) .addFactorButton{border-radius:16px;padding:0 .5rem;height:32px;width:100px}"]}]}],"members":{"inputs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":25,"character":3},"arguments":["input",{"read":{"__symbolic":"reference","module":"primeng/autocomplete","name":"AutoComplete","line":25,"character":32}}]}]}],"formula":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":44,"character":37},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":45,"character":40},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"initComponent":[{"__symbolic":"method"}],"setFactorsLabels":[{"__symbolic":"method"}],"onSimplify":[{"__symbolic":"method"}],"onEditFactors":[{"__symbolic":"method"}],"onAddFactor":[{"__symbolic":"method"}],"loadRiskFactors":[{"__symbolic":"method"}],"onTestFormula":[{"__symbolic":"method"}],"testFormula":[{"__symbolic":"method"}],"subscribeToReloadFactors":[{"__symbolic":"method"}],"startSpinner":[{"__symbolic":"method"}],"onFormulaChangedAndValid":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"agilityDatetime"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵn"}]}],"transform":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"agilityDate"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵn"}]}],"transform":[{"__symbolic":"method"}]}},"ɵx":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"lib-risk-formula-builder","template":"<div class=\"formulaBorder\"\n  [ngClass]=\"{'border-orange-500 border-2 shadow-2': !isFormulaValid}\">\n  <ng-template #riskFormulaEl ngFor let-formulaPart [ngForOf]=\"formula\" let-i=\"index\">\n    <div\n      style=\"float: left;\"\n      [pTooltip]=\"(formulaType === riskFormulaType.multiPart? '' : 'common.add') | translate\"\n      class=\"px-1 py-2\"\n      [ngClass]=\"{'addBackground': formulaType !== riskFormulaType.multiPart}\"\n      (click)=\"onPreElemClicked(i)\">\n    </div>\n    <div\n      style=\"float:left;\"\n      (click)=\"onElemClicked(i)\">\n      <p-chip\n        *ngIf=\"!formulaPart.isEdit\"\n        label=\"{{formulaPart.label}}\">\n      </p-chip>\n      <p-autoComplete\n        #input\n        *ngIf=\"formulaPart.isEdit\"\n        [(ngModel)]=\"formulaPart.label\"\n        [suggestions]=\"searchResults\"\n        (completeMethod)=\"search($event, i)\"\n        (keyup)=\"onKeyUp($event, i)\"\n        (keypress)=\"onKeyPress($event, i)\"\n        (onSelect)=\"onSelect(i)\"\n        (onBlur)=\"onACBlur(i)\"\n        [autofocus]=\"true\"\n        (onClear)=\"onClear(i)\">\n      </p-autoComplete>\n    </div>\n  </ng-template>\n  <div\n    style=\"float: left;\"\n    [pTooltip]=\"(formulaType === riskFormulaType.multiPart ? '' : 'common.add') | translate\"\n    class=\"px-1 py-2\"\n    [ngClass]=\"{'addBackground': formulaType !== riskFormulaType.multiPart}\"\n    (click)=\"onLastElemClicked()\">\n  </div>\n</div>\n","styles":[":host-context(lib-risk-formula-builder) .addBackground{background-color:#f4f0ec;cursor:cell;height:32px}:host-context(lib-risk-formula-builder) .formulaBorder{display:flex;align-items:center;border:1px solid #ced4da;padding:8px}:host-context(lib-risk-formula-builder) ::ng-deep p-autoComplete .p-autocomplete{width:auto!important}:host-context(lib-risk-formula-builder) ::ng-deep p-autoComplete input{background-color:#dee2e6;color:#495057;border-radius:16px;padding:0 .5rem;width:auto!important;height:32px}"]}]}],"members":{"formula":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"riskFactors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"formulaType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"formulaChangedAndValid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"inputs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":19,"character":3},"arguments":["input",{"read":{"__symbolic":"reference","module":"primeng/autocomplete","name":"AutoComplete","line":19,"character":32}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":31,"character":41},{"__symbolic":"reference","name":"ɵh"}]}],"ngOnInit":[{"__symbolic":"method"}],"onPreElemClicked":[{"__symbolic":"method"}],"onLastElemClicked":[{"__symbolic":"method"}],"onElemClicked":[{"__symbolic":"method"}],"editFormulaPart":[{"__symbolic":"method"}],"onKeyPress":[{"__symbolic":"method"}],"keyPressMultiPart":[{"__symbolic":"method"}],"keyPress":[{"__symbolic":"method"}],"onKeyUp":[{"__symbolic":"method"}],"processOperator":[{"__symbolic":"method"}],"processParenthesis":[{"__symbolic":"method"}],"processFactor":[{"__symbolic":"method"}],"isEquationPartOfFactorType":[{"__symbolic":"method"}],"isEquationPartOfOperatorType":[{"__symbolic":"method"}],"completeFactorProcessing":[{"__symbolic":"method"}],"getFactor":[{"__symbolic":"method"}],"setFormulaFactorsId":[{"__symbolic":"method"}],"sanitizeFormula":[{"__symbolic":"method"}],"search":[{"__symbolic":"method"}],"addFormulaPart":[{"__symbolic":"method"}],"startSetFocus":[{"__symbolic":"method"}],"setFocus":[{"__symbolic":"method"}],"onSelect":[{"__symbolic":"method"}],"onACBlur":[{"__symbolic":"method"}],"onBlurTimer":[{"__symbolic":"method"}],"onClear":[{"__symbolic":"method"}],"isEmptyFormulaInput":[{"__symbolic":"method"}],"evalFormula":[{"__symbolic":"method"}],"getEquationPartTestValue":[{"__symbolic":"method"}]}},"ɵy":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"ɵz"},"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"lib-risk-template-questions","template":"<div class=\"grid justify-content-center m-3\">\n  <div class=\"col-12 md:col-12 shadow-3 border-round bg-white p-3\">\n    <div class=\"col-12\">\n      <div class=\"grid header\">\n        <div class=\"col-6\">\n          <h2>{{'riskTemplateQuestions.questionManagement' | translate}}</h2>\n        </div>\n        <div class=\"col-6 flex align-items-center justify-content-end\">\n          <div class=\"field pr-3\">\n            <label class=\"mr-2\">{{'riskTemplates.templateType' | translate}}: </label>\n            <span>{{('riskTemplates.templateTypes.' + riskTemplate?.templateType) | translate}}</span>\n          </div>\n          <div class=\"field\">\n            <label>{{'riskTemplates.templateTargetType' | translate}}: </label>\n            <span>{{('riskTemplate.targetTypes.' + riskTemplate?.targetEntityType) | translate}}</span>\n          </div>\n        </div>\n        <div class=\"col-6 flex align-items-center\">\n          <div class=\"field pr-3\">\n            <label>{{'common.threat' | translate}}: </label>\n            <span>{{threat?.name}}</span>\n          </div>\n          <div class=\"field\">\n            <label>{{'threatTypes.threatType' | translate}}: </label>\n            <span>{{threat?.threatType.name}}</span>\n          </div>\n        </div>\n        <div class=\"col-6 flex align-items-center justify-content-end\">\n          <div class=\"mr-5 d-flex align-items-center\">\n            <label for=\"requiresPlanCheckbox\">{{'riskTemplateQuestions.evenWeight' | translate}}</label>\n            <p-checkbox [(ngModel)]=\"evenWeight\" [disabled]=\"hasConditionalLogic\" binary=\"true\" id=\"requiresPlanCheckbox\"></p-checkbox>\n          </div>\n          <button (click)=\"openUpsertQuestionModal()\"\n                  [pTooltip]=\"'riskTemplateQuestions.addQuestion' | translate\"\n                  class=\"p-button-outlined\"\n                  icon=\"fas fa-plus\"\n                  pButton\n                  tooltipPosition=\"top\"\n                  type=\"button\">\n          </button>\n        </div>\n      </div>\n    </div>\n\n    <div class=\"col-12\">\n      <p-table (onRowReorder)=\"onQuestionReorder($event.dragIndex, $event.dropIndex)\"\n               [columns]=\"columns\"\n               [reorderableColumns]=\"true\"\n               [value]=\"questions\"\n               sortField=\"numericValue\">\n        <ng-template let-columns pTemplate=\"header\">\n          <tr>\n            <th style=\"width:3rem\"></th>\n            <th *ngFor=\"let col of columns\" [width]=\"col.width || 'auto'\" pReorderableColumn>\n              {{col.header}}\n            </th>\n          </tr>\n        </ng-template>\n        <ng-template let-index=\"rowIndex\" let-question pTemplate=\"body\">\n          <tr [pReorderableRow]=\"index\">\n            <td>\n              <span class=\"pi pi-bars\" pReorderableRowHandle></span>\n            </td>\n            <td class=\"position-relative\">\n              <div class=\"text-truncate\">{{question.name}}</div>\n            </td>\n            <td class=\"position-relative\">\n              <div class=\"text-truncate\">{{('assessment.question.type.' + question.type) | translate}}</div>\n            </td>\n            <td class=\"position-relative\">\n              <div class=\"text-truncate\">{{('assessment.question.factorType.' + question.factorType) | translate}}</div>\n            </td>\n            <td class=\"position-relative\">\n              <div class=\"text-truncate\">{{question.evenWeight ? ('assessment.question.evenWeight' | translate) : question.weight + '%'}}</div>\n            </td>\n            <td class=\"position-relative\">\n              <div class=\"float-end buttonLinks\">\n                <button (click)=\"confirmRemoveConditionalLogicModal(question)\"\n                        *ngIf=\"question.type === questionType.yesNo && question.conditionalDependsUid\"\n                        class=\"p-button-secondary p-button-text\"\n                        icon=\"fas fa-rotate-90 fa-code-branch\"\n                        pButton\n                        pTooltip=\"{{'Remove Conditional Logic' | translate}}\"\n                        tooltipPosition=\"top\"\n                        type=\"button\"></button>\n                <button (click)=\"configureConditionalLogicModal(question)\"\n                        *ngIf=\"canConfigureLogic(question)\"\n                        class=\"p-button-text\"\n                        icon=\"fas fa-cog\"\n                        pButton\n                        pTooltip=\"{{'riskTemplateQuestions.configureLogic' | translate}}\"\n                        tooltipPosition=\"top\"\n                        type=\"button\"></button>\n                <button (click)=\"openUpsertQuestionModal(question)\"\n                        class=\"p-button-text\"\n                        icon=\"fas fa-pencil-alt\"\n                        pButton\n                        pTooltip=\"{{'common.edit' | translate}}\"\n                        tooltipPosition=\"top\"\n                        type=\"button\"></button>\n                <button (click)=\"confirmDeleteQuestion(question)\"\n                        class=\"p-button-danger p-button-text\"\n                        icon=\"fas fa-trash\"\n                        pButton\n                        pTooltip=\"{{'common.delete' | translate}}\"\n                        tooltipPosition=\"top\"\n                        type=\"button\"></button>\n              </div>\n            </td>\n          </tr>\n        </ng-template>\n      </p-table>\n    </div>\n    <div class=\"col-12 flex mt-5 justify-content-end\">\n      <button (click)=\"cancel()\" class=\"p-button-outlined p-button-secondary\" label=\"{{'common.back' | translate}}\" pButton icon=\"fas fa-angle-left\" iconPos=\"left\"></button>\n      <button (click)=\"save()\" [disabled]=\"!isValid\" class=\"ml-3 p-button-outlined p-button-success\" label=\"{{'common.save' | translate}}\" pButton icon=\"fas fa-save\" iconPos=\"left\"></button>\n    </div>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-template-questions) .buttonLinks{position:absolute;right:1rem;top:50%;transform:translateY(-50%)}:host-context(lib-risk-template-questions) .buttonLinks button{margin-left:.5rem}:host-context(lib-risk-template-questions) .grid .header label{margin-right:.5rem}:host-context(lib-risk-template-questions) .grid .header .field{margin:0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":57,"character":36},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":58,"character":37},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":59,"character":30},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":62,"character":40},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"isDependant":[{"__symbolic":"method"}],"canConfigureLogic":[{"__symbolic":"method"}],"canReorder":[{"__symbolic":"method"}],"checkTotalWeight":[{"__symbolic":"method"}],"configureConditionalLogicModal":[{"__symbolic":"method"}],"openUpsertQuestionModal":[{"__symbolic":"method"}],"removeConditionalLogic":[{"__symbolic":"method"}],"confirmRemoveConditionalLogicModal":[{"__symbolic":"method"}],"confirmDeleteQuestion":[{"__symbolic":"method"}],"onQuestionReorder":[{"__symbolic":"method"}],"reorderQuestions":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵz":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"template":""}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":10,"character":37}]}],"unloadNotification":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":20,"character":3},"arguments":["window:beforeunload",["$event"]]}]}],"ngOnDestroy":[{"__symbolic":"method"}]}},"ɵba":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":8,"character":1},"arguments":[{"selector":"lib-upsert-threat-question-modal","template":"<div class=\"grid m-3\">\n  <div class=\"col-4 field\">\n    <label class=\"mr-2\">{{'common.threat' | translate}}: </label>\n    <span>{{threat?.name}}</span>\n  </div>\n  <div class=\"col-4 field\">\n    <label class=\"mr-2\">{{'threatTypes.threatType' | translate}}: </label>\n    <span>{{threat?.threatType.name}}</span>\n  </div>\n  <div class=\"col-12 field mb-0 d-flex align-items-center\">\n    <label class=\"mr-3\">{{'riskTemplateQuestions.question' | translate}}: </label>\n    <input\n      pInputText\n      type=\"text\"\n      [(ngModel)]=\"question.name\"\n      class=\"inputfield w-full\">\n  </div>\n  <div class=\"col-12 field py-0 d-flex align-items-center justify-content-end\">\n    <label for=\"requireCommentCheckbox\" class=\"mr-2 mb-0\">{{'assessment.question.isRequireCommentForNA' | translate}}</label>\n    <p-checkbox id=\"requireCommentCheckbox\" [(ngModel)]=\"question.requireCommentForNA\" binary=\"true\"></p-checkbox>\n  </div>\n  <div class=\"col-4 field d-flex align-items-center\">\n    <label class=\"mr-2\">{{'common.weight' | translate}}: </label>\n    <p-inputNumber class=\"mr-5\" *ngIf=\"!question.evenWeight\"\n                   [(ngModel)]=\"question.weight\" suffix=\"%\" [inputStyle]=\"{width: '100px'}\"\n                   [min]=\"1\" [max]=\"100\" [step]=\"1\"></p-inputNumber>\n    <span class=\"mb-2\" *ngIf=\"question.evenWeight\">{{'assessment.question.evenWeight' | translate}}</span>\n  </div>\n  <div class=\"col-4 field d-flex align-items-center\">\n    <div [pTooltip]=\"!canChangeType ? ('assessment.question.disableQuestionType' | translate) : null\">\n      <label class=\"mr-2\">{{'common.type' | translate}}: </label>\n      <select class=\"form-control w-auto inline-block\"\n              [disabled]=\"!canChangeType\"\n              [(ngModel)]=\"question.type\"\n              (ngModelChange)=\"onQuestionTypeChanged()\">\n        <option [value]=\"questionType.yesNo\">\n          {{('assessment.question.typeOption.' + questionType.yesNo) | translate}}\n        </option>\n        <option [value]=\"questionType.impactProbability\">\n          {{('assessment.question.typeOption.' + questionType.impactProbability) | translate}}\n        </option>\n      </select>\n    </div>\n  </div>\n  <div class=\"col-12 grid\" *ngIf=\"question.type === questionType.yesNo\">\n    <div class=\"col-6 field d-flex align-items-center\" *ngIf=\"!isOverAllTemplate\">\n      <label class=\"mr-2\">{{'assessment.question.riskFactor' | translate}}</label>\n      <div class=\"field-radiobutton mb-0\">\n        <p-radioButton name=\"impact\" value=\"{{questionFactorType.impact}}\" [(ngModel)]=\"question.factorType\" id=\"impact\" inputId=\"impact\"></p-radioButton>\n        <label for=\"impact\" class=\"mr-3\">{{'common.impact' | translate}}</label>\n        <p-radioButton name=\"probability\" value=\"{{questionFactorType.probability}}\" [(ngModel)]=\"question.factorType\" id=\"probability\" inputId=\"probability\"></p-radioButton>\n        <label for=\"probability\">{{'common.probability' | translate}}</label>\n      </div>\n    </div>\n    <div class=\"col-6 field d-flex align-items-center\">\n      <label class=\"mr-2\">{{'assessment.question.increasingAnswer' | translate}}</label>\n      <select class=\"form-control w-auto inline-block\"\n              [(ngModel)]=\"question.increasingAnswer\">\n        <option [value]=\"questionAnswer.yes\">\n          {{'common.yes' | translate}}\n        </option>\n        <option [value]=\"questionAnswer.no\">\n          {{'common.no' | translate}}\n        </option>\n        <option [value]=\"questionAnswer.na\">\n          {{'common.na' | translate}}\n        </option>\n      </select>\n    </div>\n  </div>\n  <div class=\"col-12 flex justify-content-end\">\n    <button type=\"button\" pButton class=\"p-button-outlined ml-3\" (click)=\"cancel()\" label=\"{{'common.close' | translate}}\"></button>\n    <button type=\"button\" pButton class=\"ml-3\" (click)=\"save()\" [disabled]=\"!isValid\" label=\"{{'common.save' | translate}}\"></button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":45,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":46,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"onQuestionTypeChanged":[{"__symbolic":"method"}]}},"ɵbb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-configure-conditional-logic-modal","template":"<div class=\"grid m-3\">\n  <div class=\"col-12 conditionalLogicNote\">\n    <div>\n      <label>Note:</label>\n      <span>By enabling Conditional Logic even weighting will be enabled.</span>\n    </div>\n  </div>\n  <div class=\"col-12 field\">\n    <label class=\"mr-3\">{{'assessment.question.conditionalLogic.showQuestion' | translate}}</label>\n    <span>{{question.name}}</span>\n  </div>\n  <div class=\"col-12 field d-flex align-items-center\">\n    <label class=\"mr-3\">{{'assessment.question.conditionalLogic.whenQuestionIs' | translate}}</label>\n    <select class=\"form-control w-auto inline-block\"\n            [(ngModel)]=\"question.conditionalDependsUid\">\n      <option *ngFor=\"let question of questions\"\n              [value]=\"question.uid\">\n        {{question.name}}\n      </option>\n    </select>\n  </div>\n  <div class=\"col-12 field d-flex align-items-center\">\n    <label class=\"mr-2\">{{'assessment.question.conditionalLogic.answerIs' | translate}}</label>\n    <select class=\"form-control w-auto inline-block\"\n            [(ngModel)]=\"question.conditionalOn\">\n      <option [value]=\"questionAnswer.yes\">\n        {{'common.yes' | translate}}\n      </option>\n      <option [value]=\"questionAnswer.no\">\n        {{'common.no' | translate}}\n      </option>\n      <option [value]=\"questionAnswer.na\">\n        {{'common.na' | translate}}\n      </option>\n    </select>\n  </div>\n  <div class=\"col-12 flex justify-content-end\">\n    <button type=\"button\" pButton class=\"p-button-outlined ml-3\" (click)=\"cancel()\" label=\"{{'common.close' | translate}}\"></button>\n    <button type=\"button\" pButton class=\"ml-3\" (click)=\"save()\" [disabled]=\"!isValid\" label=\"{{'common.save' | translate}}\"></button>\n  </div>\n</div>\n","styles":[":host-context(lib-configure-conditional-logic-modal) .conditionalLogicNote{display:flex;justify-content:center!important;font-style:italic}:host-context(lib-configure-conditional-logic-modal) .conditionalLogicNote div{border:1px solid grey;border-radius:5px;background:var(--agility-light-blue);padding:10px 20px}:host-context(lib-configure-conditional-logic-modal) .conditionalLogicNote label{font-weight:700;padding-right:.5rem}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":20,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":21,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"ɵbc":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":2,"character":1},"arguments":[{"name":"agilityPercent"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"ɵbd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-risk-template-management","template":"<div>\n  <lib-risk-template-header\n    [templateId]=templateId\n    (savedTemplateId)=\"templateId = $event\">\n  </lib-risk-template-header>\n</div>\n<div *ngIf=\"templateId\">\n  <lib-risk-template-threats [riskTemplateId]=\"templateId\"></lib-risk-template-threats>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":12,"character":35}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-assessment-detail-additional-comments-modal","template":"<div class=\"field mb-3\" *ngFor=\"let ac of additionalComments\">\n  <label for=\"{{ac.contact.displayName}}\">{{ac.contact.displayName}}</label>\n  <textarea [disabled]=\"!canEdit\" pInputTextarea id=\"{{ac.contact.displayName}}\" rows=\"3\" class=\"w-full\" [(ngModel)]=\"ac.comments\"></textarea>\n</div>\n\n<p class=\"field mb-3 text-center font-italic\" *ngIf=\"!additionalComments || !additionalComments.length\" [innerHTML]=\"\"></p>\n\n<div class=\"col-12 flex justify-content-end mb-3\">\n  <button type=\"button\" (click)=\"cancel()\" pButton class=\"p-button-outlined\" label=\"{{(canEdit ? 'common.cancel' : 'common.close') | translate }}\"></button>\n  <button type=\"button\" *ngIf=\"canEdit\" (click)=\"save()\" pButton class=\"ml-3\" label=\"{{'common.saveAndClose' | translate}}\"></button>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":13,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":14,"character":42}]}],"ngOnInit":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"ɵbf":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"lib-risk-assessment-risk-member-answers-modal","template":"<div class=\"my-3\" *ngIf=\"loading\">\n  <p-skeleton styleClass=\"my-2\"></p-skeleton>\n  <p-skeleton styleClass=\"my-2\"></p-skeleton>\n  <p-skeleton styleClass=\"my-2\"></p-skeleton>\n</div>\n\n<div class=\"grid\" *ngIf=\"!loading\">\n  <div class=\"col-12\">\n    <p class=\"mt-3\" [innerHTML]=\"answerTemplate.name\"></p>\n  </div>\n\n  <div class=\"col-12 mb-3\">\n    <span class=\"font-bold\">{{'assessment.overallAnswer' | translate}}</span>: <span [innerHTML]=\"answerTemplate.answerRankAverage\"></span>\n  </div>\n\n  <ng-container *ngFor=\"let amd of assessmentMemberData; let assessmentMemberDataIndex = index;\">\n    <ng-container *ngFor=\"let memberAnswer of amd.memberAnswers\">\n      <div class=\"col-12 pb-3 mb-3 border-300 border-bottom-1\" *ngIf=\"memberAnswer.parent.id === answerTemplate.id\">\n        <div class=\"flex justify-content-between align-items-center mb-3\">\n          <div class=\"inline-flex font-semibold\">{{amd.memberData.member ? amd.memberData.member.displayName : amd.memberData.deletedPersonnelRecord.displayName}}:</div>\n          <div class=\"inline-flex\">\n            <div class=\"inline-flex border-right-1 border-300 font-semibold align-items-center pr-3\">{{'common.risk' | translate}}: {{memberAnswer.rank || ('common.na' | translate)}}</div>\n            <div class=\"inline-flex\">\n              <button pButton *ngIf=\"canEdit\"\n                      class=\"p-button-link\"\n                      icon=\"fas fa-pencil\"\n                      (click)=\"memberAnswer.isEditing = true\"\n                      [disabled]=\"memberAnswer.isEditing\"\n                      pTooltip=\"{{'common.edit' | translate}}\"></button>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"mb-3\" *ngIf=\"memberAnswer.type === questionType.yesNo\">\n          <!--NOTE: exception. using bootstrap form-control here. p-dropdown doesn't allow 1st empty option-->\n          <select class=\"form-control w-auto inline-block\"\n                  [(ngModel)]=\"memberAnswer.questionAnswer\"\n                  [disabled]=\"!memberAnswer.isEditing || !canEdit\">\n            <option value=\"\"></option>\n            <option *ngFor=\"let option of booleanSelectOptions\"\n                    [value]=\"option.value\">\n              {{option.label}}\n            </option>\n          </select>\n        </div>\n\n        <div class=\"grid\" *ngIf=\"memberAnswer.type === questionType.impactProbability\">\n          <div class=\"col-12 md:col-4 mb-5 field\" *ngFor=\"let assessmentFactorSelection of memberAnswer.factors\">\n            <label>\n              {{assessmentFactorSelection?.type?.name}}: {{assessmentFactorSelection?.factor?.numericValue}}\n            </label>\n            <p-slider [(ngModel)]=\"assessmentFactorSelection.factor.numericValue\"\n                      [min]=\"minimumRank\"\n                      [max]=\"getMax(assessmentFactorSelection)\"\n                      (onSlideEnd)=\"setFactorTypeId(assessmentFactorSelection)\"\n                      [disabled]=\"!memberAnswer.isEditing || !canEdit\"\n                      [step]=\"1\"></p-slider>\n            <div class=\"minMax flex justify-content-between mt-2 font-semibold\">\n              <div>{{minimumRank}}</div>\n              <div>{{getMax(assessmentFactorSelection)}}</div>\n            </div>\n          </div>\n        </div>\n\n        <div class=\"field\">\n          <label>{{'common.comment' | translate}}</label>\n          <p class=\"mb-0\" [innerHTML]=\"memberAnswer.comments\" *ngIf=\"!memberAnswer.isEditing\"></p>\n          <textarea pInputTextarea [(ngModel)]=\"memberAnswer.comments\" *ngIf=\"memberAnswer.isEditing\" class=\"w-full\"></textarea>\n        </div>\n\n        <div class=\"flex justify-content-end\" *ngIf=\"memberAnswer.isEditing && canEdit\">\n          <div class=\"inline-flex border-right-1 border-300 px-3\">\n            <button pButton type=\"button\" class=\"p-button-link\" (click)=\"cancelChanges(memberAnswer, assessmentMemberDataIndex)\" label=\"{{'common.cancel' | translate}}\"></button>\n          </div>\n          <div class=\"inline-flex\">\n            <button pButton type=\"button\" class=\"p-button-link\" (click)=\"saveChanges(memberAnswer)\" label=\"{{'common.saveChanges' | translate}}\"></button>\n          </div>\n        </div>\n      </div>\n    </ng-container>\n  </ng-container>\n\n  <div class=\"col-12 flex justify-content-end my-3\">\n    <button pButton class=\"p-button-outlined\" label=\"{{'common.close' | translate}}\" (click)=\"close()\"></button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":44,"character":40},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":45,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":46,"character":42},{"__symbolic":"reference","name":"AgilityRiskMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"getRiskAssessmentRiskAnswers":[{"__symbolic":"method"}],"cancelChanges":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"setFactorTypeId":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"getMax":[{"__symbolic":"method"}]}},"ɵbg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-risk-assessment-details-custom-fields-modal","template":"<div class=\"grid\">\n  <div class=\"col-12 md:col-6\">\n    <div *ngFor=\"let customField of customFields; let last = last;\" [ngClass]=\"{'border-bottom-1 border-300': !last}\">\n      <button type=\"button\"\n              pButton\n              class=\"p-button-link customFieldButton py-3 my-1\"\n              label=\"{{customField.name}}\"\n              (click)=\"setActiveCustomField(customField)\"\n              [ngClass]=\"{'active font-semibold': customField.id === activeCustomFieldId}\"></button>\n    </div>\n  </div>\n  <div class=\"col-12 md:col-6 mb-3 customFields\" *ngIf=\"activeCustomFieldId && !loading\">\n    <div class=\"field mb-3\" *ngFor=\"let amd of assessmentMemberData\">\n      <ng-container *ngIf=\"memberHasCustomValue(amd)\">\n        <label>{{amd.memberData.member.displayName}}</label>\n        <ng-container *ngFor=\"let memberCustomValue of amd.memberCustomValues\">\n          <div class=\"mb-3\" *ngIf=\"memberCustomValue.field.id === activeCustomFieldId\" [ngSwitch]=\"memberCustomValue.type.toLowerCase()\">\n            <!--textBox-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.textBox.toLowerCase()\">\n              <textarea id=\"{{memberCustomValue.field.name}}\" class=\"w-full\" pInputTextarea [(ngModel)]=\"memberCustomValue.value\"\n                        [disabled]=\"!canEdit\" [required]=\"getCustomField(memberCustomValue.field.id)?.required\"></textarea>\n            </div>\n\n            <!--text-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.text.toLowerCase()\">\n              <input id=\"{{memberCustomValue.field.name}}\" class=\"w-full\" pInputText type=\"text\" [(ngModel)]=\"memberCustomValue.value\"\n                     [disabled]=\"!canEdit\" [required]=\"getCustomField(memberCustomValue.field.id)?.required\"/>\n            </div>\n\n            <!--NUMERIC-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.numeric.toLowerCase()\">\n              <input class=\"w-full\" id=\"{{memberCustomValue.field.name}}\" type=\"number\" [disabled]=\"!canEdit\" [(ngModel)]=\"memberCustomValue.value\" pInputText [step]=\"getStep(memberCustomValue.field.id)\">\n            </div>\n\n            <!--DATE-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.date.toLowerCase()\">\n              <p-calendar inputId=\"{{memberCustomValue.field.name}}\" [disabled]=\"!canEdit\" [(ngModel)]=\"memberCustomValue.value\" [showOnFocus]=\"false\" [showIcon]=\"true\"></p-calendar>\n            </div>\n\n            <!--ENC_TEXT-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.encryptedText.toLowerCase()\">\n              <input pInputText type=\"password\" [disabled]=\"!canEdit\" [(ngModel)]=\"memberCustomValue.value\"/>\n            </div>\n\n            <!--PICKLIST-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.picklist.toLowerCase()\">\n              <p-dropdown [options]=\"getCustomField(memberCustomValue.field.id)?.choices\" [disabled]=\"!canEdit\" [(ngModel)]=\"memberCustomValue.value\" optionLabel=\"name\" optionValue=\"name\"></p-dropdown>\n            </div>\n\n            <!--RADIO-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.radio.toLowerCase()\">\n              <div class=\"p-field-radiobutton flex align-items-center\" *ngFor=\"let choice of getCustomField(memberCustomValue.field.id)?.choices\">\n                <p-radioButton name=\"{{choice.name}}\" value=\"{{choice.id}}\" [disabled]=\"!canEdit\" [(ngModel)]=\"memberCustomValue.value\" inputId=\"{{choice.name}}\"></p-radioButton>\n                <label for=\"{{choice.name}}\">{{choice.name}}</label>\n              </div>\n            </div>\n\n            <!--MULTISELECT-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.multiselect.toLowerCase()\">\n              <p-multiSelect [disabled]=\"!canEdit\" [options]=\"getCustomField(memberCustomValue.field.id)?.choices\" [(ngModel)]=\"memberCustomValue.value\" optionLabel=\"name\" optionValue=\"name\"></p-multiSelect>\n            </div>\n\n            <!--FORMULA-->\n            <div class=\"block\" *ngSwitchCase=\"customFieldConstants.formula.toLowerCase()\">\n              <p>{{getCustomField(memberCustomValue.field.id)?.formula}}</p>\n            </div>\n\n            <!--CHECKBOX-->\n            <div class=\"block\"\n                 *ngIf=\"memberCustomValue.type.toLowerCase() === customFieldConstants.checkbox.toLowerCase() || memberCustomValue.type.toLowerCase() === customFieldConstants.chechbox.toLowerCase()\">\n              <div class=\"field-checkbox\">\n                <input type=\"checkbox\"\n                       name=\"{{memberCustomValue.field.name}}\"\n                       value=\"true\"\n                       [disabled]=\"!canEdit\"\n                       [checked]=\"memberCustomValue.value === true\"\n                       (change)=\"memberCustomValue.value = true\">\n                <label class=\"mb-0\" for=\"{{memberCustomValue.field.name}}\">{{'common.yes' | translate}}</label>\n              </div>\n              <div class=\"field-checkbox\">\n                <input type=\"checkbox\"\n                       name=\"{{memberCustomValue.field.name}}\"\n                       value=\"false\"\n                       [disabled]=\"!canEdit\"\n                       [checked]=\"memberCustomValue.value === false\"\n                       (change)=\"memberCustomValue.value = false\">\n                <label class=\"mb-0\" for=\"{{memberCustomValue.field.name}}\">{{'common.no' | translate}}</label>\n              </div>\n            </div>\n          </div>\n        </ng-container>\n      </ng-container>\n    </div>\n\n    <div class=\"col-12 flex justify-content-end py-3 px-2 saveChangesContainer\" *ngIf=\"activeCustomFieldId && canEdit\">\n      <button type=\"button\" (click)=\"saveChanges()\" pButton label=\"{{'common.saveChanges' | translate }}\" [loading]=\"saving\"></button>\n    </div>\n  </div>\n\n  <div class=\"col-12 md:col-6 mb-3 customFields\" *ngIf=\"activeCustomFieldId && loading\">\n    <p-skeleton width=\"100%\" styleClass=\"my-4\"></p-skeleton>\n  </div>\n\n  <div class=\"col-12 flex justify-content-end border-top-1 border-300 pt-3\">\n    <button type=\"button\" (click)=\"close()\" pButton class=\"p-button-outlined\" label=\"{{'common.close' | translate }}\" [disabled]=\"saving\"></button>\n  </div>\n</div>\n","styles":[":host-context(lib-risk-assessment-risk-custom-fields-modal) .saveChangesContainer{position:absolute;bottom:0;width:100%;left:0}:host-context(lib-risk-assessment-risk-custom-fields-modal) .customFieldButton{width:100%;text-align:left}:host-context(lib-risk-assessment-risk-custom-fields-modal) .customFieldButton.active{background:#e1eaec}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":27,"character":39},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":28,"character":42},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":31,"character":39},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":32,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"getRiskAssessmentRiskCustomValues":[{"__symbolic":"method"}],"getCustomFields":[{"__symbolic":"method"}],"setActiveCustomField":[{"__symbolic":"method"}],"getCustomField":[{"__symbolic":"method"}],"getStep":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"saveChanges":[{"__symbolic":"method"}],"memberHasCustomValue":[{"__symbolic":"method"}]}},"ɵbh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"lib-copy-threats-from-template","template":"<div class=\"mx-3 mt-3\">\n  <div class=\"row\">\n    <div class=\"col\">\n      <h6 class=\"font-light\"><span class=\"font-semibold\">{{'riskTemplates.threatTemplate' | translate}}</span> - {{'riskTemplates.copyThreatsFromAnotherTemplateInstruction' | translate}}</h6>\n    </div>\n  </div>\n  <div class=\"row\">\n    <div class=\"col\">\n      <p-dropdown\n        styleClass=\"w-100\"\n        [scrollHeight]=\"selectedTemplateId ? '200px' : '100px'\"\n        placeholder=\"{{'riskTemplates.selectThreatTemplate' | translate}}\"\n        [options]=\"templatesList\"\n        [optionLabel]=\"'name'\"\n        [optionValue]=\"'id'\"\n        (onChange)=\"templateSelectionChanged()\"\n        [(ngModel)]=\"selectedTemplateId\">\n      </p-dropdown>\n    </div>\n  </div>\n  <div class=\"row\">\n    <div class=\"col mt-4\">\n      <p-table\n        [value]=\"threatsList\"\n        [(selection)]=\"selectedThreats\"\n        [scrollable]=\"true\"\n        scrollHeight=\"400px\">\n        <ng-template pTemplate=\"header\">\n          <!-- Header Row -->\n          <tr>\n            <th class=\"text-center\" style=\"width: 3rem\">\n              <p-tableHeaderCheckbox\n                #headerCheckbox\n                tooltipPosition=\"top\"\n                [pTooltip]=\"(!headerCheckbox.checked\n                  ? 'common.selectAll'\n                  : 'common.unselectAll') | translate\"\n                [ariaLabel]=\"(!headerCheckbox.checked\n                  ? 'common.selectAll'\n                  : 'common.unselectAll' ) | translate\">\n              </p-tableHeaderCheckbox>\n            </th>\n            <th [pSortableColumn]=\"'name'\">\n              {{ 'common.threat' | translate }}\n              <p-sortIcon [field]=\"'name'\"></p-sortIcon>\n            </th>\n            <th [pSortableColumn]=\"'threatType'\">\n              {{ 'threatTypes.threatType' | translate }}\n              <p-sortIcon [field]=\"'threatType'\"></p-sortIcon>\n            </th>\n          </tr>\n        </ng-template>\n\n        <ng-template pTemplate=\"body\" let-threat>\n          <tr>\n            <td class=\"text-center\" style=\"width: 3rem\">\n              <p-tableCheckbox [value]=\"threat\"></p-tableCheckbox>\n            </td>\n            <td>{{ threat.name }}</td>\n            <td>{{ threat.threatType?.name }}</td>\n          </tr>\n        </ng-template>\n      </p-table>\n    </div>\n  </div>\n  <div class=\"row\">\n    <div class=\"col-12 flex justify-content-end\">\n      <button (click)=\"onCancel()\"\n              pButton\n              [label]=\"'common.cancel' | translate\"\n              type=\"button\"\n              class=\"mr-3 w-8rem p-button-outlined\">\n      </button>\n      <button\n        type=\"button\"\n        pButton\n        (click)=\"onCopyThreats()\"\n        label=\"{{'common.save' | translate}}\"\n        class=\"w-8rem\">\n      </button>\n    </div>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":30,"character":37},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":31,"character":33},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":32,"character":36},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":34,"character":40},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskMessageService"}]}],"ngOnInit":[{"__symbolic":"method"}],"templateSelectionChanged":[{"__symbolic":"method"}],"loadTemplates":[{"__symbolic":"method"}],"loadThreats":[{"__symbolic":"method"}],"onCopyThreats":[{"__symbolic":"method"}],"copyThreat":[{"__symbolic":"method"}],"checkSourceAndDestinationTemplateTypes":[{"__symbolic":"method"}],"onCancel":[{"__symbolic":"method"}]}},"ɵbi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-risk-template-header","template":"<div *ngIf=\"template\" class=\"shadow-2 p-3 bg-white pt-2 rounded h-100 px-5\">\n  <div class=\"grid align-items-center border-bottom-1 border-300 border-light mb-5 pt-2 cursor-pointer\" (click)=\"expanded = !expanded\">\n    <div class=\"col-12 md:col-6 px-0 justify-content-between\">\n      <h1 class=\"font-medium text-4xl text-truncate md:text-left text-center\">\n        <button type=\"button\" pButton class=\"p-button-link\"><i class=\"fas\" [ngClass]=\"{'fa-caret-down': !expanded, 'fa-caret-up': expanded}\"></i></button>\n        {{'riskTemplates.riskTemplateDetail' | translate}}{{template?.name ? ' - ' : ''}}{{template?.name}}\n      </h1>\n    </div>\n  </div>\n  <ng-container *ngIf=\"expanded\">\n    <div class=\"flex row\">\n      <div class=\"field col-6\">\n        <label for=\"templateName required\">\n          {{'common.name' | translate}}\n        </label>\n        <input type=\"text\"\n               pInputText\n               id=\"templateName\"\n               class=\"w-full\"\n               [(ngModel)]=\"template.name\"\n               required\n               [ngClass]=\"{'ng-invalid ng-dirty': !template?.name && submitted}\">\n      </div>\n      <div *ngIf=\"template.id\" class=\"field col-3 pl-8\">\n        <label for=\"templateTypeLabel\">\n          {{'riskTemplates.templateType' | translate}}\n        </label>\n        <br/>\n        <div class=\"col\">\n        <span id=\"templateTypeLabel\">\n          {{ ('riskTemplates.templateTypes.' + template.templateType) | translate}}\n        </span>\n        </div>\n      </div>\n      <div *ngIf=\"!template.id\" class=\"field col-3\">\n        <label for=\"templateTypeSelect\">\n          {{'riskTemplates.templateType' | translate}}\n        </label>\n        <br/>\n        <p-dropdown\n          [style]=\"{ width: '100%' }\"\n          [options]=\"templateTypes\"\n          inputId=\"templateTypeSelect\"\n          [(ngModel)]=\"template.templateType\"\n          [optionLabel]=\"'label'\"\n          [optionValue]=\"'value'\"\n        ></p-dropdown>\n      </div>\n      <div class=\"field col-3\">\n        <label for=\"templateTargetTypeSelect\">\n          {{'riskTemplates.templateTargetType' | translate}}\n        </label>\n        <br/>\n        <p-dropdown\n          [style]=\"{ width: '100%' }\"\n          [options]=\"templateTargetTypes\"\n          inputId=\"templateTargetTypeSelect\"\n          [(ngModel)]=\"template.targetEntityType\"\n          [optionLabel]=\"'label'\"\n          [optionValue]=\"'value'\">\n        </p-dropdown>\n      </div>\n    </div>\n    <div class=\"row\">\n      <div class=\"field col-12\">\n        <label for=\"templateDescription\">\n          {{'common.description' | translate}}\n        </label>\n        <textarea\n          id=\"templateDescription\"\n          class=\"w-full\"\n          pInputTextarea\n          [(ngModel)]=\"template.description\"\n          [ngClass]=\"{'ng-invalid ng-dirty': !template?.description && submitted}\">\n      </textarea>\n      </div>\n    </div>\n    <div class=\"col-12 flex justify-content-end\">\n      <button\n        type=\"button\"\n        pButton\n        (click)=\"onSaveTemplateHeader()\"\n        label=\"{{'common.save' | translate}}\"\n        class=\"w-8rem\">\n      </button>\n    </div>\n  </ng-container>\n</div>\n","styles":[""]}]}],"members":{"templateId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"savedTemplateId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"ɵh"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":27,"character":40},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":30,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":31,"character":29},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":33,"character":37}]}],"ngOnInit":[{"__symbolic":"method"}],"setTargetTypes":[{"__symbolic":"method"}],"setTemplateTypes":[{"__symbolic":"method"}],"onSaveTemplateHeader":[{"__symbolic":"method"}],"isValid":[{"__symbolic":"method"}]}},"ɵbj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"lib-custom-fields-management","template":"<!--Add/Edit-->\n<div class=\"shadow p-3 mb-5 bg-white pt-2 mt-2 rounded h-100 mx-1 px-5\">\n  <div class=\"flex grid mt-2\">\n    <div class=\"field col-3\">\n      <label for=\"customFieldName\">\n        {{'customFields.name' | translate}}\n      </label>\n      <input type=\"text\"\n             pInputText\n             id=\"customFieldName\"\n             class=\"w-full\"\n             [(ngModel)]=\"customFieldSelected.name\"\n             required\n             [ngClass]=\"{'ng-invalid ng-dirty': submitted && !customFieldSelected?.name, '': !submitted }\">\n    </div>\n    <div class=\"field col-3\">\n      <label for=\"customFieldDataTypeSelect\">\n        {{'customFields.typeOfData' | translate}}\n      </label>\n      <br/>\n      <p-dropdown\n        [style]=\"{ width: '100%' }\"\n        [options]=\"customFieldDataTypes\"\n        inputId=\"customFieldDataTypeSelect\"\n        [(ngModel)]=\"customFieldSelected.type\"\n        [optionLabel]=\"'label'\"\n        [optionValue]=\"'value'\"\n      ></p-dropdown>\n    </div>\n    <div class=\"field col-2\">\n      <label for=\"customFieldPrivateCheckbox\">\n        {{'customFields.private' | translate}}\n      </label>\n      <br/>\n      <p-checkbox\n        id=\"customFieldPrivateCheckbox\"\n        [(ngModel)]=\"customFieldSelected.privateField\"\n        binary=\"true\">\n      </p-checkbox>\n    </div>\n    <div class=\"field col-2\">\n      <label for=\"customFieldHiddenCheckbox\">\n        {{'customFields.hidden' | translate}}\n      </label>\n      <br/>\n      <p-checkbox\n        id=\"customFieldHiddenCheckbox\"\n        [(ngModel)]=\"customFieldSelected.hidden\" binary=\"true\">\n      </p-checkbox>\n    </div>\n  </div>\n  <div class=\"flex grid\">\n    <div class=\"col-12 flex justify-content-center\">\n      <button\n        type=\"button\"\n        pButton\n        (click)=\"onSaveCustomField()\"\n        label=\"{{'common.save' | translate}}\"\n        icon=\"fas fa-save\"\n        iconPos=\"left\"\n        class=\"p-button-outlined p-button-success\">\n      </button>\n    </div>\n  </div>\n</div>\n<!--List-->\n<div class=\"shadow p-3 mb-5 bg-white pt-2 mt-2 rounded h-100 mx-1 px-5 \">\n  <div class=\"flex grid\">\n    <div class=\"col mt-4\">\n      <p-table\n        (onRowReorder)=\"onCustomFieldsReorder($event.dragIndex, $event.dropIndex)\"\n        styleClass=\"p-datatable-striped p-datatable-sm\"\n        [value]=\"customFieldsList\"\n        [scrollable]=\"true\"\n        scrollHeight=\"600px\">\n        <ng-template pTemplate=\"header\">\n          <!-- Header Row -->\n          <tr>\n            <th class=\"agility-col-5\"></th>\n            <th class=\"agility-col-40\" [pSortableColumn]=\"'name'\">\n              {{ 'customFields.customField' | translate }}\n              <p-sortIcon [field]=\"'name'\"></p-sortIcon>\n            </th>\n            <th class=\"agility-col-45\" [pSortableColumn]=\"'type'\">\n              {{ 'customFields.typeOfData' | translate }}\n              <p-sortIcon [field]=\"'type'\"></p-sortIcon>\n            </th>\n            <th class=\"agility-col-10\"></th>\n          </tr>\n        </ng-template>\n\n        <ng-template pTemplate=\"body\" let-index=\"rowIndex\"  let-customField>\n          <tr [pReorderableRow]=\"index\">\n            <td class=\"agility-col-5\">\n              <i class=\"fa fa-arrows\" pReorderableRowHandle></i>\n            </td>\n            <td class=\"agility-col-40\">{{ customField.name }}</td>\n            <td class=\"agility-col-45\">{{ customField.typeDisplay }}</td>\n            <td class=\"agility-col-10 text-right\">\n              <button (click)=\"editCustomField(customField)\"\n                      pButton\n                      icon=\"fas fa-pencil-alt\"\n                      [attr.aria-label]=\"'common.edit' | translate\"\n                      [pTooltip]=\"'common.edit' | translate\"\n                      type=\"button\"\n                      class=\"p-button-text\">\n              </button>\n              <button (click)=\"onDeleteCustomField(customField)\"\n                      pButton\n                      icon=\"fas fa-trash\"\n                      [attr.aria-label]=\"'common.delete' | translate\"\n                      [pTooltip]=\"'common.delete' | translate\"\n                      type=\"button\"\n                      class=\"p-button-text p-button-danger\">\n              </button>\n            </td>\n          </tr>\n        </ng-template>\n      </p-table>\n    </div>\n  </div>\n  <div class=\"flex grid\">\n    <div class=\"col-12 flex justify-content-center\">\n      <button\n        type=\"button\"\n        pButton\n        (click)=\"onDoneWithTheFields()\"\n        label=\"{{'customFields.done' | translate}}\"\n        icon=\"fas fa-check\"\n        iconPos=\"left\"\n        class=\"p-button-outlined p-button-success\">\n      </button>\n    </div>\n  </div>\n</div>\n\n","styles":[":host-context(lib-custom-fields-management) ::ng-deep p-table .agility-col-5{width:5%}:host-context(lib-custom-fields-management) ::ng-deep p-table .agility-col-10{width:10%}:host-context(lib-custom-fields-management) ::ng-deep p-table .agility-col-40{width:40%}:host-context(lib-custom-fields-management) ::ng-deep p-table .agility-col-45{width:45%}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":26,"character":19},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":27,"character":28},{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":29,"character":30},{"__symbolic":"reference","name":"AgilityRiskMessageService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DialogService","line":32,"character":27}]}],"ngOnInit":[{"__symbolic":"method"}],"setCustomFieldsDataTypes":[{"__symbolic":"method"}],"getCustomFieldsList":[{"__symbolic":"method"}],"onCustomFieldsLoaded":[{"__symbolic":"method"}],"onSaveCustomField":[{"__symbolic":"method"}],"initNewCustomField":[{"__symbolic":"method"}],"editCustomField":[{"__symbolic":"method"}],"onDeleteCustomField":[{"__symbolic":"method"}],"deleteCustomField":[{"__symbolic":"method"}],"onCustomFieldsReorder":[{"__symbolic":"method"}],"onDoneWithTheFields":[{"__symbolic":"method"}]}},"ɵbk":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-access-manager-content","template":"<div class=\"grid\">\n  <div class=\"col-12\">\n    <h3 class=\"mt-3 mb-5\">{{titles[contentId] | translate}}:</h3>\n    <div [ngSwitch]=\"contentId\">\n      <div *ngSwitchCase=\"templateAccessStep.manager\" class=\"d-flex start col-6\">\n        <p-listbox\n          [(ngModel)]=\"templateAccess.owner\"\n          [checkbox]=\"true\"\n          [filter]=\"true\"\n          [listStyle]=\"{'max-height':'250px'}\"\n          [multiple]=\"false\"\n          [options]=\"sourceLists.managers\"\n          (ngModelChange)=\"onModelChange()\"\n          filterPlaceHolder=\"{{'common.searchByName' | translate}}\"\n          optionLabel=\"name\">\n          <ng-template pTemplate=\"header\">\n            <div class=\"title\">{{'riskTemplates.manageAccess.availableItems' | translate}}</div>\n          </ng-template>\n        </p-listbox>\n      </div>\n\n\n      <div *ngSwitchCase=\"templateAccessStep.summary\">\n        <div class=\"shadow-3 border-round bg-white p-3\">\n          <div class=\"grid\">\n            <div class=\"col-lg-2 col-12\">\n              <label class=\"border-bottom-1 border-300 w-full  font-semibold text-lg\">{{'riskTemplates.manageAccess.manager' | translate}}</label>\n              <ul class=\"p-0 pt-2 list-none\">\n                <li class=\" flex align-items-center\">\n                  {{templateAccess.owner.name}}\n                </li>\n              </ul>\n            </div>\n\n            <div *ngFor=\"let title of summaryTitles ;let i = index\" class=\"col-lg-2 col-12\">\n              <label class=\"border-bottom-1 border-300 w-full font-semibold text-lg\">{{title}}</label>\n              <ul class=\"p-0 pt-2  list-none\">\n                <div *ngIf=\"!templateAccess[checkboxes[i]];else all\">\n                  <li *ngFor=\"let item of templateAccess[accessList[i +1]]\" class=\" flex align-items-center text-truncate\">\n                    {{item.name}}\n                  </li>\n                </div>\n                <ng-template #all>\n                  <li class=\" flex align-items-center text-truncate\">\n                    {{allLabels[i] | translate}}\n                  </li>\n                </ng-template>\n              </ul>\n            </div>\n          </div>\n        </div>\n      </div>\n    </div>\n\n    <div *ngIf=\"contentId !== templateAccessStep.manager && contentId !== templateAccessStep.summary\">\n      <p-pickList\n        [disabled]=\"templateAccess[checkboxes[contentId - 1]]\"\n        [dragdrop]=\"true\"\n        [responsive]=\"true\"\n        [showSourceControls]=\"false\"\n        [showTargetControls]=\"false\"\n        [showTargetFilter]=\"false\"\n        [sourceStyle]=\"{'height':'20rem'}\"\n        [source]=\"templateAccess[checkboxes[contentId -1]]? [] : sourceLists[accessList[contentId]]\"\n        [targetStyle]=\"{'height':'23rem'}\"\n        [target]=\"templateAccess[checkboxes[contentId -1]]? [] : templateAccess[accessList[contentId]]\"\n        (onMoveToTarget)=\"onModelChange()\"\n        (onMoveAllToTarget)=\"onModelChange()\"\n        (onMoveToSource)=\"onModelChange()\"\n        (onMoveAllToSource)=\"onModelChange()\"\n        filterBy=\"name\"\n        #pickListComponent\n        sourceFilterPlaceholder=\"{{'common.searchByName' | translate}}\"\n        sourceHeader=\"{{'riskTemplates.manageAccess.availableItems' | translate}}\"\n        targetFilterPlaceholder=\"{{'common.searchByName' | translate}}\"\n        targetHeader=\"{{'riskTemplates.manageAccess.selectedItems' | translate}}\">\n        <ng-template class=\"w-100\" let-item pTemplate=\"item\">\n          <div class=\"product-item\">\n            <h5 class=\"mb-2\">{{item?.name}}</h5>\n          </div>\n        </ng-template>\n      </p-pickList>\n      <div class=\"mt-3 field-checkbox\">\n        <p-checkbox\n          [pTooltip]=\"selectAllToolTip\"\n          [(ngModel)]=\"templateAccess[checkboxes[contentId - 1]]\"\n          (ngModelChange)=\"onModelChange(checkboxes[contentId - 1])\"\n          binary=\"true\">\n        </p-checkbox>\n        <label class=\"mb-0 font-medium\">{{allLabels[contentId - 1] | translate}}</label>\n      </div>\n    </div>\n","styles":["@media screen and (max-width:960px){:host-context(lib-access-manager-content) ::ng-deep p-picklist .p-picklist-list-wrapper{max-width:100%!important}:host-context(lib-access-manager-content) ::ng-deep p-picklist .p-picklist .p-picklist-buttons{width:100%!important}}:host-context(lib-access-manager-content) ::ng-deep p-listbox{width:100%}:host-context(lib-access-manager-content) ::ng-deep p-listbox .p-listbox-header .title{width:100%;display:flex;justify-content:center;font-weight:600}"]}]}],"members":{"templateAccess":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"contentId":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"liveFilter":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"onStepChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"modelChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"AgilityRiskService"},{"__symbolic":"reference","name":"AgilityRiskFilterService"},{"__symbolic":"reference","name":"AgilityRiskSpinnerService"},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":74,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}],"onModelChange":[{"__symbolic":"method"}],"getFilteredList":[{"__symbolic":"method"}]}},"ɵbl":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-distribution-send-assessment-name-modal","template":"<div class=\"grid\">\n  <div class=\"col-12 field\">\n    <label class=\"w-full\">{{'distribution.assessmentName' | translate}}</label>\n    <input class=\"w-full\" pInputText [(ngModel)]=\"name\" placeholder=\"{{defaultName}}\"/>\n  </div>\n  <div class=\"col-12 my-3 flex justify-content-end\">\n    <button type=\"button\"\n            (click)=\"cancel()\"\n            pButton\n            class=\"p-button-outlined p-button-secondary\"\n            label=\"{{'common.cancel' | translate}}\">\n    </button>\n    <button type=\"button\"\n            (click)=\"sendAssessment()\"\n            pButton\n            label=\"{{'common.send' | translate}}\"\n            class=\"ml-3 p-button-outlined p-button-success\">\n    </button>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogRef","line":14,"character":39},{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":15,"character":39},{"__symbolic":"reference","module":"@angular/common","name":"DatePipe","line":16,"character":31}]}],"ngOnInit":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}],"sendAssessment":[{"__symbolic":"method"}]}},"ɵbm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-control-field-error-message","template":"<ng-container *ngIf=\"control.hasError('required')\">\n  <div *ngIf=\"control.touched && control.dirty\"\n    class=\"relative error-wrapper\">\n    <span class=\"error-message text-danger absolute\">{{ errorMessage }}</span>\n  </div>\n</ng-container>\n","styles":[":host-context(lib-control-field-error-message) .error-wrapper{font-size:75%}:host-context(lib-control-field-error-message) .error-wrapper .error-message{top:5px}"]}]}],"members":{"controlName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ngx-translate/core","name":"TranslateService","line":13,"character":40}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[libPermission]"}]}],"members":{"libPermission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":7,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":22,"character":41},{"__symbolic":"reference","name":"TemplateRef","module":"@angular/core","arguments":[{"__symbolic":"reference","name":"any"}]},{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":24,"character":40}]}]}},"ɵbo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-risk-templates-list","template":"<p-table\n  [value]=\"riskTemplates\"\n  [paginator]=\"true\"\n  [rows]=\"10\">\n  <ng-template pTemplate=\"header\">\n  </ng-template>\n\n  <ng-template pTemplate=\"body\" let-template>\n    <tr>\n      <td>\n        <span class=\"text-truncate\">\n          {{template.name}}\n        </span>\n      </td>\n    </tr>\n  </ng-template>\n</p-table>","styles":[":host-context(lib-risk-templates-list) ::ng-deep .p-datatable-thead{display:none}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":12,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-affected-areas-list","template":"<div class=\"grid pt-3 px-1\">\n  <div *ngFor=\"let col of columns;\" \n    class=\"col-lg-3 col-12\">\n    <span class=\"border-bottom-1 border-300 w-full font-semibold text-lg\">\n      {{ col.header | translate }}\n    </span>\n\n    <ul class=\"p-0 pt-2 list-none\">\n      <ng-container *ngIf=\"!templateAccess[col.selection]; else allThirdParties\">\n        <li *ngFor=\"let area of templateAccess[col.key]\" \n            class=\"flex align-items-center text-truncate\">\n          {{ area.subject.name }}\n        </li>\n      </ng-container>\n\n      <ng-template #allThirdParties>\n        <li class=\"flex align-items-center text-truncate\">\n          {{ allThirdPartiesLabels[col.key] | translate }}\n        </li>\n      </ng-template>\n    </ul>\n  </div>\n</div>\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"primeng/dynamicdialog","name":"DynamicDialogConfig","line":41,"character":30}]}],"ngOnInit":[{"__symbolic":"method"}]}},"ɵbq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":245,"character":1},"arguments":[{"imports":[{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":246,"character":12},"member":"forChild"},"arguments":[[{"path":"","component":{"__symbolic":"reference","name":"AgilityRiskComponent"},"canDeactivate":[{"__symbolic":"reference","name":"ɵbr"}],"children":[{"path":"","redirectTo":"dashboard","pathMatch":"full"},{"path":"test","component":{"__symbolic":"reference","name":"ɵf"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.test"}},{"path":"dashboard","component":{"__symbolic":"reference","name":"RiskDashboardComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.dashboard","mainModuleRoute":true}},{"path":"assessment/details/:assessmentId","component":{"__symbolic":"reference","name":"RiskAssessmentDetailsComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.assessment-details"}},{"path":"threat-types","component":{"__symbolic":"reference","name":"ThreatTypesComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.threat-types","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"setup","component":{"__symbolic":"reference","name":"AgilityRiskSetupComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.setup","mainModuleRoute":true,"permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"assessment","canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"anonymous":true},"children":[{"path":"","component":{"__symbolic":"reference","name":"RiskAssessmentComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbt"}],"data":{"key":"risk.assessment","flowStep":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbu"},"member":"landing"}}},{"path":"survey/:id","component":{"__symbolic":"reference","name":"RiskAssessmentSurveyComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbt"}],"data":{"key":"risk.assessment-survey","flowStep":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbu"},"member":"survey"}}},{"path":"summary/:id","component":{"__symbolic":"reference","name":"RiskAssessmentSummaryComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbt"}],"data":{"key":"risk.assessment-summary","flowStep":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbu"},"member":"summary"}}},{"path":"complete","component":{"__symbolic":"reference","name":"RiskAssessmentCompleteComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbt"}],"data":{"key":"risk.assessment-complete","flowStep":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbu"},"member":"complete"}}}]},{"path":"distribution","component":{"__symbolic":"reference","name":"RiskDistributionComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.distribution","mainModuleRoute":true,"permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasManagerRoles"}]}},{"path":"risk-templates","component":{"__symbolic":"reference","name":"RiskTemplatesComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.templates","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"risk-template/:templateId/threat/:threatId/questions","component":{"__symbolic":"reference","name":"ɵy"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.threat-questions","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"formula-management","component":{"__symbolic":"reference","name":"RiskFormulaManagementComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.formula-management","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"risk-template-management/:id","component":{"__symbolic":"reference","name":"ɵbd"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.template-management","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"risk-template-management","component":{"__symbolic":"reference","name":"ɵbd"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.template-management","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"risk-template-access","component":{"__symbolic":"reference","name":"RiskTemplateAccessComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.template-access","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"custom-fields-management/:areaId","component":{"__symbolic":"reference","name":"ɵbj"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.custom-fields-management","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"risk-template-access-manager/:id","component":{"__symbolic":"reference","name":"AccessManagerComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.template-access-manager","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}},{"path":"risk-template-access-manager","component":{"__symbolic":"reference","name":"AccessManagerComponent"},"canActivate":[{"__symbolic":"reference","name":"ɵbr"}],"data":{"key":"risk.template-access-manager","permissions":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ɵbs"},"member":"hasAdminRoles"}]}}]}]]}],"exports":[{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":247,"character":12}]}]}],"members":{}},"ɵbr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":9,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":13,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":14,"character":29},{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":15,"character":31},{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":17,"character":44}]}],"canActivate":[{"__symbolic":"method"}],"canDeactivate":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbs":{"canAccessRisk":"canAccessRisk","isSuperAdmin":"isSuperAdmin","isPartner":"isPartner,","isAdmin":"isAdmin","isManager":"isManager","isUser":"isUser","isListed":"isListed","hasAdminRoles":"hasAdminRoles","hasManagerRoles":"hasManagerRoles"},"ɵbt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":17,"character":30},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":18,"character":29},{"__symbolic":"reference","module":"angular-2-local-storage","name":"LocalStorageService","line":19,"character":31},{"__symbolic":"reference","name":"AgilityRiskNavigationService"},{"__symbolic":"reference","name":"AgilityRiskPermissionService"},{"__symbolic":"reference","module":"ngx-permissions","name":"NgxPermissionsService","line":22,"character":44},{"__symbolic":"reference","name":"AgilityRiskService"}]}],"canActivate":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ɵbu":{"landing":0,"survey":1,"summary":2,"complete":3},"ɵbv":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":46},"arguments":["AGILITY_RISK_MODULE_CONFIG"]}},"origins":{"AgilityRiskComponent":"./lib/agility-risk.component","createTranslateLoader":"./lib/agility-risk.module","AgilityRiskModule":"./lib/agility-risk.module","AgilityRiskService":"./lib/providers/agility-risk.service","RiskDummyService":"./lib/providers/agility-risk.service","AgilityRiskPermissionService":"./lib/providers/agility-risk-permission.service","PermissionDummyService":"./lib/providers/agility-risk-permission.service","AgilityRiskEventService":"./lib/providers/agility-risk-event.service","NavigationServiceConfig":"./lib/providers/agility-risk-navigation.service","AgilityRiskNavigationService":"./lib/providers/agility-risk-navigation.service","provideNavigationServiceConfig":"./lib/providers/agility-risk-navigation.service","AgilityRiskFilterService":"./lib/providers/agility-risk-filter.service","FilterDummyService":"./lib/providers/agility-risk-filter.service","AgilityRiskSpinnerService":"./lib/providers/agility-risk-spinner.service","SpinnerDefaultService":"./lib/providers/agility-risk-spinner.service","AgilityRiskMessageService":"./lib/providers/agility-risk-message.service","MessageDefaultService":"./lib/providers/agility-risk-message.service","RiskDashboardComponent":"./lib/components/risk-dashboard/risk-dashboard.component","ThreatTypesComponent":"./lib/components/risk-threat-types/threat-types.component","AgilityRiskSetupComponent":"./lib/components/risk-setup/agility-risk-setup.component","RiskAssessmentSurveyComponent":"./lib/components/risk-assessment/survey/risk-assessment-survey.component","SurveyRiskFactorQuestionComponent":"./lib/components/risk-assessment/survey/components/risk-factor-question/survey-risk-factor-question.component","SurveyBooleanQuestionComponent":"./lib/components/risk-assessment/survey/components/survey-boolean-question/survey-boolean-question.component","RiskAssessmentSummaryComponent":"./lib/components/risk-assessment/summary/risk-assessment-summary.component","RiskAssessmentComponent":"./lib/components/risk-assessment/risk-assessment.component","RiskDistributionComponent":"./lib/components/risk-distribution/risk-distribution.component","RiskFormulaManagementComponent":"./lib/components/risk-formula-management/risk-formula-management.component","RiskTemplatesComponent":"./lib/components/risk-templates/risk-templates.component","FormulaDescriptionComponent":"./lib/components/risk-formula-management/formula-description/formula-description.component","RiskAssessmentCompleteComponent":"./lib/components/risk-assessment/complete/risk-assessment-complete.component","RiskAssessmentDetailsComponent":"./lib/components/risk-assessment/details/risk-assessment-details.component","RiskTemplateThreatsComponent":"./lib/components/risk-templates/risk-template-management/risk-template-threats/risk-template-threats.component","RiskTemplateAccessComponent":"./lib/components/risk-templates/risk-template-access/risk-template-access.component","AccessManagerComponent":"./lib/components/risk-templates/risk-template-access/access-manager/access-manager.component","AccessManagerStepsComponent":"./lib/components/risk-templates/risk-template-access/access-manager-steps/access-manager-steps.component","UpsertThreatTypeModalComponent":"./lib/components/shared/modals/upsert-threat-type-modal/upsert-threat-type-modal.component","ConfirmationModalComponent":"./lib/components/shared/modals/confirmation-modal/confirmation-modal.component","RiskAssessmentSurveyCustomFieldsModalComponent":"./lib/components/risk-assessment/survey/modals/risk-assessment-survey-custom-fields-modal/risk-assessment-survey-custom-fields-modal.component","RiskAssessmentSurveyDefinitionsModalComponent":"./lib/components/risk-assessment/survey/modals/risk-assessment-survey-definitions-modal/risk-assessment-survey-definitions-modal.component","RiskAssessmentSurveyDetailsModalComponent":"./lib/components/risk-assessment/survey/modals/risk-assessment-survey-details-modal/risk-assessment-survey-details-modal.component","RiskDistributionThreatsModalComponent":"./lib/components/risk-distribution/modals/risk-distribution-threats-modal/risk-distribution-threats-modal.component","AddRemoveRiskBandsComponent":"./lib/components/risk-formula-management/modals/add-remove-risk-bands/add-remove-risk-bands.component","AddEditThreatComponent":"./lib/components/risk-templates/modals/add-edit-threat/add-edit-threat.component","RiskBreadcrumbComponent":"./lib/components/shared/risk-breadcrumb/risk-breadcrumb.component","SpinnerEvent":"./lib/components/shared/spinner/spinner.event","riskFormulaEquation":"./lib/assets/mock-data/mocked-agility-risk-service-data","mockedData":"./lib/assets/mock-data/mocked-agility-risk-service-data","Answer":"./lib/models/answer","Assessment":"./lib/models/assessment","AssessmentComment":"./lib/models/assessment-comment","AssessmentDistribution":"./lib/models/assessment-distribution","AssessmentDistributionInfo":"./lib/models/assessment-distribution-info","AssessmentDistributionMemberData":"./lib/models/assessment-distribution-member-data","AssessmentDistributionRequest":"./lib/models/assessment-distribution-request","AssessmentDistributionRisk":"./lib/models/assessment-distribution-risk","AssessmentDistributionSurvey":"./lib/models/assessment-distribution-survey","AssessmentFactorSelection":"./lib/models/assessment-factor-selection","AssessmentMemberAnswer":"./lib/models/assessment-member-answer","AssessmentMemberData":"./lib/models/assessment-member-data","AssessmentStatus":"./lib/models/assessment-status","AssessmentSummary":"./lib/models/assessment-summary","AssessmentTarget":"./lib/models/assessment-target","BaseEntity":"./lib/models/base-entity","BaseModel":"./lib/models/base-model","BaseResponse":"./lib/models/base-response","BrandingTerm":"./lib/models/branding-term","Contact":"./lib/models/contact","ContactDistributionType":"./lib/models/contact-distribution-type","ContactMethod":"./lib/models/contact-method","ContactType":"./lib/models/contact-type","CustomValue":"./lib/models/custom-value","DistributionRequest":"./lib/models/distribution-request","EntityType":"./lib/models/entity-type","FilterType":"./lib/models/filter-type","ListSortModel":"./lib/models/list-sort-model","PagedListModel":"./lib/models/list-sort-model","NameEntityTypeFilter":"./lib/models/name-entity-type-filter","PageRequest":"./lib/models/page-request","PageResponse":"./lib/models/page-response","Question":"./lib/models/question","QuestionAnswer":"./lib/models/question-answer","QuestionFactorType":"./lib/models/question-factor-type","QuestionType":"./lib/models/question-type","Risk":"./lib/models/risk","RiskBand":"./lib/models/risk-band","RiskDetail":"./lib/models/risk-detail","AnswerTemplate":"./lib/models/risk-detail","EquationPartTypes":"./lib/models/risk-equation-part-type","RiskFactor":"./lib/models/risk-factor","RiskFactorRank":"./lib/models/risk-factor-rank","RiskFactorType":"./lib/models/risk-factor-type","RiskFilterType":"./lib/models/risk-filter-type","FilterListItem":"./lib/models/risk-filter-type","SelectFilterOption":"./lib/models/risk-filter-type","FilterControlTypes":"./lib/models/risk-filter-type","FilterTypes":"./lib/models/risk-filter-type","FilterSearchOptions":"./lib/models/risk-filter-type","RiskFormula":"./lib/models/risk-formula","RiskEquationPart":"./lib/models/risk-formula","RiskFormulaTestResult":"./lib/models/risk-formula","RiskFormulaFilter":"./lib/models/risk-formula-filter","RiskFormulaStatus":"./lib/models/risk-formula-status","RiskFormulaType":"./lib/models/risk-formula-type","RiskTemplate":"./lib/models/risk-template","RiskTemplateFilter":"./lib/models/risk-template-filter","Sort":"./lib/models/sort","StringFilter":"./lib/models/string-filter","Threat":"./lib/models/threat","ThreatType":"./lib/models/threat-type","RiskTemplateTypes":"./lib/models/risk-template-types","TemplateAccess":"./lib/models/template-access","GetRiskAssessmentSummaryResponse":"./lib/models/get-risk-assessment-summary-response","ɵa":"./lib/providers/agility-risk-theme.service","ɵb":"./lib/providers/agility-risk-theme.service","ɵc":"./lib/providers/agility-risk-theme.service","ɵd":"./lib/providers/agility-custom-translate-loader.service","ɵe":"./lib/directives/buttonUnFocusDirective.directive","ɵf":"./lib/components/test/agility-risk-test.component","ɵg":"./lib/components/risk-assessment/survey/modals/risk-assessment-member-answers-modal/risk-assessment-member-answers-modal.component","ɵh":"./lib/providers/agility-risk-formula-helper.service","ɵi":"./lib/components/shared/risk-filter/risk-filter.component","ɵj":"./lib/components/shared/risk-filter/risk-filters/risk-filters.component","ɵk":"./lib/components/risk-formula-management/risk-band-slider/risk-band-slider.component","ɵl":"./lib/components/risk-formula-management/risk-formula-list/risk-formula-list.component","ɵm":"./lib/providers/agility-risk-datetime.service","ɵn":"./lib/providers/agility-risk-datetime.service","ɵo":"./lib/providers/agility-risk-datetime.service","ɵp":"./lib/components/shared/modals/select-users-modal/select-users-modal.component","ɵq":"./lib/components/shared/spinner/spinner.component","ɵr":"./lib/components/risk-formula-management/modals/risk-factors-modal/risk-factors-modal.component","ɵs":"./lib/components/risk-formula-management/modals/risk-factor-modal/risk-factor-modal.component","ɵt":"./lib/components/risk-formula-management/modals/test-formula-modal/test-formula-modal.component","ɵu":"./lib/components/risk-formula-management/advanced-risk-formula-management/advanced-risk-formula-management.component","ɵv":"./lib/pipes/agility-datetime.pipe","ɵw":"./lib/pipes/agility-date.pipe","ɵx":"./lib/components/risk-formula-management/risk-formula-builder/risk-formula-builder.component","ɵy":"./lib/components/risk-templates/risk-template-management/threat-questions/threat-questions.component","ɵz":"./lib/components/shared/base/base.component","ɵba":"./lib/components/shared/modals/upsert-threat-question-modal/upsert-threat-question-modal.component","ɵbb":"./lib/components/shared/modals/configure-conditional-logic-modal/configure-conditional-logic-modal.component","ɵbc":"./lib/pipes/agility-percent.pipe","ɵbd":"./lib/components/risk-templates/risk-template-management/risk-template-management/risk-template-management.component","ɵbe":"./lib/components/risk-assessment/details/modals/assessment-detail-additional-comments-modal/assessment-detail-additional-comments-modal.component","ɵbf":"./lib/components/risk-assessment/details/modals/risk-assessment-risk-member-answers-modal/risk-assessment-risk-member-answers-modal.component","ɵbg":"./lib/components/risk-assessment/details/modals/risk-assessment-details-custom-fields-modal/risk-assessment-details-custom-fields-modal.component","ɵbh":"./lib/components/risk-templates/modals/copy-threats-from-template/copy-threats-from-template.component","ɵbi":"./lib/components/risk-templates/risk-template-management/risk-template-header/risk-template-header.component","ɵbj":"./lib/components/custom-fields-management/custom-fields-management.component","ɵbk":"./lib/components/risk-templates/risk-template-access/access-manager-content/access-manager-content.component","ɵbl":"./lib/components/risk-distribution/modals/distribution-send-assessment-name-modal/distribution-send-assessment-name-modal.component","ɵbm":"./lib/components/shared/control-field-error-message/control-field-error-message.component","ɵbn":"./lib/directives/permission.directive","ɵbo":"./lib/components/risk-templates/risk-template-access/modals/risk-templates-list/risk-templates-list.component","ɵbp":"./lib/components/risk-templates/risk-template-access/modals/affected-areas-list/affected-areas-list.component","ɵbq":"./lib/agility-risk-routing.module","ɵbr":"./lib/providers/agility-risk-route-guard.service","ɵbs":"./lib/agility-risk.constants","ɵbt":"./lib/providers/agility-risk-assessment-route-guard.service","ɵbu":"./lib/agility-risk.enum","ɵbv":"./lib/agility-risk.config.interface"},"importAs":"agility-risk"}