{"__symbolic":"module","version":4,"metadata":{"timeUnits":[{"label":"day(s)","singularLabel":"day","pluralLabel":"days","value":"days"},{"label":"week(s)","singularLabel":"week","pluralLabel":"weeks","value":"weeks"},{"label":"month(s)","singularLabel":"month","pluralLabel":"months","value":"months"},{"label":"quarter(s)","singularLabel":"quarter","pluralLabel":"quarters","value":"quarters"},{"label":"year(s)","singularLabel":"year","pluralLabel":"years","value":"years"}],"Clazz":{"__symbolic":"interface"},"SUPER_ADMIN_ROLE_GUID":"superadmin","ADMIN_ROLE_GUID":"admin","CONTENT_MANAGER_ROLE_GUID":"contentManager","APP_USER_ROLE_GUID":"appUser","SUPPORT_ADMIN_ROLE_GUID":"supportAdmin","TEST_ROLE_GUID":"testRole","BIS_ADMIN_ROLE_GUID":"bisAdmin","BIS_CONTENT_MANAGER_ROLE_GUID":"bisContentManager","BIS_APP_USER_ROLE_GUID":"bisAppUser","ACAS_ADMIN_ROLE_GUID":"acasAdmin","ACAS_CONTENT_MANAGER_ROLE_GUID":"acasContentManager","ACAS_TRIAL_USER_ROLE_GUID":"acasTrialUser","ACAS_STANDARD_USER_ROLE_GUID":"acasStandardUser","ACAS_PREMIUM_USER_ROLE_GUID":"acasPremiumUser","ICUD_ADMIN_ROLE_GUID":"icuDiaryAdmin","ICUD_STAFF_ROLE_GUID":"icuDiaryStaff","ICUD_RELATIVE_ROLE_GUID":"icuDiaryRelative","ICUD_PRIME_RELATIVE_ROLE_GUID":"icuDiaryPrimeRelative","ICUD_PATIENT_ROLE_GUID":"icuDiaryPatient","ICUD_GUEST_ROLE_GUID":"icuDiaryGuest","MHI_PARTICIPANT_ROLE_GUID":"mhiParticipant","MHI_ADMIN_ROLE_GUID":"mhiAdmin","MHI_GUEST_ROLE_GUID":"mhiGuest","SuperAdminRoleGuid":{"__symbolic":"interface"},"AdminRoleGuid":{"__symbolic":"interface"},"ContentManagerRoleGuid":{"__symbolic":"interface"},"AppUserRoleGuid":{"__symbolic":"interface"},"SupportAdminRoleGuid":{"__symbolic":"interface"},"TestRoleGuid":{"__symbolic":"interface"},"BisAdminRoleGuid":{"__symbolic":"interface"},"BisContentManagerRoleGuid":{"__symbolic":"interface"},"BisAppUserRoleGuid":{"__symbolic":"interface"},"BisRoleGuid":{"__symbolic":"interface"},"AcasAdminRoleGuid":{"__symbolic":"interface"},"AcasContentManagerRoleGuid":{"__symbolic":"interface"},"AcasTrialUserRoleGuid":{"__symbolic":"interface"},"AcasStandardUserRoleGuid":{"__symbolic":"interface"},"AcasPremiumUserRoleGuid":{"__symbolic":"interface"},"AcasRoleGuid":{"__symbolic":"interface"},"IcuDiaryAdminRoleGuid":{"__symbolic":"interface"},"IcuDiaryStaffRoleGuid":{"__symbolic":"interface"},"IcuDiaryRelativeRoleGuid":{"__symbolic":"interface"},"IcuDiaryPrimeRelativeRoleGuid":{"__symbolic":"interface"},"IcuDiaryPatientRoleGuid":{"__symbolic":"interface"},"IcuDiaryGuestRoleGuid":{"__symbolic":"interface"},"IcuDiaryRoleGuid":{"__symbolic":"interface"},"MhiParticipantRoleGuid":{"__symbolic":"interface"},"MhiAdminRoleGuid":{"__symbolic":"interface"},"MhiGuestRoleGuid":{"__symbolic":"interface"},"MhiRoleGuid":{"__symbolic":"interface"},"RoleGuid":{"__symbolic":"interface"},"IRole":{"__symbolic":"interface"},"IOrganization":{"__symbolic":"interface"},"Organization":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"Profile":{"__symbolic":"interface"},"IFFUser":{"__symbolic":"interface"},"FFUser":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"canDeleteProfile":[{"__symbolic":"method"}],"removeProfile":[{"__symbolic":"method"}]}},"ICRUMSObject":{"__symbolic":"interface"},"CRUMSObject":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"GetOptions":{"__symbolic":"interface"},"SearchFilters":{"__symbolic":"interface"},"IObjPermissions":{"__symbolic":"interface"},"ObjPermissions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IQueryFilter":{"__symbolic":"interface"},"QueryFilter":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"nonPreviewableThingTypes":["Module"],"thingTypeData":{"Resource":{"acasMeter":{"__symbolic":"reference","name":"AcasMeterData"},"asset":{"__symbolic":"reference","name":"AssetResourceData"},"diagram":{"__symbolic":"reference","name":"BaseDiagramData"},"indexBuilder":{"__symbolic":"reference","name":"HierarchicalTreeData"},"menu":{"__symbolic":"reference","name":"MenuData"},"page":{"__symbolic":"reference","name":"PageResourceData"},"pageLinks":{"__symbolic":"reference","name":"ResourceOrderedCarouselData"},"icuDiaryPage":{"__symbolic":"reference","name":"PageResourceData"},"premiumPage":{"__symbolic":"reference","name":"PageResourceData"},"icuDiaryDiaryEntry":{"__symbolic":"reference","name":"IcuDiaryPageData"},"icuDiaryRelativeEntry":{"__symbolic":"reference","name":"IcuDiaryPageData"},"richtext":{"__symbolic":"reference","name":"RichTextData"},"textwithasset":{"__symbolic":"reference","name":"RichtTextAssetResourceData"},"icuDiaryStaffEntry":{"__symbolic":"reference","name":"IcuDiaryPageData"},"helpArticle":{"__symbolic":"reference","name":"PageResourceData"},"helpSection":{"__symbolic":"reference","name":"HelpSectionData"},"helpArticleFeedback":{"__symbolic":"reference","name":"HelpArticleFeedbackData"}},"Asset":{"audio":{"__symbolic":"reference","name":"RichTextData"},"video":{"__symbolic":"reference","name":"RichTextData"},"image":{"__symbolic":"reference","name":"RichTextData"},"avatar":{"__symbolic":"reference","name":"RichTextData"},"support":{"__symbolic":"reference","name":"RichTextData"},"content":{"__symbolic":"reference","name":"RichTextData"},"icudiaryentry":{"__symbolic":"reference","name":"RichTextData"}},"Module":{"webpagemodule":{"__symbolic":"reference","name":"ModuleData"},"acasModule":{"__symbolic":"reference","name":"ModuleData"}},"Form":{"simpleform":{"__symbolic":"reference","name":"FormData"}},"FormElement":{"richtext":{"__symbolic":"reference","name":"FormElementData"},"input":{"__symbolic":"reference","name":"FormElementData"},"checkbox":{"__symbolic":"reference","name":"FormElementData"},"select":{"__symbolic":"reference","name":"FormElementData"},"datetime":{"__symbolic":"reference","name":"FormElementData"},"slider":{"__symbolic":"reference","name":"FormElementData"},"simpletext":{"__symbolic":"reference","name":"FormElementData"},"fileentry":{"__symbolic":"reference","name":"FormElementData"},"yesNo":{"__symbolic":"reference","name":"FormElementData"},"tagInput":{"__symbolic":"reference","name":"FormElementData"}},"FormEntry":{"formElementEntry":{"__symbolic":"reference","name":"FormElementEntryData"},"formEntry":{"__symbolic":"reference","name":"FormEntryData"}},"Support":{"acasMeterFeedback":{"__symbolic":"reference","name":"AcasMeterFeedbackData"},"appSupport":{"__symbolic":"reference","name":"AppSupportData"}},"MetaThing":{"thingDescriptor":{"__symbolic":"reference","name":"MetaThingData"}}},"thingTypeMetadata":{"MetaThing":{"thingDescriptor":{"__symbolic":"reference","name":"MetaThingMetadata"}}},"ThingMetadataUnionType":{"__symbolic":"interface"},"IThingMetadata":{"__symbolic":"interface"},"ThingMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"ThingDataUnionType":{"__symbolic":"interface"},"IThing":{"__symbolic":"interface"},"Thing":{"__symbolic":"class","extends":{"__symbolic":"reference","name":"CRUMSObject"},"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"ThingSearchFilters":{"__symbolic":"interface"},"IConfiguration":{"__symbolic":"interface"},"Configuration":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"ResourcesDisplaySettings":{"__symbolic":"interface"},"Resource":{"__symbolic":"interface"},"ResourcesStructure":{"__symbolic":"interface"},"CustomMenu":{"__symbolic":"interface"},"SentNotificationSearchFilters":{"__symbolic":"interface"},"SentNotification":{"__symbolic":"interface"},"ISentNotificationMetaData":{"__symbolic":"interface"},"SentNotificationMetaData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"ISentNotificationData":{"__symbolic":"interface"},"SentNotificationData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IMetaThingMetadata":{"__symbolic":"interface"},"MetaThingMetadata":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IMetaThingData":{"__symbolic":"interface"},"MetaThingData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IMetaThing":{"__symbolic":"interface"},"MetaThing":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"AssetMetaData":{"__symbolic":"interface"},"Asset":{"__symbolic":"interface"},"IFormElementData":{"__symbolic":"interface"},"FormElementData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormElementOptions":{"__symbolic":"interface"},"FormElementOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormElementValidator":{"__symbolic":"interface"},"FormElementValidator":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormElementTooltip":{"__symbolic":"interface"},"FormElementTooltip":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormElementDisplay":{"__symbolic":"interface"},"FormElementDisplay":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormEntryData":{"__symbolic":"interface"},"FormEntryData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormElementEntryData":{"__symbolic":"interface"},"FormElementEntryData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"IFormData":{"__symbolic":"interface"},"FormData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IFormDisplay":{"__symbolic":"interface"},"FormDisplay":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"clone":{"__symbolic":"function"},"compare":{"__symbolic":"function"},"Operator":{"__symbolic":"interface"},"EntryRule":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"clone":[{"__symbolic":"method"}],"equals":[{"__symbolic":"method"}],"toJSON":[{"__symbolic":"method"}]}},"FormElementRule":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"clone":[{"__symbolic":"method"}]}},"IFormScheduleData":{"__symbolic":"interface"},"FormScheduleData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"FormSchedule":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"SchedulingConfiguration":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}],"getNextStep":[{"__symbolic":"method"}],"generateSchedules":[{"__symbolic":"method"}]}},"Module":{"__symbolic":"interface"},"IModuleData":{"__symbolic":"interface"},"ModuleData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IModuleLogoData":{"__symbolic":"interface"},"ModuleLogoData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IModulePageData":{"__symbolic":"interface"},"ModulePageData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IModuleHeader":{"__symbolic":"interface"},"ModuleHeader":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IModuleHeaderOptions":{"__symbolic":"interface"},"ModuleHeaderOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IModuleButtonData":{"__symbolic":"interface"},"ModuleButtonData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ModuleMetaData":{"__symbolic":"interface"},"IconData":{"__symbolic":"interface"},"IAcasMeterTextData":{"__symbolic":"interface"},"IAcasMeterData":{"__symbolic":"interface"},"AcasMeterData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IAssetResourceOptions":{"__symbolic":"interface"},"IAssetResourceData":{"__symbolic":"interface"},"AssetResourceData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"AssetResourceOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IResourceOrderedCarouselData":{"__symbolic":"interface"},"ResourceOrderedCarouselLinkStructure":{"__symbolic":"interface"},"IResourceOrderedCarouselOptions":{"__symbolic":"interface"},"IResourceOrderedCarouselStyles":{"__symbolic":"interface"},"ResourceOrderedCarouselStyles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ResourceOrderedCarouselData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"ResourceOrderedCarouselOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"SubDiagramData":{"__symbolic":"interface"},"IBaseDiagramData":{"__symbolic":"interface"},"BaseDiagramData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IDiagramParameters":{"__symbolic":"interface"},"DiagramParameters":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"SubDiagramTexts":{"__symbolic":"interface"},"TreeNode":{"__symbolic":"interface"},"NavButtons":{"__symbolic":"interface"},"MenuNode":{"__symbolic":"interface"},"IHierarchicalTreeData":{"__symbolic":"interface"},"HierarchicalTreeData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IHierarchicalTreeDisplayOptions":{"__symbolic":"interface"},"HierarchicalTreeDisplayOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IHierarchicalTreeMenuOptions":{"__symbolic":"interface"},"HierarchicalTreeMenuOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"MenuItem":{"__symbolic":"interface"},"IMenuData":{"__symbolic":"interface"},"MenuData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IcuDiaryPageData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"PageLinkStructure":{"__symbolic":"interface"},"IPageResourceData":{"__symbolic":"interface"},"PageResourceData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IPageResourceOptions":{"__symbolic":"interface"},"PageResourceOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IRichtTextAssetResourceData":{"__symbolic":"interface"},"RichtTextAssetResourceData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IRichTextAssetResourceOptions":{"__symbolic":"interface"},"RichTextAssetResourceOptions":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IRichTextAssetResourceStyles":{"__symbolic":"interface"},"RichTextAssetResourceStyles":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IRichTextData":{"__symbolic":"interface"},"RichTextData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IHelpSectionData":{"__symbolic":"interface"},"HelpSectionData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IHelpArticleFeedbackData":{"__symbolic":"interface"},"HelpArticleFeedbackData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"SupportReply":{"__symbolic":"interface"},"IAppSupportData":{"__symbolic":"interface"},"AppSupportData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"IAcasMeterFeedbackData":{"__symbolic":"interface"},"AcasMeterFeedbackData":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor"}]}},"Credentials":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"string"}]}]}},"RegistrationInvite":{"__symbolic":"interface"},"IUserRelation":{"__symbolic":"interface"},"UserRelation":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"any"}]}]}},"ApiService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":34,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":47,"character":5},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@awesome-cordova-plugins/http/ngx","name":"HTTP","line":48,"character":17},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":49,"character":19}]}],"getItem":[{"__symbolic":"method"}],"setItem":[{"__symbolic":"method"}],"removeItem":[{"__symbolic":"method"}],"clear":[{"__symbolic":"method"}],"encodeURI":[{"__symbolic":"method"}],"getHttpParams":[{"__symbolic":"method"}],"getCordovaHttpParams":[{"__symbolic":"method"}],"getHttpHeaders":[{"__symbolic":"method"}],"get":[{"__symbolic":"method"}],"getFile":[{"__symbolic":"method"}],"post":[{"__symbolic":"method"}],"put":[{"__symbolic":"method"}],"cordovaPut":[{"__symbolic":"method"}],"delete":[{"__symbolic":"method"}],"getThingQuery":[{"__symbolic":"method"}],"getThingQueryParams":[{"__symbolic":"method"}],"getThingQueryFilters":[{"__symbolic":"method"}],"getThings":[{"__symbolic":"method"}],"getThingByGuid":[{"__symbolic":"method"}],"removeThings":[{"__symbolic":"method"}],"addThing":[{"__symbolic":"method"}],"updateThing":[{"__symbolic":"method"}],"deleteThing":[{"__symbolic":"method"}],"duplicateThing":[{"__symbolic":"method"}],"downloadThing":[{"__symbolic":"method"}],"downloadThings":[{"__symbolic":"method"}],"getThingCount":[{"__symbolic":"method"}],"getThingTypeDescriptor":[{"__symbolic":"method"}],"uploadAssetFile":[{"__symbolic":"method"}],"uploadAssetFileByCordova":[{"__symbolic":"method"}],"deleteAssetFile":[{"__symbolic":"method"}],"getClazzPermissions":[{"__symbolic":"method"}],"validSession":[{"__symbolic":"method"}],"getSessionUser":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"setUserProfiles":[{"__symbolic":"method"}],"getUserProfiles":[{"__symbolic":"method"}],"getUser":[{"__symbolic":"method"}],"getActiveProfile":[{"__symbolic":"method"}],"setActiveProfile":[{"__symbolic":"method"}],"currentUserHasProfileInOrg":[{"__symbolic":"method"}],"currentUserHasProfileInCdh":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"changePassword":[{"__symbolic":"method"}],"recoverPassword":[{"__symbolic":"method"}],"useRecover":[{"__symbolic":"method"}],"addRegistrationInvite":[{"__symbolic":"method"}],"getRegistrationInvite":[{"__symbolic":"method"}],"getActiveRegistrationInvites":[{"__symbolic":"method"}],"useRegistrationInvite":[{"__symbolic":"method"}],"updateRegistrationInvite":[{"__symbolic":"method"}],"addProfile":[{"__symbolic":"method"}],"deleteProfile":[{"__symbolic":"method"}],"getLoggedUserProfiles":[{"__symbolic":"method"}],"getUsers":[{"__symbolic":"method"}],"getUsersOfRole":[{"__symbolic":"method"}],"createInactiveUser":[{"__symbolic":"method"}],"activateUser":[{"__symbolic":"method"}],"getOrganizations":[{"__symbolic":"method"}],"getOrganization":[{"__symbolic":"method"}],"addOrganization":[{"__symbolic":"method"}],"updateOrganization":[{"__symbolic":"method"}],"deleteOrganization":[{"__symbolic":"method"}],"getRoles":[{"__symbolic":"method"}],"getUserRelations":[{"__symbolic":"method"}],"addUserRelation":[{"__symbolic":"method"}],"deleteUserRelation":[{"__symbolic":"method"}],"getConfigurationForOrganization":[{"__symbolic":"method"}],"sendSupportReplyByEmail":[{"__symbolic":"method"}],"getSentNotificationQuery":[{"__symbolic":"method"}],"getSentNotificationQueryParams":[{"__symbolic":"method"}],"getSentNotificationQueryFilters":[{"__symbolic":"method"}],"getSentNotificationsForUser":[{"__symbolic":"method"}],"getAvailableFormSchedulesForUser":[{"__symbolic":"method"}],"getRegexForInsensitiveSearch":[{"__symbolic":"method"}],"parseFilenameFromContentDispositionHeader":[{"__symbolic":"method"}]}},"ComponentUtilsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":41,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ionic/angular","name":"LoadingController","line":87,"character":30},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/animations","name":"AnimationBuilder","line":89,"character":30},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":90,"character":28},{"__symbolic":"reference","name":"ApiService"}]}],"createEmptyAsset":[{"__symbolic":"method"}],"createEmptyResource":[{"__symbolic":"method"}],"checkResource":[{"__symbolic":"method"}],"getThingWithChildren":[{"__symbolic":"method"}],"createComponentAnimation":[{"__symbolic":"method"}],"digJSON":[{"__symbolic":"method"}],"getValueFromObject":[{"__symbolic":"method"}],"updateValueFromObject":[{"__symbolic":"method"}],"loadAllThingTypes":[{"__symbolic":"method"}],"loadThingTypes":[{"__symbolic":"method"}],"loadThingTypesCreatable":[{"__symbolic":"method"}],"setCurrentThingType":[{"__symbolic":"method"}],"getPermissionsToReadThing":[{"__symbolic":"method"}],"getPermissionsToCreateThing":[{"__symbolic":"method"}],"getIconPath":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"FormUtilsService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":44,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ionic/angular","name":"AlertController","line":49,"character":28},{"__symbolic":"reference","module":"@ionic/angular","name":"LoadingController","line":50,"character":30},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"buildFormEntryArray":[{"__symbolic":"method"}],"buildFormCardEntryArray":[{"__symbolic":"method"}],"checkFieldPermission":[{"__symbolic":"method"}],"checkPermission":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"checkValidity":[{"__symbolic":"method"}],"checkCondition":[{"__symbolic":"method"}],"createNewFormEntry":[{"__symbolic":"method"}],"createNewThing":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ErrorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@ionic/angular","name":"AlertController","line":10,"character":38}]}],"getClientErrorMessage":[{"__symbolic":"method"}],"getServerErrorMessage":[{"__symbolic":"method"}],"getErrorMessage":[{"__symbolic":"method"}],"showErrorMessage":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"PasswordUpdatePolicyService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":33,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":46,"character":20},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":47,"character":29},{"__symbolic":"reference","name":"ErrorService"}]}],"init":[{"__symbolic":"method"}],"getPasswordPolicyUpdateConfiguration":[{"__symbolic":"method"}],"handlePasswordChangeShouldBePresented":[{"__symbolic":"method"}],"presentPasswordChangeModal":[{"__symbolic":"method"}],"getObjKeyValue":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ThemeService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":10,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/common","name":"DOCUMENT","line":10,"character":12}]}]],"parameters":[{"__symbolic":"reference","module":"@angular/core","name":"RendererFactory2","line":8,"character":29},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"any"}]}],"changeTheme":[{"__symbolic":"method"}],"detectTheme":[{"__symbolic":"method"}],"updateTheme":[{"__symbolic":"method"}],"forceTheme":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}]}},"TermsOfUseService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":45,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":61,"character":20},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":62,"character":29},{"__symbolic":"reference","name":"ErrorService"}]}],"init":[{"__symbolic":"method"}],"getTermsOfUseConfiguration":[{"__symbolic":"method"}],"getTermsOfUseThing":[{"__symbolic":"method"}],"handleTermsOfUseShouldBePresented":[{"__symbolic":"method"}],"presentTermsOfUseModal":[{"__symbolic":"method"}],"handleTermsOfUseAgreed":[{"__symbolic":"method"}],"getObjKeyValue":[{"__symbolic":"method"}],"setValueOnObjKey":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"ConsentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":46,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":71,"character":20},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":72,"character":29}]}],"activeProfileHasConsentConfigured":[{"__symbolic":"method"}],"handleConsentAtAppStart":[{"__symbolic":"method"}],"reviewConsent":[{"__symbolic":"method"}],"checkServiceIsSetForActiveProfile":[{"__symbolic":"method"}],"setServiceForActiveProfile":[{"__symbolic":"method"}],"getConsentConfiguration":[{"__symbolic":"method"}],"getConsentThing":[{"__symbolic":"method"}],"getOrganizationName":[{"__symbolic":"method"}],"consentShouldBePresentedAtAppStart":[{"__symbolic":"method"}],"presentConsentModal":[{"__symbolic":"method"}],"handleConsentAgreed":[{"__symbolic":"method"}],"getObjKeyValue":[{"__symbolic":"method"}],"setValueOnObjKey":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"RelativeConsentService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":46,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":78,"character":29}]}],"activeProfileHasConsentConfigured":[{"__symbolic":"method"}],"handleConsentAtAppStart":[{"__symbolic":"method"}],"reviewConsent":[{"__symbolic":"method"}],"checkServiceIsSetForActiveProfile":[{"__symbolic":"method"}],"setServiceForActiveProfile":[{"__symbolic":"method"}],"getConsentConfiguration":[{"__symbolic":"method"}],"getConsentThing":[{"__symbolic":"method"}],"getOrganizationName":[{"__symbolic":"method"}],"consentShouldBePresentedAtAppStart":[{"__symbolic":"method"}],"presentConsentModal":[{"__symbolic":"method"}],"handleConsentAgreed":[{"__symbolic":"method"}],"getObjKeyValue":[{"__symbolic":"method"}],"setValueOnObjKey":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"UserInactivityService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":72,"character":1},"arguments":[{"providedIn":"root"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ToastController","line":93,"character":29},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":94,"character":20}]}],"init":[{"__symbolic":"method"}],"destroy":[{"__symbolic":"method"}],"getUserInactivityConfiguration":[{"__symbolic":"method"}],"resetTimer":[{"__symbolic":"method"}],"startTimer":[{"__symbolic":"method"}],"unsubscribeTimer":[{"__symbolic":"method"}],"updateTimerToDisplay":[{"__symbolic":"method"}],"getSeconds":[{"__symbolic":"method"}],"getMinutes":[{"__symbolic":"method"}],"pad":[{"__symbolic":"method"}],"showInfoBeforeLogoutToast":[{"__symbolic":"method"}],"getToastBeforeLogout":[{"__symbolic":"method"}],"updateToastBeforeLogout":[{"__symbolic":"method"}],"dismissToastBeforeLogout":[{"__symbolic":"method"}],"handleLogout":[{"__symbolic":"method"}],"showLogoutInfoToast":[{"__symbolic":"method"}]},"statics":{"ɵprov":{}}},"DebugService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":7,"character":15},"arguments":[{"__symbolic":"reference","name":"ɵb"}]}]],"parameters":[{"__symbolic":"reference","name":"ɵa"}]}],"time":[{"__symbolic":"method"}]}},"MhiUserLoginComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"mhi-user-login","template":"<!-- <ng-template [ngIf]=\"(!loggedIn || !api.getUser())\"> -->\n<form\n  [formGroup]=\"form\"\n  (keyup.enter)=\"form.valid && loginForm()\"\n  (ngSubmit)=\"loginForm()\"\n>\n  <ion-grid class=\"ion-no-padding\" fixed=\"false\">\n    <ion-row\n      class=\"ion-justify-content-center\"\n      [ngStyle]=\"{ background: 'var(--ion-color-' + color + ')' }\"\n    >\n      <ion-col size=\"12\" size-sm=\"8\">\n        <ion-item [lines]=\"lines\" [color]=\"color\">\n          <ion-icon size=\"small\" slot=\"start\" name=\"person-sharp\"></ion-icon>\n          <ion-input\n            type=\"text\"\n            formControlName=\"userName\"\n            placeholder=\"Username\"\n            \n          ></ion-input>\n        </ion-item>\n        <ion-item [lines]=\"lines\" [color]=\"color\">\n          <ion-icon\n            size=\"small\"\n            slot=\"start\"\n            name=\"lock-closed-sharp\"\n          ></ion-icon>\n          <ion-input\n            type=\"password\"\n            formControlName=\"password\"\n            placeholder=\"Password\"\n            type=\"password\"\n            \n          ></ion-input>\n        </ion-item>\n        <ion-item *ngIf=\"loginErrorMsg\" [lines]=\"lines\" [color]=\"color\">\n          <ion-label color=\"danger\" class=\"ion-text-wrap\"\n            ><b>{{ loginErrorMsg }}</b></ion-label\n          >\n        </ion-item>\n      </ion-col>\n    </ion-row>\n    <ion-row class=\"ion-justify-content-center\">\n      <ion-col size=\"12\" size-sm=\"8\" class=\"ion-text-center\">\n        <ion-button\n          class=\"ion-margin\"\n          size=\"default\"\n          expand=\"full\"\n          type=\"submit\"\n          [disabled]=\"!form.valid\"\n          [color]=\"color\"\n          >Login</ion-button\n        >\n        <ion-button\n          *ngIf=\"guestLoginCredentials\"\n          class=\"ion-margin\"\n          size=\"default\"\n          expand=\"full\"\n          (click)=\"loginGuest()\"\n          [disabled]=\"!form.valid\"\n          [color]=\"color\"\n          >Login as guest</ion-button\n        >\n        <div class=\"ion-text-center\">\n          <ion-button\n            *ngIf=\"allowToSignUp\"\n            class=\"ion-no-margin\"\n            size=\"small\"\n            fill=\"clear\"\n            (click)=\"goToRegistration()\"\n            [color]=\"color\"\n            >Register</ion-button\n          >\n          <ion-button\n            class=\"ion-no-margin\"\n            size=\"small\"\n            fill=\"clear\"\n            [color]=\"color\"\n          >\n            &bull;\n          </ion-button>\n          <ion-button\n            class=\"ion-no-margin\"\n            size=\"small\"\n            fill=\"clear\"\n            (click)=\"goToRecovery()\"\n            [color]=\"color\"\n            >Forgot password?</ion-button\n          >\n        </div>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n</form>\n<!-- </ng-template> -->\n"}]}],"members":{"allowToSignUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"organizationToLogin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"organizationForConfigs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"guestLoginCredentials":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"rolesAllowedToLogin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"lines":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"isLoggedIn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"isLoggingIn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"registration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"recovery":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"loginError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":46,"character":25},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ThemeService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":49,"character":28},{"__symbolic":"reference","name":"UserInactivityService"},{"__symbolic":"reference","name":"ConsentService"},{"__symbolic":"reference","name":"TermsOfUseService"},{"__symbolic":"reference","name":"PasswordUpdatePolicyService"},{"__symbolic":"reference","name":"DebugService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ionViewWillEnter":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"loginForm":[{"__symbolic":"method"}],"loginGuest":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"goToRegistration":[{"__symbolic":"method"}],"goToRecovery":[{"__symbolic":"method"}]}},"MhiPasswordRecoveryComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"mhi-password-recovery","template":"<form\n  [formGroup]=\"formRecover\"\n  (keyup.enter)=\"formRecover.valid && recover()\"\n  (ngSubmit)=\"recover()\"\n>\n  <ion-grid class=\"ion-no-padding\" fixed=\"false\">\n    <ion-row\n      class=\"ion-justify-content-center login-container\"\n      [ngStyle]=\"{ background: 'var(--ion-color-' + color + ')' }\"\n    >\n      <ion-col\n        *ngIf=\"title\"\n        size=\"12\"\n        size-sm=\"8\"\n        class=\"ion-padding-horizontal\"\n      >\n        <ion-text\n          [ngStyle]=\"{ color: 'var(--ion-color-' + color + '-contrast)' }\"\n        >\n          <h1>{{ title }}</h1>\n        </ion-text>\n      </ion-col>\n      <ion-col size=\"12\" size-sm=\"8\">\n        <ion-item [lines]=\"lines\" [color]=\"color\">\n          <ion-icon size=\"small\" slot=\"start\" name=\"mail-sharp\"></ion-icon>\n          <ion-input\n            type=\"email\"\n            formControlName=\"email\"\n            placeholder=\"Email\"\n            \n          >\n          </ion-input>\n        </ion-item>\n      </ion-col>\n    </ion-row>\n    <ion-row class=\"ion-justify-content-center\">\n      <ion-col size=\"12\" size-sm=\"8\" class=\"ion-text-center\">\n        <ion-button\n          class=\"ion-margin\"\n          size=\"default\"\n          expand=\"full\"\n          type=\"submit\"\n          [disabled]=\"!formRecover.valid\"\n          [color]=\"color\"\n        >\n          Submit\n        </ion-button>\n\n        <ion-button\n          class=\"ion-no-margin\"\n          size=\"small\"\n          fill=\"clear\"\n          [color]=\"color\"\n          (click)=\"cancel()\"\n          >Cancel\n        </ion-button>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n</form>\n"}]}],"members":{"organization":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"lines":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"onSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":35,"character":25},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":37,"character":28},{"__symbolic":"reference","module":"@ionic/angular","name":"AlertController","line":38,"character":29}]}],"ionViewWillEnter":[{"__symbolic":"method"}],"recover":[{"__symbolic":"method"}],"presentAlert":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"MhiRegistrationComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"mhi-registration","template":"<form\n  [formGroup]=\"formRegister\"\n  (keyup.enter)=\"formRegister.valid && register()\"\n  (ngSubmit)=\"register()\"\n>\n  <ion-grid class=\"ion-no-padding\" fixed=\"false\">\n    <ion-row\n      class=\"ion-justify-content-center login-container\"\n      [ngStyle]=\"{ background: 'var(--ion-color-' + color + ')' }\"\n    >\n      <ion-col\n        *ngIf=\"title\"\n        size=\"12\"\n        size-sm=\"8\"\n        class=\"ion-padding-horizontal\"\n      >\n        <ion-text\n          [ngStyle]=\"{ color: 'var(--ion-color-' + color + '-contrast)' }\"\n        >\n          <h1>{{ title }}</h1>\n        </ion-text>\n      </ion-col>\n      <ion-col size=\"12\" size-sm=\"8\">\n        <ion-item [lines]=\"lines\" [color]=\"color\">\n          <ion-icon size=\"small\" slot=\"start\" name=\"person-sharp\"></ion-icon>\n          <ion-input\n            type=\"text\"\n            formControlName=\"userName\"\n            placeholder=\"Username\"\n            \n          ></ion-input>\n        </ion-item>\n        <ion-item [lines]=\"lines\" [color]=\"color\">\n          <ion-icon size=\"small\" slot=\"start\" name=\"mail-sharp\"></ion-icon>\n          <ion-input\n            type=\"email\"\n            formControlName=\"email\"\n            placeholder=\"Email\"\n            \n            [readonly]=\"inviteEmail\"\n          >\n          </ion-input>\n        </ion-item>\n        <ion-item [lines]=\"lines\" [color]=\"color\">\n          <ion-icon\n            size=\"small\"\n            slot=\"start\"\n            name=\"lock-closed-sharp\"\n          ></ion-icon>\n          <ion-input\n            type=\"password\"\n            formControlName=\"password\"\n            placeholder=\"Password\"\n            type=\"password\"\n            \n          ></ion-input>\n        </ion-item>\n        <ion-item *ngIf=\"registerErrorMsg\" [lines]=\"lines\" [color]=\"color\">\n          <ion-label color=\"danger\" class=\"ion-text-wrap\"\n            ><b>\n              {{ registerErrorMsg }}\n            </b></ion-label\n          >\n        </ion-item>\n      </ion-col>\n    </ion-row>\n    <ion-row class=\"ion-justify-content-center\">\n      <ion-col size=\"12\" size-sm=\"8\" class=\"ion-text-center\">\n        <ion-button\n          class=\"ion-margin\"\n          size=\"default\"\n          expand=\"full\"\n          type=\"submit\"\n          [disabled]=\"!formRegister.valid\"\n          [color]=\"color\"\n        >\n          Register\n        </ion-button>\n        <div class=\"ion-text-center\">\n          <ion-button\n            class=\"ion-no-margin\"\n            size=\"small\"\n            fill=\"clear\"\n            [color]=\"color\"\n            (click)=\"cancel()\"\n          >\n            Already registered?\n          </ion-button>\n        </div>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n</form>\n"}]}],"members":{"organization":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"title":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"lines":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"onCancel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"onSubmit":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":38,"character":25},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":39,"character":19},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ErrorService"}]}],"ngOnInit":[{"__symbolic":"method"}],"isUserLoggedIn":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"AssetViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"asset-viewer","template":"<video *ngIf=\"mime == 'video'\" controls=\"true\" controlsList=\"nodownload\">\n  <source [src]=\"assetURL\" />\n  Browser not supported\n</video>\n\n<div *ngIf=\"mime == 'image'\" class=\"imgContainer ion-text-center\">\n  <img\n    [src]=\"assetURL\"\n    alt=\"Error Loading Image\"\n    [ngStyle]=\"maxHeight ? { 'max-height': maxHeight } : {}\"\n  />\n</div>\n\n<ion-grid *ngIf=\"mime == 'audio'\" class=\"ion-no-padding\">\n  <ion-row class=\"ion-align-items-center assetRow\">\n    <ion-col class=\"audioFrame\" *ngIf=\"mime == 'audio'\">\n      <ion-icon class=\"audioIcon\" name=\"mic-outline\"></ion-icon>\n      <audio class=\"audioPlayer\" controls controlsList=\"nodownload\">\n        <source [src]=\"assetURL\" />\n      </audio>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n","styles":["video{margin:auto;max-height:66vh;max-width:100%}img{height:auto;vertical-align:middle}.imgContainer,audio{margin:auto}.audioFrame{align-items:center;background-color:var(--ion-color-primary);border-radius:40px;display:flex;justify-content:space-between;max-width:350px;min-width:200px;padding:10px}.audioIcon{color:var(--ion-color-primary-contrast);font-size:35px;min-width:40px}.audioPlayer{margin:0;min-width:125px}.assetRow,ion-grid{height:100%}.assetRow{align-items:center;display:flex;justify-content:center}"]}]}],"members":{"asset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"maxHeight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"}]}]}},"AssetPreviewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"asset-previewer","template":"<ion-header>\n  <ion-toolbar>\n    <ion-title size=\"small\" class=\"ion-text-start\">\n      <ion-label position=\"fixed\"> {{ name }} </ion-label>\n    </ion-title>\n    <ion-buttons slot=\"end\">\n      <ion-button\n        class=\"ion-no-margin\"\n        size=\"small\"\n        slot=\"end\"\n        fill=\"clear\"\n        (click)=\"closeModal()\"\n        tooltip=\"Close preview\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-icon name=\"close-outline\"></ion-icon>\n      </ion-button>\n    </ion-buttons>\n  </ion-toolbar>\n</ion-header>\n\n<div class=\"inner-content\">\n  <video *ngIf=\"mime == 'video'\" controls=\"true\" controlsList=\"nodownload\">\n    <source [src]=\"assetURL\" />\n    Browser not supported\n  </video>\n\n  <div *ngIf=\"mime == 'image'\">\n    <img [src]=\"assetURL\" alt=\"Error Loading Image\" />\n  </div>\n\n  <div class=\"audioFrame\" *ngIf=\"mime == 'audio'\">\n    <ion-icon class=\"audioIcon\" name=\"mic-outline\"></ion-icon>\n    <audio class=\"audioPlayer\" controls controlsList=\"nodownload\">\n      <source [src]=\"assetURL\" />\n    </audio>\n  </div>\n</div>\n","styles":["video{width:100%}img,video{display:block;margin:auto}.audioFrame{align-items:center;background-color:var(--ion-color-primary);border-radius:40px;display:flex;justify-content:space-between;margin:8px auto;max-width:350px;min-width:200px;padding:10px}.audioIcon{color:var(--ion-color-primary-contrast);font-size:35px;min-width:40px}.audioPlayer{margin:0;min-width:125px}"]}]}],"members":{"thing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":22,"character":28}]}],"previewAsset":[{"__symbolic":"method"}],"getMime":[{"__symbolic":"method"}],"closeModal":[{"__symbolic":"method"}]}},"UserLoginComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"user-login","template":"<ng-template [ngIf]=\"(!loggedIn || !api.getUser()) && !showForgotPass\">\n  <form\n    [formGroup]=\"form\"\n    (keyup.enter)=\"form.valid && loginForm()\"\n    (ngSubmit)=\"loginForm()\"\n  >\n    <ion-card mode=\"md\">\n      <ion-card-header>\n        <ion-card-title> Log in </ion-card-title>\n      </ion-card-header>\n      <ion-card-content>\n        <ion-item lines=\"none\">\n          <ion-label position=\"fixed\" class=\"ion-margin-bottom\"\n            >Username</ion-label\n          >\n          <ion-input type=\"text\" formControlName=\"userName\"> </ion-input>\n        </ion-item>\n        <ion-item lines=\"none\">\n          <ion-label position=\"fixed\" class=\"ion-margin-bottom\"\n            >Password</ion-label\n          >\n          <ion-input type=\"password\" formControlName=\"password\"> </ion-input>\n        </ion-item>\n        <ion-item lines=\"none\" *ngIf=\"loginErrorMsg\">\n          <ion-label class=\"ion-text-wrap\">{{ loginErrorMsg }}</ion-label>\n        </ion-item>\n\n        <ion-grid class=\"ion-no-padding\">\n          <ion-row>\n            <ion-col>\n              <ion-button\n                class=\"ion-margin\"\n                expand=\"block\"\n                type=\"submit\"\n                [disabled]=\"!form.valid\"\n              >\n                Log in\n              </ion-button>\n            </ion-col>\n          </ion-row>\n          <ion-row *ngIf=\"guestLoginCredentials\">\n            <ion-col>\n              <ion-button\n                class=\"ion-margin\"\n                expand=\"block\"\n                (click)=\"loginGuest()\"\n              >\n                Continue as Guest\n              </ion-button>\n            </ion-col>\n          </ion-row>\n          <ion-row>\n            <ion-col class=\"ion-no-padding ion-text-center\">\n              <ion-button\n                fill=\"clear\"\n                size=\"small\"\n                [routerLink]=\"\"\n                (click)=\"setShowForgotPass(true)\"\n                >Forgot password?\n              </ion-button>\n              <ng-container *ngIf=\"allowToSignUp\">\n                <span>.</span>\n                <ion-button\n                  fill=\"clear\"\n                  size=\"small\"\n                  [routerLink]=\"\"\n                  (click)=\"openRegistration()\"\n                  >Sign up</ion-button\n                >\n              </ng-container>\n              <!-- <ng-container *ngIf=\"allowToSignUp\">\n                <ion-button\n                  fill=\"clear\"\n                  size=\"small\"\n                  [routerLink]=\"\"\n                  (click)=\"goToRegistration()\"\n                  >Sign up</ion-button\n                >\n              </ng-container> -->\n            </ion-col>\n          </ion-row>\n        </ion-grid>\n      </ion-card-content>\n    </ion-card>\n  </form>\n</ng-template>\n<!-- Commenting the following because \"logout\" has it's own button  -->\n<!-- <ng-template [ngIf]=\"loggedIn\">\n  <ion-button\n    type=\"submit\"\n    expand=\"block\"\n    class=\"ion-margin-top\"\n    (click)=\"logout()\"\n  >\n    Log out\n  </ion-button>\n</ng-template> -->\n\n<ng-template [ngIf]=\"!loggedIn && showForgotPass\">\n  <form\n    [formGroup]=\"formRecover\"\n    (keyup.enter)=\"formRecover.valid && recover()\"\n    (ngSubmit)=\"recover()\"\n  >\n    <ion-card mode=\"md\">\n      <ion-card-header>\n        <ion-card-title> Password recovery </ion-card-title>\n      </ion-card-header>\n      <ng-template [ngIf]=\"!showGoToEmailInbox\">\n        <ion-card-content>\n          <ion-item lines=\"none\">\n            <ion-label position=\"fixed\" class=\"ion-margin-bottom\"\n              >Email</ion-label\n            >\n            <ion-input type=\"email\" formControlName=\"email\"> </ion-input>\n          </ion-item>\n          <ion-grid class=\"ion-no-padding\">\n            <ion-row>\n              <ion-col class=\"ion-no-padding ion-text-center\">\n                <ion-button\n                  class=\"ion-margin\"\n                  expand=\"block\"\n                  type=\"submit\"\n                  [disabled]=\"!formRecover.valid\"\n                >\n                  Submit\n                </ion-button>\n              </ion-col>\n            </ion-row>\n            <ion-row>\n              <ion-col class=\"ion-no-padding ion-text-center\">\n                <ion-button\n                  fill=\"clear\"\n                  size=\"small\"\n                  [routerLink]=\"\"\n                  (click)=\"setShowForgotPass(false)\"\n                  >Cancel\n                </ion-button>\n              </ion-col>\n            </ion-row>\n          </ion-grid>\n        </ion-card-content>\n      </ng-template>\n      <ng-template [ngIf]=\"showGoToEmailInbox\">\n        <ion-card-content>\n          <ion-grid class=\"ion-no-padding\">\n            <ion-row>\n              <ion-col class=\"ion-no-padding ion-text-center\">\n                <ion-label\n                  >If a matching account was found an email was sent to allow\n                  you to reset your password.</ion-label\n                >\n              </ion-col>\n            </ion-row>\n            <ion-row>\n              <ion-col class=\"ion-no-padding ion-text-center\">\n                <ion-label>Check your inbox for more instructions.</ion-label>\n              </ion-col>\n            </ion-row>\n            <ion-row>\n              <ion-col class=\"ion-no-padding ion-text-center\">\n                <ion-button\n                  fill=\"clear\"\n                  size=\"small\"\n                  [routerLink]=\"\"\n                  (click)=\"setShowForgotPass(false)\"\n                  >Go back\n                </ion-button>\n              </ion-col>\n            </ion-row>\n          </ion-grid>\n        </ion-card-content>\n      </ng-template>\n    </ion-card>\n  </form>\n</ng-template>\n"}]}],"members":{"allowToSignUp":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"organizationToLogin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"organizationToRegister":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"organizationForConfigs":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"guestLoginCredentials":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"registerSubtitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"rolesAllowedToLogin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":28,"character":3}}]}],"isLoggedIn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":31,"character":3}}]}],"isLoggingIn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":32,"character":3}}]}],"wantToGoToRegistration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":33,"character":3}}]}],"loginError":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":49,"character":25},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ThemeService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":52,"character":28},{"__symbolic":"reference","module":"@ionic/angular","name":"IonRouterOutlet","line":53,"character":26},{"__symbolic":"reference","name":"UserInactivityService"},{"__symbolic":"reference","name":"ConsentService"},{"__symbolic":"reference","name":"RelativeConsentService"},{"__symbolic":"reference","name":"TermsOfUseService"},{"__symbolic":"reference","name":"PasswordUpdatePolicyService"}]}],"ionViewWillEnter":[{"__symbolic":"method"}],"getData":[{"__symbolic":"method"}],"loginForm":[{"__symbolic":"method"}],"loginGuest":[{"__symbolic":"method"}],"login":[{"__symbolic":"method"}],"logout":[{"__symbolic":"method"}],"recover":[{"__symbolic":"method"}],"setShowForgotPass":[{"__symbolic":"method"}],"goToRegistration":[{"__symbolic":"method"}],"openRegistration":[{"__symbolic":"method"}]}},"RegistrationViaInviteComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"registration-via-invite","template":"<div class=\"inner-content\">\n  <ion-card class=\"ion-no-margin\">\n    <ion-card-header>\n      <ion-grid class=\"ion-no-padding\">\n        <ion-row>\n          <ion-col class=\"ion-no-padding\" size=\"11\">\n            <ion-card-title *ngIf=\"!isInvite\"> Registration </ion-card-title>\n            <ion-card-title *ngIf=\"isInvite\">\n              Registration by invite\n            </ion-card-title>\n            <ion-card-subtitle\n              *ngIf=\"subtitle\"\n              [innerHtml]=\"subtitle | safeHtml\"\n            ></ion-card-subtitle>\n          </ion-col>\n          <ion-col class=\"ion-no-padding ion-text-end\" size=\"1\">\n            <ion-button\n              *ngIf=\"isModal\"\n              class=\"ion-no-margin\"\n              size=\"small\"\n              fill=\"clear\"\n              (click)=\"closeModal()\"\n              tooltip=\"Close preview\"\n              placement=\"bottom\"\n              delay=\"500\"\n            >\n              <ion-icon name=\"close-outline\"></ion-icon>\n            </ion-button>\n          </ion-col>\n        </ion-row>\n      </ion-grid>\n    </ion-card-header>\n    <ion-card-content>\n        <form\n          [formGroup]=\"formRegister\"\n          (keyup.enter)=\"formRegister.valid && register()\"\n          (ngSubmit)=\"register()\"\n        >\n          <ion-item lines=\"none\">\n            <ion-label [position]=\"windowWidth > 700 ? 'fixed': 'stacked'\" class=\"ion-margin-bottom\">\n              Username\n            </ion-label>\n            <ion-input type=\"text\" formControlName=\"userName\" placeholder=\"Select an username\"> </ion-input>\n          </ion-item>\n          <ion-item lines=\"none\">\n            <ion-label [position]=\"windowWidth > 700 ? 'fixed': 'stacked'\" class=\"ion-margin-bottom\"\n              >Email</ion-label\n            >\n            <ion-input\n              type=\"email\"\n              formControlName=\"email\"\n              [readonly]=\"inviteEmail\"\n            >\n            </ion-input>\n          </ion-item>\n          <ion-item lines=\"none\">\n            <ion-label [position]=\"windowWidth > 700 ? 'fixed': 'stacked'\" class=\"ion-margin-bottom\">\n              Password\n            </ion-label>\n            <ion-input type=\"password\" formControlName=\"password\" placeholder=\"Set a password\"> </ion-input>\n          </ion-item>\n          <ion-grid class=\"ion-no-padding\">\n            <ion-row>\n              <ion-col>\n                <ion-button\n                  class=\"ion-margin\"\n                  expand=\"block\"\n                  type=\"submit\"\n                  [disabled]=\"!formRegister.valid\"\n                >\n                  Register\n                </ion-button>\n              </ion-col>\n            </ion-row>\n            <ion-row>\n              <ion-col>\n                <ion-item lines=\"none\" *ngIf=\"registerErrorMsg\">\n                  <ion-label color=\"danger\" class=\"ion-text-wrap\">\n                    {{ registerErrorMsg }}\n                  </ion-label>\n                </ion-item>\n              </ion-col>\n            </ion-row>\n            <ion-row>\n              <ion-col class=\"ion-no-padding ion-text-center\">\n                <ion-button\n                  fill=\"clear\"\n                  size=\"small\"\n                  (click)=\"closeModalAndGoToLogin()\"\n                >\n                  Already registered? Login here\n                </ion-button>\n              </ion-col>\n            </ion-row>\n          </ion-grid>\n        </form>\n    </ion-card-content>\n  </ion-card>\n</div>\n","styles":[""]}]}],"members":{"organization":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"subtitle":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"registered":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"wantToGoToLogin":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":37,"character":25},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":38,"character":19},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":40,"character":28},{"__symbolic":"reference","name":"ErrorService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ionViewWillEnter":[{"__symbolic":"method"}],"isUserLoggedIn":[{"__symbolic":"method"}],"register":[{"__symbolic":"method"}],"goToLogin":[{"__symbolic":"method"}],"closeModal":[{"__symbolic":"method"}],"closeModalAndGoToLogin":[{"__symbolic":"method"}]}},"ResetPasswordComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"reset-password","template":"<ion-grid fixed=\"true\">\n  <ion-row>\n    <ion-col>\n      <form\n        [formGroup]=\"form\"\n        (keyup.enter)=\"form.valid && reset()\"\n        (ngSubmit)=\"reset()\"\n      >\n        <ion-card>\n          <ion-card-header>\n            <ion-card-title color=\"primary\">\n              Choose new password\n            </ion-card-title>\n          </ion-card-header>\n          <ion-card-content>\n            <ion-item lines=\"none\">\n              <ion-label position=\"fixed\">Password</ion-label>\n              <ion-input type=\"password\" formControlName=\"password\">\n              </ion-input>\n            </ion-item>\n            <ion-item lines=\"none\">\n              <ion-label position=\"fixed\">Confirm Password</ion-label>\n              <ion-input type=\"password\" formControlName=\"confirmPassword\">\n              </ion-input>\n            </ion-item>\n            <ion-item lines=\"none\" *ngIf=\"resetErrorMsg\">\n              <ion-label color=\"primary\">{{ resetErrorMsg }}</ion-label>\n            </ion-item>\n            <ion-button\n              type=\"submit\"\n              [disabled]=\"!form.valid\"\n              expand=\"block\"\n              class=\"ion-margin-vertical\"\n            >\n              Submit\n            </ion-button>\n          </ion-card-content>\n        </ion-card>\n      </form>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n"}]}],"members":{"resetOK":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":18,"character":25},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@angular/router","name":"ActivatedRoute","line":20,"character":19}]}],"ionViewWillEnter":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]}},"ChangePasswordComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"change-password","template":"<ion-grid fixed=\"true\">\n  <ion-row>\n    <ion-col>\n      <form\n        [formGroup]=\"form\"\n        (keyup.enter)=\"form.valid && reset()\"\n        (ngSubmit)=\"reset()\"\n      >\n        <ion-card>\n          <ion-card-header>\n            <ion-card-title color=\"primary\">\n              Choose new password\n            </ion-card-title>\n            <ion-card-subtitle\n              >Your password has to be changed due to organization\n              policy</ion-card-subtitle\n            >\n          </ion-card-header>\n          <ion-card-content>\n            <ion-item lines=\"none\">\n              <ion-label position=\"fixed\">Password</ion-label>\n              <ion-input type=\"password\" formControlName=\"password\">\n              </ion-input>\n            </ion-item>\n            <ion-item lines=\"none\">\n              <ion-label position=\"fixed\">Confirm</ion-label>\n              <ion-input type=\"password\" formControlName=\"confirmPassword\">\n              </ion-input>\n            </ion-item>\n            <ion-item lines=\"none\" *ngIf=\"resetErrorMsg\">\n              <ion-label color=\"primary\">{{ resetErrorMsg }}</ion-label>\n            </ion-item>\n            <ion-button\n              type=\"submit\"\n              [disabled]=\"!form.valid\"\n              expand=\"block\"\n              class=\"ion-margin-vertical\"\n            >\n              Submit\n            </ion-button>\n          </ion-card-content>\n        </ion-card>\n      </form>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n"}]}],"members":{"changedOK":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":18,"character":25},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":20,"character":28}]}],"ionViewWillEnter":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"reset":[{"__symbolic":"method"}]}},"DownloadAppLinksComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"download-app-links","template":"<div class=\"inner-content\">\n  <ion-card class=\"ion-no-margin\">\n    <ion-card-header>\n      <ion-grid class=\"ion-no-padding\">\n        <ion-row>\n          <ion-col class=\"ion-no-padding\" size=\"11\">\n            <ion-card-title> Download the mobile app </ion-card-title>\n            <ion-card-subtitle>\n              Get the mobile app for your device and log in using your\n              credentials</ion-card-subtitle\n            >\n          </ion-col>\n          <ion-col class=\"ion-no-padding ion-text-end\" size=\"1\">\n            <ion-button\n              *ngIf=\"isModal\"\n              class=\"ion-no-margin\"\n              size=\"small\"\n              fill=\"clear\"\n              (click)=\"closeModal()\"\n              tooltip=\"Close preview\"\n              placement=\"bottom\"\n              delay=\"500\"\n            >\n              <ion-icon name=\"close-outline\"></ion-icon>\n            </ion-button>\n          </ion-col>\n        </ion-row>\n      </ion-grid>\n    </ion-card-header>\n    <ion-card-content>\n      <ion-grid>\n        <ion-row class=\"ion-align-items-center\" *ngIf=\"links.ios\">\n          <ion-col class=\"ion-text-center ion-align-items-center\">\n            <a [href]=\"links.ios\" target=\"_blank\">\n              <img\n                src=\"assets/svg/app-store-black.svg\"\n                alt=\"Download on the App Store\"\n                style=\"width: 30vw\"\n                class=\"download-app\"\n              />\n            </a>\n          </ion-col>\n        </ion-row>\n        <ion-row class=\"ion-align-items-center\" *ngIf=\"links.android\">\n          <ion-col class=\"ion-text-center\">\n            <a [href]=\"links.android\" target=\"_blank\">\n              <img\n                src=\"assets/svg/Google_Play_Store_badge_EN.svg\"\n                alt=\"Get it on Google Play\"\n                style=\"width: 30vw\"\n                class=\"download-app\"\n                href\n              />\n            </a>\n          </ion-col>\n        </ion-row>\n      </ion-grid>\n    </ion-card-content>\n  </ion-card>\n</div>\n","styles":[".download-app{max-width:400px;min-width:200px;width:30vw}"]}]}],"members":{"links":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":19,"character":28},{"__symbolic":"reference","name":"ErrorService"}]}],"ionViewWillEnter":[{"__symbolic":"method"}],"closeModal":[{"__symbolic":"method"}]}},"RichtextViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"richtext-viewer","encapsulation":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewEncapsulation","line":10,"character":17},"member":"None"},"template":"<ion-button class=\"prtButton\" *ngIf=\"data.printable\" (click)=\"printResource()\">\n  <ion-icon\n    class=\"ion-no-padding ion-no-margin\"\n    name=\"print-outline\"\n  ></ion-icon>\n</ion-button>\n<div *ngIf=\"render\">\n  <quill-view-html [ngStyle]=\"changeStyle()\" [content]=\"data.outputHTML\">\n  </quill-view-html>\n</div>\n","styles":[".prtButton{left:0;position:absolute;top:-24px}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"ngDoCheck":[{"__symbolic":"method"}],"changeStyle":[{"__symbolic":"method"}],"printResource":[{"__symbolic":"method"}]}},"ResourceViewers":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"resource-viewers","template":"<ion-grid class=\"ion-no-padding\">\n  <ion-row>\n    <ion-col size=\"12\">\n      <div *ngIf=\"resource && resource.metadata && ready\">\n        <div *ngIf=\"resource.metadata.type == 'richtext'\">\n          <richtext-viewer [resource]=\"resource\"> </richtext-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'textwithasset'\">\n          <richtext-asset-viewer [resource]=\"resource\"> </richtext-asset-viewer>\n        </div>\n\n        <div *ngIf=\"\n            resource.metadata.type == 'icuDiaryStaffEntry' ||\n            resource.metadata.type == 'icuDiaryRelativeEntry' ||\n            resource.metadata.type == 'icuDiaryDiaryEntry'\n          \">\n          <icu-diary-viewer [resource]=\"resource\"> </icu-diary-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'asset'\">\n          <asset-res-viewer [resource]=\"resource\"> </asset-res-viewer>\n        </div>\n\n        <div *ngIf=\"\n            resource.metadata.type == 'page' ||\n            resource.metadata.type == 'premiumPage'\n          \">\n          <page-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </page-viewer>\n        </div>\n\n        <div *ngIf=\"\n        resource.metadata.type == 'helpArticle'\n      \">\n          <help-article-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </help-article-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'diagram'\">\n          <base-diagram-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </base-diagram-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'pageLinks'\">\n          <resource-carousel-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </resource-carousel-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'diagram2'\">\n          <circular-diagram-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </circular-diagram-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'acasMeter'\">\n          <acas-meter-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </acas-meter-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'indexBuilder'\">\n          <hierarchical-tree-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </hierarchical-tree-viewer>\n        </div>\n\n        <div *ngIf=\"resource.metadata.type == 'menu'\">\n          <menu-viewer [resource]=\"resource\" (navigate)=\"navigateEvent($event)\">\n          </menu-viewer>\n        </div>\n      </div>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n","styles":[".scrollable-modal{overflow-y:scroll}.resGrid{max-width:100%}.resGrid,.resRow{display:flex;justify-content:center;width:100%}.resRow{max-width:500px}.pageButton{text-transform:none!important}.slide,.slideCol,.slideRow,.slides{max-width:100%!important}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"contextData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"textPlaceholderConf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"modalResources":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@awesome-cordova-plugins/in-app-browser/ngx","name":"InAppBrowser","line":33,"character":17},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":34,"character":19},{"__symbolic":"reference","module":"@ionic/angular","name":"Platform","line":35,"character":21},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"AlertController","line":37,"character":29},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":38,"character":22}]}],"navigateEvent":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"loadModalResources":[{"__symbolic":"method"}],"verifyPlaceholders":[{"__symbolic":"method"}],"replacePlaceholders":[{"__symbolic":"method"}],"openInAppBrowser":[{"__symbolic":"method"}],"showResourceModal":[{"__symbolic":"method"}],"waitFor":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"RichtextAssetViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"richtext-asset-viewer","template":"<ion-grid>\n  <ion-row>\n    <h1 *ngIf=\"data.assetOptions.showTitle\">{{ data.title }}</h1>\n  </ion-row>\n  <ion-row>\n    <ion-col\n      size=\"12\"\n      size-sm\n      [ngStyle]=\"pickTextStyle()\"\n      *ngIf=\"!data.assetOptions.invert\"\n    >\n      <quill-view-html [content]=\"data.outputHTML\"></quill-view-html>\n    </ion-col>\n\n    <ion-col\n      size=\"12\"\n      [ngStyle]=\"pickAssetStyle()\"\n      size-sm\n      *ngIf=\"data.assetguid !== ''\"\n    >\n      <ng-container #viewContainer></ng-container>\n      <quill-view-html\n        *ngIf=\"data.assetOptions.showCaption\"\n        [content]=\"data.caption\"\n      ></quill-view-html>\n    </ion-col>\n\n    <ion-col\n      size=\"12\"\n      size-sm\n      [ngStyle]=\"pickTextStyle()\"\n      *ngIf=\"data.assetOptions.invert\"\n    >\n      <quill-view-html [content]=\"data.outputHTML\"></quill-view-html>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n","styles":[""]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"viewContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":24,"character":3},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":24,"character":38}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":33,"character":22}]}],"ngDoCheck":[{"__symbolic":"method"}],"getAsset":[{"__symbolic":"method"}],"createAssetView":[{"__symbolic":"method"}],"pickTextStyle":[{"__symbolic":"method"}],"pickAssetStyle":[{"__symbolic":"method"}]}},"ResourceViewersModal":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"resource-viewers-modal","template":"<ion-header>\n  <ion-item lines=\"none\">\n    <ion-button\n      slot=\"end\"\n      class=\"ion-no-margin\"\n      size=\"small\"\n      fill=\"clear\"\n      (click)=\"closeModal()\"\n      tooltip=\"Close preview\"\n      placement=\"bottom\"\n      delay=\"500\"\n    >\n      <ion-icon name=\"close-outline\"></ion-icon>\n    </ion-button>\n  </ion-item>\n</ion-header>\n<div *ngIf=\"render\" id=\"previewContainer\">\n  <div id=\"preview\">\n    <ion-content>\n      <ion-card class=\"ion-no-margin\">\n        <resource-viewers\n          *ngIf=\"render\"\n          [resource]=\"refreshedResource\"\n          (navigate)=\"navigateEvent($event)\"\n        ></resource-viewers>\n      </ion-card>\n    </ion-content>\n  </div>\n</div>\n","styles":["#previewContainer{display:inherit;overflow:hidden}#preview,#previewContainer{height:100%;margin:auto;width:100%}#preview{transform-origin:top center}#preview ion-content{--background:inherit}#preview ion-content ion-card{height:100%;overflow:auto}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":29,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"navigateEvent":[{"__symbolic":"method"}],"closeModal":[{"__symbolic":"method"}]}},"ResourceViewersModalPreview":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"resource-viewers-modal-preview","template":"<ion-header>\n  <ion-toolbar>\n    <ion-buttons slot=\"start\">\n      <ion-segment\n        scrollable=\"true\"\n        (ionChange)=\"deviceChange($event)\"\n        value=\"responsive\"\n      >\n        <ion-segment-button value=\"tablet\" layout=\"icon-start\">\n          <ion-icon name=\"tablet-portrait-outline\" size=\"small\"></ion-icon>\n          <ion-label>Tablet</ion-label>\n        </ion-segment-button>\n        <ion-segment-button value=\"phone\" layout=\"icon-start\">\n          <ion-icon name=\"phone-portrait-outline\" size=\"small\"></ion-icon>\n          <ion-label>Phone</ion-label>\n        </ion-segment-button>\n        <ion-segment-button value=\"responsive\" layout=\"icon-start\">\n          <ion-icon name=\"laptop-outline\" size=\"small\"></ion-icon>\n          <ion-label>Responsive</ion-label>\n        </ion-segment-button>\n      </ion-segment>\n    </ion-buttons>\n\n    <ion-title size=\"small\" class=\"ion-text-center\">\n      <ion-label position=\"fixed\"> Resolution:&nbsp; </ion-label>\n      <ion-label>{{ previewResolution }} @ {{ previewScale }}</ion-label>\n    </ion-title>\n    <ion-buttons slot=\"end\">\n      <ion-button\n        class=\"ion-no-margin\"\n        size=\"small\"\n        slot=\"end\"\n        fill=\"clear\"\n        (click)=\"rotatePreview()\"\n        [disabled]=\"currentMode === 'responsive'\"\n        tooltip=\"Rotate display\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-icon name=\"refresh-outline\"></ion-icon>\n      </ion-button>\n      <ion-button\n        class=\"ion-no-margin\"\n        size=\"small\"\n        slot=\"end\"\n        fill=\"clear\"\n        (click)=\"closeModal()\"\n        tooltip=\"Close preview\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-icon name=\"close-outline\"></ion-icon>\n      </ion-button>\n    </ion-buttons>\n  </ion-toolbar>\n</ion-header>\n\n<div id=\"previewContainer\">\n  <figure id=\"preview\" class=\"ion-padding\">\n    <ion-content>\n      <ion-card class=\"ion-no-margin\">\n        <resource-viewers\n          *ngIf=\"render\"\n          [resource]=\"thing\"\n          (navigate)=\"navigateEvent($event)\"\n        ></resource-viewers>\n      </ion-card>\n    </ion-content>\n  </figure>\n</div>\n","styles":["#previewContainer{display:inherit;overflow:hidden;position:relative}#preview,#previewContainer{height:100%;margin:auto;width:100%}#preview{transform-origin:top left}#preview ion-content{--background:inherit;box-shadow:0 8px 6px -6px var(--ion-color-dark)}#preview ion-content ion-card{height:100%;overflow:auto}"]}]}],"members":{"thing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":38,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ionViewDidEnter":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"navigateEvent":[{"__symbolic":"method"}],"closeModal":[{"__symbolic":"method"}],"getPreviewAreas":[{"__symbolic":"method"}],"setDisplaySize":[{"__symbolic":"method"}],"scalePreview":[{"__symbolic":"method","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"HostListener","line":106,"character":3},"arguments":["window:resize",[]]}]}],"deviceChange":[{"__symbolic":"method"}],"rotatePreview":[{"__symbolic":"method"}]}},"ResourceCarouselViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"resource-carousel-viewer","template":"<ng-template [ngIf]=\"!hasArray\">\n  <ion-grid class=\"carouselGrid\">\n    <ion-row class=\"carouselRow\">\n      <ng-template [ngIf]=\"render\">\n        <ion-col\n          [ngStyle]=\"pickItemStyle()\"\n          *ngFor=\"let link of data.reslinks; let i = index\"\n        >\n          <carousel-item-viewer\n            [reslink]=\"link\"\n            [styleSvg]=\"pickSvgStyle(i)\"\n            [styleAsset]=\"pickAssetStyle()\"\n            [styleText]=\"pickTextStyle()\"\n            (navigate)=\"triggerNavigation($event)\"\n          ></carousel-item-viewer>\n        </ion-col>\n      </ng-template>\n    </ion-row>\n  </ion-grid>\n</ng-template>\n\n<ng-template [ngIf]=\"hasArray\">\n  <ion-grid class=\"carouselGrid\">\n    <ion-row class=\"carouselRow\">\n      <ion-col\n        [ngStyle]=\"pickItemStyle()\"\n        *ngFor=\"let thing of resource.things; let i = index\"\n      >\n        <carousel-dyn-item-viewer\n          *ngIf=\"thing.type === 'Resource'\"\n          [resource]=\"thing\"\n          [styleSvg]=\"pickSvgStyle(i)\"\n          [styleAsset]=\"pickAssetStyle()\"\n          [styleText]=\"pickTextStyle()\"\n          (navigate)=\"triggerNavigation($event)\"\n        >\n        </carousel-dyn-item-viewer>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n</ng-template>\n","styles":[".carouselItem{cursor:pointer;height:100%;width:100%}.carouselItem:hover{filter:hue-rotate(32deg) saturate(100%) brightness(90%)}.carouselRow,.itemRow{display:flex;justify-content:center}.itemRow{padding:0;width:100%}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"viewContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":22,"character":3},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":22,"character":38}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"init":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"rearrangeResourcesArray":[{"__symbolic":"method"}],"resHasArray":[{"__symbolic":"method"}],"triggerNavigation":[{"__symbolic":"method"}],"buildSvgHeader":[{"__symbolic":"method"}],"pickSvgStyle":[{"__symbolic":"method"}],"pickItemStyle":[{"__symbolic":"method"}],"pickAssetStyle":[{"__symbolic":"method"}],"pickTextStyle":[{"__symbolic":"method"}]}},"CarouselItemViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":17,"character":1},"arguments":[{"selector":"carousel-item-viewer","template":"<div class=\"carouselItem\" (click)=\"triggerNavigation()\">\n  <ion-grid [ngStyle]=\"pickContainer()\">\n    <ion-row class=\"itemRow\">\n      <ion-col size=\"12\" [ngStyle]=\"pickTextStyle()\">\n        <quill-view-html [content]=\"reslink.text\"></quill-view-html>\n      </ion-col>\n      <ion-col [ngStyle]=\"pickAssetStyle()\">\n        <asset-viewer [asset]=\"asset\"></asset-viewer>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n</div>\n","styles":[".carouselItem{cursor:pointer;height:100%;width:100%}.carouselItem:hover{filter:hue-rotate(32deg) saturate(100%) brightness(90%)}.carouselRow,.itemRow{display:flex;justify-content:center}.itemRow{padding:0;width:100%}"]}]}],"members":{"reslink":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"styleSvg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"styleAsset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"styleText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"viewContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":28,"character":3},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":28,"character":38}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"PopoverController","line":38,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":39,"character":22},{"__symbolic":"reference","name":"ApiService"}]}],"init":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"getAsset":[{"__symbolic":"method"}],"createAssetView":[{"__symbolic":"method"}],"triggerNavigation":[{"__symbolic":"method"}],"pickAssetStyle":[{"__symbolic":"method"}],"pickTextStyle":[{"__symbolic":"method"}],"pickContainer":[{"__symbolic":"method"}]}},"CarouselDynItemViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"carousel-dyn-item-viewer","template":"<div class=\"carouselItem\" (click)=\"triggerNavigation()\">\n  <ion-grid [ngStyle]=\"pickContainer()\">\n    <ion-row class=\"itemRow\">\n      <ng-template [ngIf]=\"resource.displayOptions.text != ''\">\n        <ion-col size=\"12\" [ngStyle]=\"pickTextStyle()\">\n          <quill-view-html\n            [content]=\"resource.displayOptions.text\"\n          ></quill-view-html>\n        </ion-col>\n      </ng-template>\n\n      <ion-col [ngStyle]=\"pickAssetStyle()\">\n        <asset-viewer *ngIf=\"asset\" [asset]=\"asset\"></asset-viewer>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n</div>\n","styles":[".carouselItem{cursor:pointer;height:100%;width:100%}.carouselItem:hover{filter:hue-rotate(32deg) saturate(100%) brightness(90%)}.carouselRow,.itemRow{display:flex;justify-content:center}.itemRow{padding:0;width:100%}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"styleSvg":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"styleAsset":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"styleText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"viewContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":29,"character":38}}]}]}],"resourceContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":32,"character":3},"arguments":["resourceContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":32,"character":42}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"PopoverController","line":44,"character":30},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":45,"character":22},{"__symbolic":"reference","name":"ApiService"}]}],"init":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"getAsset":[{"__symbolic":"method"}],"createAssetView":[{"__symbolic":"method"}],"triggerNavigation":[{"__symbolic":"method"}],"viewResourceViewer":[{"__symbolic":"method"}],"pickAssetStyle":[{"__symbolic":"method"}],"pickTextStyle":[{"__symbolic":"method"}],"pickContainer":[{"__symbolic":"method"}]}},"HierarchicalTreeViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"hierarchical-tree-viewer","template":"<ion-header *ngIf=\"loaded\">\n  <ion-toolbar>\n    <ng-template [ngIf]=\"header\">\n      <ion-buttons slot=\"start\">\n        <ion-menu-button color=\"primary\"></ion-menu-button>\n      </ion-buttons>\n      <ion-buttons\n        *ngIf=\"data.displayOptions.displayButtons\"\n        [slot]=\"data.displayOptions.buttonsSlot\"\n      >\n        <ng-template ngFor let-btn [ngForOf]=\"header.buttonList\" let-i=\"index\">\n          <app-header-button-viewer\n            (navigate)=\"navigateFromHeader($event)\"\n            [header]=\"header\"\n            [button]=\"btn\"\n          ></app-header-button-viewer>\n        </ng-template>\n      </ion-buttons>\n    </ng-template>\n\n    <ion-title\n      *ngIf=\"data.displayOptions.displayTitle\"\n      [slot]=\"data.displayOptions.titleSlot\"\n      >{{ data.title }}</ion-title\n    >\n    <div\n      *ngIf=\"asset\"\n      [slot]=\"data.displayOptions.iconSlot\"\n      class=\"logoContainer\"\n    >\n      <asset-viewer [asset]=\"asset\"></asset-viewer>\n    </div>\n  </ion-toolbar>\n</ion-header>\n\n<ion-content *ngIf=\"loaded\" class=\"ion-padding ion-cnt split-pane\">\n  <tree-node-viewer\n    [nodesToHighlight]=\"selectNodesToHighlight\"\n    *ngFor=\"let child of data.nodes\"\n    [node]=\"child\"\n    (resourceSelected)=\"passResource($event)\"\n  ></tree-node-viewer>\n\n  <!-- Navigations Buttons -->\n  <div\n    *ngIf=\"data.displayOptions.displayNavButtons\"\n    vertical=\"bottom\"\n    horizontal=\"end\"\n    class=\"ion-margin\"\n  >\n    <ion-grid>\n      <ion-row class=\"ion-align-items-center ion-justify-content-evenly\">\n        <ion-button *ngIf=\"prevNode\" (click)=\"prev()\">\n          <ion-icon name=\"chevron-back-outline\"></ion-icon>\n          <ion-label *ngIf=\"data.displayOptions.displayNavButtonsText\">\n            {{ prevNode.title }}\n          </ion-label>\n        </ion-button>\n        <ion-button *ngIf=\"nextNode\" (click)=\"next()\">\n          <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n          <ion-label *ngIf=\"data.displayOptions.displayNavButtonsText\">\n            {{ nextNode.title }}\n          </ion-label>\n        </ion-button>\n      </ion-row>\n    </ion-grid>\n  </div>\n</ion-content>\n","styles":[".ios .logoContainer,.md .logoContainer{width:48px}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"navButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"currentResGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngDoCheck":[{"__symbolic":"method"}],"back":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"prev":[{"__symbolic":"method"}],"findNode":[{"__symbolic":"method"}],"probeNode":[{"__symbolic":"method"}],"isArray":[{"__symbolic":"method"}],"findNodeId":[{"__symbolic":"method"}],"probeNodeGuid":[{"__symbolic":"method"}],"passResource":[{"__symbolic":"method"}],"btnClick":[{"__symbolic":"method"}],"navigateFromHeader":[{"__symbolic":"method"}]}},"TreeNodeViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"tree-node-viewer","template":"<ion-card class=\"menu-card\">\n  <ion-item [ngStyle]=\"pickStyles(node.id)\" class=\"menu-label\" lines=\"none\">\n    <ion-label\n      (click)=\"selectResource()\"\n      class=\"\n        menu-label\n        ion-padding-vertical ion-no-margin ion-align-self-center\n      \"\n      >{{ node.title }}\n    </ion-label>\n    <!-- <quill-view-html\n      class=\"\n        menu-label\n        ion-padding-vertical ion-no-margin ion-align-self-center\n      \"\n      [content]=\"node.title\"\n      (click)=\"selectResource()\"\n    >\n    </quill-view-html> -->\n\n    <ng-template [ngIf]=\"node.nodes\">\n      <ion-button\n        *ngIf=\"node.nodes.length > 0\"\n        fill=\"clear\"\n        (click)=\"toggleSubNode()\"\n      >\n        <ion-icon *ngIf=\"!toggle\" name=\"chevron-forward-outline\"></ion-icon>\n        <ion-icon *ngIf=\"toggle\" name=\"chevron-down-outline\"></ion-icon>\n      </ion-button>\n    </ng-template>\n  </ion-item>\n\n  <ul\n    class=\"menu-label\"\n    *ngIf=\"toggle\"\n    class=\"sub-item ion-no-padding ion-no-margin\"\n  >\n    <ng-template [ngIf]=\"isArray\">\n      <tree-node-viewer\n        [nodesToHighlight]=\"nodesToHighlight\"\n        *ngFor=\"let child of node.nodes\"\n        [node]=\"child\"\n        (resourceSelected)=\"passResource($event)\"\n      ></tree-node-viewer>\n    </ng-template>\n  </ul>\n</ion-card>\n","styles":[".ios .logoContainer,.md .logoContainer{width:48px}"]}]}],"members":{"resourceSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"nodesToHighlight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"selectResource":[{"__symbolic":"method"}],"passResource":[{"__symbolic":"method"}],"toggleSubNode":[{"__symbolic":"method"}],"pickStyles":[{"__symbolic":"method"}],"invertColor":[{"__symbolic":"method"}],"pad":[{"__symbolic":"method"}],"pickColor":[{"__symbolic":"method"}],"pickTextStyle":[{"__symbolic":"method"}]}},"TreeViewerIconButtons":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"tree-viewer-icon-buttons","template":"<h1>Hi I'm a icon buttons component</h1>\n","styles":[".ios .logoContainer,.md .logoContainer{width:48px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}]}},"TreeViewerNavButtons":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":2,"character":1},"arguments":[{"selector":"tree-viewer-nav-buttons","template":"<ion-grid>\n  <ion-row\n    class=\"ion-justify-content-between ion-padding-start ion-padding-end\"\n    *ngIf=\"navButtons\"\n  >\n    <!-- <ion-col class=\"ion-no-padding ion-no-margin\" size=\"4\">\n      <ion-button\n        expand=\"block\"\n        *ngIf=\"navButtons.backNode\"\n        (click)=\"back()\"\n        class=\"ion-no-margin\"\n      >\n        <ion-label>Back to: {{ navButtons.backNode.title }}</ion-label>\n      </ion-button>\n    </ion-col> -->\n    <ion-col size=\"4\">\n      <ion-button expand=\"block\" *ngIf=\"navButtons.prevNode\" (click)=\"prev()\">\n        <ion-icon name=\"chevron-back-outline\"></ion-icon>\n        <ion-label>\n          {{ navButtons.prevNode.title }}\n        </ion-label>\n      </ion-button>\n\n      <!-- <ion-button\n        expand=\"block\"\n        *ngIf=\"navButtons.prevNode\"\n        (click)=\"prev()\"\n        class=\"ion-no-margin ion-margin-horizontal\"\n      >\n        Previous to: {{ navButtons.prevNode.title }}\n      </ion-button> -->\n    </ion-col>\n    <ion-col size=\"4\">\n      <ion-button expand=\"block\" *ngIf=\"navButtons.nextNode\" (click)=\"next()\">\n        <ion-label>\n          {{ navButtons.nextNode.title }}\n        </ion-label>\n        <ion-icon name=\"chevron-forward-outline\"></ion-icon>\n      </ion-button>\n\n      <!-- <ion-button\n        expand=\"block\"\n        *ngIf=\"navButtons.nextNode\"\n        (click)=\"next()\"\n        class=\"ion-no-margin\"\n      >\n        Next to: {{ navButtons.nextNode.title }}</ion-button\n      > -->\n    </ion-col>\n  </ion-row>\n</ion-grid>\n","styles":[".ios .logoContainer,.md .logoContainer{width:48px}"]}]}],"members":{"resourceSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":8,"character":3}}]}],"navButtons":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":9,"character":3}}]}],"back":[{"__symbolic":"method"}],"next":[{"__symbolic":"method"}],"prev":[{"__symbolic":"method"}]}},"MenuViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"menu-viewer","template":"<ion-header *ngIf=\"loaded\">\n  <ion-toolbar>\n    <ion-title>{{ data.title }}</ion-title>\n  </ion-toolbar>\n</ion-header>\n<ion-content *ngIf=\"loaded\">\n  <menu-item-viewer\n    [nodesToHighlight]=\"selectNodesToHighlight\"\n    *ngFor=\"let child of data.nodes\"\n    [node]=\"child\"\n    (resourceSelected)=\"selectResource($event)\"\n    [menuLevel]=\"1\"\n  ></menu-item-viewer>\n</ion-content>\n","styles":["ion-title{padding-left:20px;padding-right:20px}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"currentResGuid":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"ngOnInit":[{"__symbolic":"method"}],"selectResource":[{"__symbolic":"method"}],"findNode":[{"__symbolic":"method"}],"probeNode":[{"__symbolic":"method"}],"hasChildNodes":[{"__symbolic":"method"}]}},"MenuItemViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"menu-item-viewer","template":"<div class=\"menu-item\" [ngClass]=\"{ selected: nodeIsSelected() }\">\n  <ion-item lines=\"none\">\n    <ion-label\n      class=\"ion-padding-vertical ion-no-margin menu-item-label\"\n      (click)=\"selectResource()\"\n      [ngStyle]=\"getPadding()\"\n    >\n      {{ node.title }}\n    </ion-label>\n    <ng-template [ngIf]=\"hasChildNodes\">\n      <ion-button fill=\"clear\" (click)=\"toggleSubNode()\">\n        <ion-icon *ngIf=\"!toggle\" name=\"chevron-down-outline\"></ion-icon>\n        <ion-icon *ngIf=\"toggle\" name=\"chevron-up-outline\"></ion-icon>\n      </ion-button>\n    </ng-template>\n  </ion-item>\n  <div *ngIf=\"toggle\" class=\"subitems ion-no-padding ion-no-margin\">\n    <ng-template [ngIf]=\"hasChildNodes\">\n      <menu-item-viewer\n        *ngFor=\"let child of node.nodes\"\n        [nodesToHighlight]=\"nodesToHighlight\"\n        [node]=\"child\"\n        (resourceSelected)=\"passResource($event)\"\n        [menuLevel]=\"menuLevel + 1\"\n      ></menu-item-viewer>\n    </ng-template>\n  </div>\n</div>\n"}]}],"members":{"resourceSelected":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"menuLevel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"nodesToHighlight":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"selectResource":[{"__symbolic":"method"}],"passResource":[{"__symbolic":"method"}],"toggleSubNode":[{"__symbolic":"method"}],"nodeIsSelected":[{"__symbolic":"method"}],"getPadding":[{"__symbolic":"method"}]}},"PageViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"page-viewer","template":"<!-- Page Title -->\n<div *ngIf=\"resource\">\n  <ion-header\n    *ngIf=\"data.pageOptions.showTitle\"\n    class=\"ion-no-border ion-text-center ion-padding-top\"\n  >\n    <ion-title>\n      <h1>\n        {{ data.title }}\n      </h1>\n    </ion-title>\n  </ion-header>\n  <!-- Page quill viewer -->\n  <quill-view-html\n    *ngIf=\"data.pageOptions.showText\"\n    [content]=\"data.outputHTML\"\n  >\n  </quill-view-html>\n\n  <!-- Prints the resources if the page is NOT in mode SLIDE -->\n  <ion-grid *ngIf=\"resHasArray && data.pageOptions.mode != 'slide'\">\n    <ion-row class=\"ion-justify-content-center\">\n      <!-- Runs for every Resource -->\n      <ng-template ngFor let-child [ngForOf]=\"resource.things\" let-i=\"index\">\n        <ng-template [ngIf]=\"child.displayOptions\">\n          <!-- If the Page Resource is in mode 1 column -->\n          <ng-template [ngIf]=\"data.pageOptions.mode === 'col1'\">\n            <ion-col\n              size=\"12\"\n              *ngIf=\"child.displayOptions.display == 'expanded'\"\n            >\n              <resource-viewers\n                [resource]=\"child\"\n                (navigate)=\"triggerNavigation($event)\"\n              ></resource-viewers>\n            </ion-col>\n          </ng-template>\n\n          <!-- If the Page Resource is in mode 2 columns -->\n          <ng-template [ngIf]=\"data.pageOptions.mode === 'col2'\">\n            <ion-col\n              size=\"6\"\n              *ngIf=\"child.displayOptions.display == 'expanded'\"\n            >\n              <resource-viewers\n                [resource]=\"child\"\n                (navigate)=\"triggerNavigation($event)\"\n              ></resource-viewers>\n            </ion-col>\n          </ng-template>\n\n          <!-- If the Page Resource is in mode 3 columns -->\n          <ng-template [ngIf]=\"data.pageOptions.mode === 'col3'\">\n            <ion-col\n              size=\"4\"\n              *ngIf=\"child.displayOptions.display == 'expanded'\"\n            >\n              <resource-viewers\n                [resource]=\"child\"\n                (navigate)=\"triggerNavigation($event)\"\n              ></resource-viewers>\n            </ion-col>\n          </ng-template>\n\n          <!-- If the Resource is in mode Button -->\n          <ion-col size=\"6.1\" *ngIf=\"child.displayOptions.display === 'button'\">\n            <ion-button\n              class=\"pageButton\"\n              size=\"large\"\n              expand=\"block\"\n              (click)=\"triggerBtnNavigation(child)\"\n            >\n              <ion-label [ngStyle]=\"formatButtonText()\">\n                {{ child.displayOptions.text }}\n              </ion-label>\n            </ion-button>\n          </ion-col>\n\n          <!-- If the Resource is in mode Button -->\n          <ion-col\n            size=\"6.1\"\n            *ngIf=\"child.displayOptions.display === 'smallButton'\"\n          >\n            <ion-button\n              class=\"pageButton\"\n              size=\"small\"\n              expand=\"block\"\n              (click)=\"triggerBtnNavigation(child)\"\n            >\n              <ion-label [ngStyle]=\"formatButtonText()\">\n                {{ child.displayOptions.text }}\n              </ion-label>\n            </ion-button>\n          </ion-col>\n\n          <!-- If the Resource is in mode Pop-Up -->\n          <ion-col size=\"6.1\" *ngIf=\"child.displayOptions.display === 'popup'\">\n            <ion-button\n              class=\"pageButton\"\n              size=\"large\"\n              expand=\"block\"\n              (click)=\"triggerBtnNavigation(child)\"\n            >\n              <ion-label [ngStyle]=\"formatButtonText()\">\n                {{ child.displayOptions.text }}\n              </ion-label>\n            </ion-button>\n          </ion-col>\n\n          <!-- If the Resource is in mode Collapsed -->\n          <ion-col\n            size=\"10\"\n            *ngIf=\"child.displayOptions.display === 'collapsed'\"\n          >\n            <ion-card button=\"true\" (click)=\"toggleResource(i)\">\n              <ion-card-header>\n                <ion-item lines=\"none\">\n                  <ion-label>{{ child.displayOptions.text }}</ion-label>\n                  <ion-button\n                    *ngIf=\"toggleRes[i]\"\n                    class=\"ion-no-padding ion-no-margin\"\n                    slot=\"end\"\n                    fill=\"clear\"\n                  >\n                    <ion-icon\n                      class=\"ion-no-padding ion-no-margin\"\n                      name=\"remove-outline\"\n                    ></ion-icon>\n                  </ion-button>\n                  <ion-button\n                    *ngIf=\"!toggleRes[i]\"\n                    class=\"ion-no-padding ion-no-margin\"\n                    slot=\"end\"\n                    fill=\"clear\"\n                  >\n                    <ion-icon\n                      class=\"ion-no-padding ion-no-margin\"\n                      name=\"add-outline\"\n                    ></ion-icon>\n                  </ion-button>\n                </ion-item>\n              </ion-card-header>\n              <ion-card-content *ngIf=\"toggleRes[i]\">\n                <resource-viewers\n                  [resource]=\"child\"\n                  (navigate)=\"triggerNavigation($event)\"\n                ></resource-viewers>\n              </ion-card-content>\n            </ion-card>\n          </ion-col>\n        </ng-template>\n      </ng-template>\n    </ion-row>\n  </ion-grid>\n\n  <!-- Prints the resources if the page IS in mode SLIDE -->\n  <ion-grid class=\"slideGrid\">\n    <ng-template [ngIf]=\"data.pageOptions.mode === 'slide'\">\n      <ion-slides\n        #slidesRes\n        pager\n        [options]=\"slideOptions\"\n        class=\"slides\"\n        (ionSlideWillChange)=\"updateSliderIconState()\"\n        (ionSlidesDidLoad)=\"updateSliderIconState()\"\n      >\n        <!-- Runs for every Resource -->\n        <ion-slide *ngFor=\"let child of resource.things\">\n          <!-- Slide Buttons -->\n          <div\n            class=\"swiper-button-next\"\n            *ngIf=\"(isEnd$ | async) === false\"\n            (click)=\"nextTypeSlide()\"\n          ></div>\n          <div\n            *ngIf=\"(isBeginning$ | async) === false\"\n            class=\"swiper-button-prev\"\n            (click)=\"prevTypeSlide()\"\n          ></div>\n          <!-- Runs Resource Viewer for the resource  -->\n          <resource-viewers\n            class=\"viewer\"\n            [resource]=\"child\"\n            (navigate)=\"triggerNavigation($event)\"\n          >\n          </resource-viewers>\n        </ion-slide>\n      </ion-slides>\n    </ng-template>\n  </ion-grid>\n</div>\n","styles":[".viewer{width:100%}.viewer,ion-slides{height:100%}.slideIcon{font-size:50px}.slideBtn{--border-style:none;z-index:100}.pageButton{text-transform:none!important}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"slidesRes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":3},"arguments":["slidesRes",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"toggleResource":[{"__symbolic":"method"}],"resHasArray":[{"__symbolic":"method"}],"rearrangeResourcesArray":[{"__symbolic":"method"}],"triggerNavigation":[{"__symbolic":"method"}],"triggerBtnNavigation":[{"__symbolic":"method"}],"printResource":[{"__symbolic":"method"}],"prevTypeSlide":[{"__symbolic":"method"}],"nextTypeSlide":[{"__symbolic":"method"}],"updateSliderIconState":[{"__symbolic":"method"}],"formatButtonText":[{"__symbolic":"method"}]}},"HelpArticleViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"help-article-viewer","template":"<!-- Page Title -->\n<div *ngIf=\"resource\" class=\"helpArticleViewer\">\n  <ion-grid class=\"ion-no-padding\">\n    <ion-row class=\"titleRow\">\n      <ion-col>\n        <ion-label class=\"title\">\n          {{data.title}}\n        </ion-label>\n      </ion-col>\n    </ion-row>\n    <ion-row class=\"textRow\">\n      <ion-col>\n        <!-- Page quill viewer -->\n        <quill-view-html *ngIf=\"data.pageOptions.showText\" [content]=\"data.outputHTML\">\n        </quill-view-html>\n      </ion-col>\n    </ion-row>\n  </ion-grid>\n\n\n  <!-- Prints the resources if the page is NOT in mode SLIDE -->\n  <ion-grid *ngIf=\"resHasArray && data.pageOptions.mode != 'slide'\" class=\"ion-no-padding\">\n    <ion-row class=\"ion-justify-content-center\" class=\"childRow\">\n      <!-- Runs for every Resource -->\n      <ng-template ngFor let-child [ngForOf]=\"resource.things\" let-i=\"index\">\n        <ng-template [ngIf]=\"child.displayOptions\">\n          <!-- If the Page Resource is in mode 1 column -->\n          <ng-template [ngIf]=\"data.pageOptions.mode === 'col1'\">\n            <ion-col size=\"12\" *ngIf=\"child.displayOptions.display == 'expanded'\">\n              <resource-viewers [resource]=\"child\" (navigate)=\"triggerNavigation($event)\"></resource-viewers>\n            </ion-col>\n          </ng-template>\n\n          <!-- If the Page Resource is in mode 2 columns -->\n          <ng-template [ngIf]=\"data.pageOptions.mode === 'col2'\">\n            <ion-col size=\"6\" *ngIf=\"child.displayOptions.display == 'expanded'\">\n              <resource-viewers [resource]=\"child\" (navigate)=\"triggerNavigation($event)\"></resource-viewers>\n            </ion-col>\n          </ng-template>\n\n          <!-- If the Page Resource is in mode 3 columns -->\n          <ng-template [ngIf]=\"data.pageOptions.mode === 'col3'\">\n            <ion-col size=\"4\" *ngIf=\"child.displayOptions.display == 'expanded'\">\n              <resource-viewers [resource]=\"child\" (navigate)=\"triggerNavigation($event)\"></resource-viewers>\n            </ion-col>\n          </ng-template>\n\n          <!-- If the Resource is in mode Button -->\n          <ion-col size=\"6.1\" *ngIf=\"child.displayOptions.display === 'button'\">\n            <ion-button class=\"pageButton\" size=\"large\" expand=\"block\" (click)=\"triggerBtnNavigation(child)\">\n              <ion-label [ngStyle]=\"formatButtonText()\">\n                {{child.displayOptions.text}}\n              </ion-label>\n            </ion-button>\n          </ion-col>\n\n          <!-- If the Resource is in mode Button -->\n          <ion-col size=\"6.1\" *ngIf=\"child.displayOptions.display === 'smallButton'\">\n            <ion-button class=\"pageButton\" size=\"small\" expand=\"block\" (click)=\"triggerBtnNavigation(child)\">\n              <ion-label [ngStyle]=\"formatButtonText()\">\n                {{child.displayOptions.text}}\n              </ion-label>\n            </ion-button>\n          </ion-col>\n\n          <!-- If the Resource is in mode Pop-Up -->\n          <ion-col size=\"6.1\" *ngIf=\"child.displayOptions.display === 'popup'\">\n            <ion-button class=\"pageButton\" size=\"large\" expand=\"block\" (click)=\"triggerBtnNavigation(child)\">\n              <ion-label [ngStyle]=\"formatButtonText()\">\n                {{child.displayOptions.text}}\n              </ion-label>\n            </ion-button>\n          </ion-col>\n\n          <!-- If the Resource is in mode Collapsed -->\n          <ion-col size=\"10\" *ngIf=\"child.displayOptions.display === 'collapsed'\">\n            <ion-card button=\"true\" (click)=\"toggleResource(i)\">\n              <ion-card-header>\n                <ion-item lines=\"none\">\n                  <ion-label>{{ child.displayOptions.text }}</ion-label>\n                  <ion-button *ngIf=\"toggleRes[i]\" class=\"ion-no-padding ion-no-margin\" slot=\"end\" fill=\"clear\">\n                    <ion-icon class=\"ion-no-padding ion-no-margin\" name=\"remove-outline\"></ion-icon>\n                  </ion-button>\n                  <ion-button *ngIf=\"!toggleRes[i]\" class=\"ion-no-padding ion-no-margin\" slot=\"end\" fill=\"clear\">\n                    <ion-icon class=\"ion-no-padding ion-no-margin\" name=\"add-outline\"></ion-icon>\n                  </ion-button>\n                </ion-item>\n              </ion-card-header>\n              <ion-card-content *ngIf=\"toggleRes[i]\">\n                <resource-viewers [resource]=\"child\" (navigate)=\"triggerNavigation($event)\"></resource-viewers>\n              </ion-card-content>\n            </ion-card>\n          </ion-col>\n        </ng-template>\n      </ng-template>\n    </ion-row>\n  </ion-grid>\n\n  <!-- Prints the resources if the page IS in mode SLIDE -->\n  <ion-grid class=\"slideGrid ion-no-padding\">\n    <ng-template [ngIf]=\"data.pageOptions.mode === 'slide'\">\n      <ion-slides #slidesRes pager [options]=\"slideOptions\" class=\"slides\"\n        (ionSlideWillChange)=\"updateSliderIconState()\" (ionSlidesDidLoad)=\"updateSliderIconState()\">\n        <!-- Runs for every Resource -->\n        <ion-slide *ngFor=\"let child of resource.things\">\n          <!-- Slide Buttons -->\n          <div class=\"swiper-button-next\" *ngIf=\"(isEnd$ | async) === false\" (click)=\"nextTypeSlide()\"></div>\n          <div *ngIf=\"(isBeginning$ | async) === false\" class=\"swiper-button-prev\" (click)=\"prevTypeSlide()\"></div>\n          <!-- Runs Resource Viewer for the resource  -->\n          <resource-viewers class=\"viewer\" [resource]=\"child\" (navigate)=\"triggerNavigation($event)\">\n          </resource-viewers>\n        </ion-slide>\n      </ion-slides>\n    </ng-template>\n  </ion-grid>\n</div>\n","styles":[".viewer{width:100%}.viewer,ion-slides{height:100%}.slideIcon{font-size:50px}.slideBtn{--border-style:none;z-index:100}.pageButton{text-transform:none!important}.titleRow{padding-bottom:40px}.title{font-size:4vh;font-weight:700}.childRow,.textRow{padding-bottom:20px}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":36,"character":3}}]}],"slidesRes":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":37,"character":3},"arguments":["slidesRes",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"toggleResource":[{"__symbolic":"method"}],"resHasArray":[{"__symbolic":"method"}],"rearrangeResourcesArray":[{"__symbolic":"method"}],"triggerNavigation":[{"__symbolic":"method"}],"triggerBtnNavigation":[{"__symbolic":"method"}],"printResource":[{"__symbolic":"method"}],"prevTypeSlide":[{"__symbolic":"method"}],"nextTypeSlide":[{"__symbolic":"method"}],"updateSliderIconState":[{"__symbolic":"method"}],"formatButtonText":[{"__symbolic":"method"}]}},"CircularDiagramViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":15,"character":1},"arguments":[{"selector":"circular-diagram-viewer","template":"<h1>CIRCULAR DIAGRAM VIEWER</h1>\n","styles":[""]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"viewContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":24,"character":3},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":24,"character":38}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":33,"character":22}]}],"init":[{"__symbolic":"method"}]}},"BaseDiagramViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":20,"character":1},"arguments":[{"selector":"base-diagram-viewer","template":"<ion-grid id=\"window\" [ngStyle]=\"formatBaseWindow()\">\n  <ion-row class=\"centered\">\n    <ion-col id=\"diagram\" size=\"6\">\n      <div *ngIf=\"render\" [ngStyle]=\"formatDiagram()\">\n        <!-- Connectors -->\n        <ng-template ngFor let-leaf [ngForOf]=\"data.diagrams\" let-i=\"index\">\n          <div #conn [ngStyle]=\"distributeConnectors(i)\" class=\"connector\">\n            <img class=\"arrowImg\" src=\"assets/svg/arrow.svg\" alt=\"arrow\" />\n          </div>\n        </ng-template>\n\n        <!-- Leafs -->\n        <div\n          #leafs\n          (mouseenter)=\"mouseSubDiagramHover(diagram)\"\n          (mouseleave)=\"mouseSubDiagramHover(diagram)\"\n          *ngFor=\"let diagram of data.diagrams; let i = index\"\n          [ngStyle]=\"distributeDiagrams(i)\"\n          class=\"leaf\"\n          (click)=\"leafClick(diagram.link)\"\n        >\n          <ion-row class=\"centered\">\n            <ion-col>\n              <div\n                [innerHTML]=\"diagram.title\"\n                [ngStyle]=\"formatLeafText()\"\n              ></div>\n            </ion-col>\n          </ion-row>\n\n          <!-- For the texts -->\n          <div\n            *ngFor=\"let diagramText of diagram.texts; let j = index\"\n            [ngStyle]=\"distributeTexts(diagram, j, i)\"\n            class=\"text\"\n          >\n            <ion-row class=\"centered\">\n              <ion-col>\n                <div\n                  [innerHTML]=\"diagramText.text\"\n                  [ngStyle]=\"formatTexts()\"\n                ></div>\n              </ion-col>\n            </ion-row>\n          </div>\n\n          <ng-template\n            ngFor\n            let-diagramText\n            [ngForOf]=\"diagram.texts\"\n            let-j=\"index\"\n          >\n            <div\n              #diagConn\n              id=\"{{ diagram.ord }}\"\n              [ngStyle]=\"distributeTextConnectors(diagram, j)\"\n              [class]=\"diagram.id\"\n            >\n              <img class=\"arrowImg\" src=\"assets/svg/arrowp.svg\" alt=\"arrowp\" />\n            </div>\n          </ng-template>\n        </div>\n\n        <!-- Centerpiece -->\n        <div\n          (mouseenter)=\"mouseCenterHover()\"\n          (mouseleave)=\"mouseCenterHover()\"\n          [ngStyle]=\"formatCenter()\"\n          id=\"center\"\n          (click)=\"centerClick()\"\n          enable=\"false\"\n        >\n          <ion-row class=\"centered\">\n            <ion-col>\n              <div\n                [innerHTML]=\"data.title\"\n                [ngStyle]=\"formatCenterText()\"\n              ></div>\n            </ion-col>\n          </ion-row>\n        </div>\n      </div>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n","styles":["#diagram{min-height:var(width);position:relative;width:100%}#center{position:relative}#center,.leaf{color:var(--ion-color-primary-shade);cursor:pointer}.leaf{background-image:radial-gradient(circle closest-side,var(--ion-color-tertiary),transparent);position:absolute}.centered,.leaf{align-items:center;text-align:center}.centered{height:100%;justify-content:center;width:100%}.text{align-items:center;color:var(--ion-color-primary-shade);position:absolute;text-align:center}.arrowImg{width:100%}.htmlView{cursor:pointer!important}#crosshair-x{height:1px;left:0;top:50%;width:100%}#crosshair-x,#crosshair-y{background:#000;position:absolute}#crosshair-y{height:100%;left:50%;top:0;width:1px}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"connectors":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":29,"character":3},"arguments":["conn"]}]}],"diagConn":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChildren","line":30,"character":3},"arguments":["diagConn"]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":43,"character":18},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@angular/animations","name":"AnimationBuilder","line":45,"character":21},{"__symbolic":"reference","name":"ApiService"}]}],"init":[{"__symbolic":"method"}],"leafClick":[{"__symbolic":"method"}],"centerClick":[{"__symbolic":"method"}],"mouseCenterHover":[{"__symbolic":"method"}],"mouseSubDiagramHover":[{"__symbolic":"method"}],"presentModal":[{"__symbolic":"method"}],"formatBaseWindow":[{"__symbolic":"method"}],"formatDiagram":[{"__symbolic":"method"}],"formatCenterText":[{"__symbolic":"method"}],"formatLeafText":[{"__symbolic":"method"}],"formatTexts":[{"__symbolic":"method"}],"formatCenter":[{"__symbolic":"method"}],"distributeDiagrams":[{"__symbolic":"method"}],"distributeTexts":[{"__symbolic":"method"}],"rerunDiagram":[{"__symbolic":"method"}],"distributeTextConnectors":[{"__symbolic":"method"}],"distributeConnectors":[{"__symbolic":"method"}],"getConnectorAngle":[{"__symbolic":"method"}],"createCenterAnimationPlayer":[{"__symbolic":"method"}],"getDiagramConnectorAngle":[{"__symbolic":"method"}],"createDiagramAnimationPlayer":[{"__symbolic":"method"}]}},"AssetResViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"asset-res-viewer","template":"<ion-grid>\n  <h1 *ngIf=\"data.assetOptions.showTitle\">{{ data.title }}</h1>\n  <ion-row class=\"centeredContent\">\n    <ion-col [ngStyle]=\"pickAssetStyle()\">\n      <asset-viewer [asset]=\"asset\"></asset-viewer>\n    </ion-col>\n  </ion-row>\n  <ion-row class=\"centeredContent\" *ngIf=\"data.assetOptions.showCaption\">\n    <quill-view-html [content]=\"data.caption\"></quill-view-html>\n  </ion-row>\n</ion-grid>\n","styles":[".centeredContent{justify-content:center}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"viewContainer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":["viewContainer",{"read":{"__symbolic":"reference","module":"@angular/core","name":"ViewContainerRef","line":21,"character":38}}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/core","name":"ComponentFactoryResolver","line":30,"character":22}]}],"ngDoCheck":[{"__symbolic":"method"}],"getAsset":[{"__symbolic":"method"}],"pickAssetStyle":[{"__symbolic":"method"}]}},"AcasMeterViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"acas-meter-viewer","template":"<ng-template [ngIf]=\"render\">\n  <ion-card *ngFor=\"let diagnosis of data.diagnosis; let i = index\">\n    <ion-card-header class=\"ion-no-padding\" color=\"primary\">\n      <!-- <ion-item-sliding class=\"ion-no-padding ion-no-margin ion-no-border\">\n        <ion-item-options\n          *ngIf=\"diagnosis.linkRight !== '' || diagnosis.linkLeft !== ''\"\n          side=\"start\"\n        >\n          <ion-item-option\n            *ngIf=\"diagnosis.linkLeft !== ''\"\n            class=\"leftPage\"\n            color=\"green\"\n            (click)=\"navigateRes(diagnosis.linkLeft)\"\n          >\n            <ion-icon slot=\"top\" name=\"book-sharp\"></ion-icon>\n            Protocol\n          </ion-item-option>\n          <ion-item-option\n            *ngIf=\"diagnosis.linkRight !== ''\"\n            class=\"rightPage\"\n            color=\"red\"\n            (click)=\"navigateRes(diagnosis.linkRight)\"\n          >\n            <ion-icon slot=\"bottom\" name=\"book-sharp\"></ion-icon>\n            Overview\n          </ion-item-option>\n        </ion-item-options> -->\n\n      <ion-item class=\"itemFront ion-no-padding ion-no-margin ion-no-border\">\n        <ion-grid class=\"ion-no-padding ion-no-margin ion-no-border\">\n          <ion-row class=\"ion-no-padding ion-no-margin ion-no-border\">\n            <!--\n#  .dP\"Y8 88     88 8888b.  888888    88\"\"Yb 888888 88b 88 .dP\"Y8\n#  `Ybo.\" 88     88  8I  Yb 88__      88__dP   88   88Yb88 `Ybo.\"\n#  o.`Y8b 88  .o 88  8I  dY 88\"\"      88\"\"Yb   88   88 Y88 o.`Y8b\n#  8bodP' 88ood8 88 8888Y\"  888888    88oodP   88   88  Y8 8bodP'  -->\n\n            <!-- <ion-col\n              *ngIf=\"diagnosis.linkRight !== '' || diagnosis.linkLeft !== ''\"\n              class=\"ion-no-padding ion-no-margin ion-no-border\"\n              size=\"0.5\"\n            >\n              <ion-icon class=\"hint\" name=\"chevron-forward-outline\"></ion-icon>\n            </ion-col> -->\n\n            <!--\n#   dP\"\"b8  dP\"Yb  88     88        db    88\"\"Yb .dP\"Y8\n#  dP   `\" dP   Yb 88     88       dPYb   88__dP `Ybo.\"\n#  Yb      Yb   dP 88  .o 88  .o  dP__Yb  88\"\"\"  o.`Y8b\n#   YboodP  YbodP  88ood8 88ood8 dP\"\"\"\"Yb 88     8bodP'        -->\n            <ion-col\n              *ngIf=\"diagnosis.collapsShow\"\n              class=\"ion-no-padding ion-no-margin ion-no-border\"\n              size=\"0.5\"\n              (click)=\"toggleColllapsible(i)\"\n            >\n              <ion-icon\n                *ngIf=\"toggleCollaps[i]\"\n                class=\"hint\"\n                name=\"remove-outline\"\n              ></ion-icon>\n              <ion-icon\n                *ngIf=\"!toggleCollaps[i]\"\n                class=\"hint\"\n                name=\"add-outline\"\n              ></ion-icon>\n            </ion-col>\n            <!--\n#  88\"\"Yb  dP\"Yb  8888b.  Yb  dP\n#  88__dP dP   Yb  8I  Yb  YbdP\n#  88\"\"Yb Yb   dP  8I  dY   8P\n#  88oodP  YbodP  8888Y\"   dP   -->\n            <ion-col\n              class=\"ion-no-padding ion-no-margin ion-no-border\"\n              [size]=\"sizeBody(diagnosis)\"\n            >\n              <quill-view-html class=\"htmlText\" [content]=\"diagnosis.text\">\n              </quill-view-html>\n            </ion-col>\n\n            <!--\n#  .dP\"Y8 88b 88 88 88\"\"Yb 88\"\"Yb 888888 888888\n#  `Ybo.\" 88Yb88 88 88__dP 88__dP 88__     88\n#  o.`Y8b 88 Y88 88 88\"\"\"  88\"\"\"  88\"\"     88\n#  8bodP' 88  Y8 88 88     88     888888   88    -->\n            <ion-col\n              *ngIf=\"diagnosis.snippetLink !== ''\"\n              class=\"ion-no-padding ion-no-margin ion-no-border\"\n              size=\"0.5\"\n              (click)=\"navigateRes(diagnosis.snippetLink)\"\n            >\n              <ion-icon class=\"hint\" name=\"expand-outline\"></ion-icon>\n            </ion-col>\n            <!--\n#  88\"\"Yb  dP\"Yb   dP\"Yb  88  dP    88b 88    db    Yb    dP\n#  88__dP dP   Yb dP   Yb 88odP     88Yb88   dPYb    Yb  dP\n#  88\"\"Yb Yb   dP Yb   dP 88\"Yb     88 Y88  dP__Yb    YbdP\n#  88oodP  YbodP   YbodP  88  Yb    88  Y8 dP\"\"\"\"Yb    YP     -->\n            <ion-col\n              *ngIf=\"diagnosis.linkRight !== ''\"\n              class=\"\n                ion-align-self-center ion-no-padding ion-no-margin ion-no-border\n              \"\n              size=\"2\"\n            >\n              <ion-button\n                (click)=\"navigateRes(diagnosis.linkLeft)\"\n                class=\"ACMbutton ion-no-padding ion-no-margin ion-no-border\"\n                ><ion-label>ACM</ion-label></ion-button\n              >\n            </ion-col>\n          </ion-row>\n\n          <!--\n#   dP\"\"b8  dP\"Yb  88     88        db    88\"\"Yb .dP\"Y8    888888 888888 Yb  dP 888888\n#  dP   `\" dP   Yb 88     88       dPYb   88__dP `Ybo.\"      88   88__    YbdP    88\n#  Yb      Yb   dP 88  .o 88  .o  dP__Yb  88\"\"\"  o.`Y8b      88   88\"\"    dPYb    88\n#   YboodP  YbodP  88ood8 88ood8 dP\"\"\"\"Yb 88     8bodP'      88   888888 dP  Yb   88   -->\n\n          <ion-row *ngIf=\"diagnosis.collapsShow && toggleCollaps[i]\">\n            <ion-item\n              class=\"itemFront ion-no-padding ion-no-margin ion-no-border\"\n            >\n              <quill-view-html\n                class=\"htmlText\"\n                [content]=\"diagnosis.collapstext\"\n              >\n              </quill-view-html>\n            </ion-item>\n          </ion-row>\n        </ion-grid>\n      </ion-item>\n      <!-- </ion-item-sliding> -->\n    </ion-card-header>\n\n    <ion-card-content class=\"ion-no-padding ion-no-margin ion-no-border\">\n      <diagnosis-viewer\n        *ngFor=\"let subDiag of diagnosis.diagnosis\"\n        color=\"\"\n        icon=\"chevron-forward-sharp\"\n        (navigate)=\"navigateRes($event)\"\n        [diagnosis]=\"subDiag\"\n      >\n      </diagnosis-viewer>\n    </ion-card-content>\n  </ion-card>\n</ng-template>\n","styles":[".hint{color:red;min-height:100%}.itemFront{max-width:100%;min-width:100%}.ACMbutton{--background:#d3d3d3;--border-radius:7px;--padding-bottom:0;--padding-end:3px;--padding-start:3px;--padding-top:0;color:#696969;font-weight:700;padding:5px 0 5px 5px}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"init":[{"__symbolic":"method"}],"navigateRes":[{"__symbolic":"method"}],"clickDiag":[{"__symbolic":"method"}],"sizeBody":[{"__symbolic":"method"}],"toggleColllapsible":[{"__symbolic":"method"}]}},"DiagnosisViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"diagnosis-viewer","template":"<!-- <ion-item-sliding class=\"ion-no-padding ion-no-margin ion-no-border\">\n  <ion-item-options\n    *ngIf=\"diagnosis.linkRight !== '' || diagnosis.linkLeft !== ''\"\n    side=\"start\"\n  >\n    <ion-item-option\n      *ngIf=\"diagnosis.linkLeft !== ''\"\n      class=\"leftPage\"\n      color=\"green\"\n      (click)=\"passResource(diagnosis.linkLeft)\"\n    >\n      <ion-icon slot=\"top\" name=\"book-sharp\"></ion-icon>\n      Protocol\n    </ion-item-option>\n    <ion-item-option\n      *ngIf=\"diagnosis.linkRight !== ''\"\n      class=\"rightPage\"\n      color=\"red\"\n      (click)=\"passResource(diagnosis.linkRight)\"\n    >\n      <ion-icon slot=\"bottom\" name=\"book-sharp\"></ion-icon>\n      Overview\n    </ion-item-option>\n  </ion-item-options> -->\n\n<ion-item class=\"itemFront ion-no-padding ion-no-margin ion-no-border\">\n  <ion-grid class=\"ion-no-padding ion-no-margin ion-no-border\">\n    <ion-row class=\"ion-no-padding ion-no-margin ion-no-border\">\n      <!--\n#  .dP\"Y8 88     88 8888b.  888888    88\"\"Yb 888888 88b 88 .dP\"Y8\n#  `Ybo.\" 88     88  8I  Yb 88__      88__dP   88   88Yb88 `Ybo.\"\n#  o.`Y8b 88  .o 88  8I  dY 88\"\"      88\"\"Yb   88   88 Y88 o.`Y8b\n#  8bodP' 88ood8 88 8888Y\"  888888    88oodP   88   88  Y8 8bodP'  -->\n      <!-- <ion-col\n        *ngIf=\"diagnosis.linkRight !== '' || diagnosis.linkLeft !== ''\"\n        class=\"ion-no-padding ion-no-margin ion-no-border\"\n        size=\"0.5\"\n      >\n        <ion-icon class=\"hint\" name=\"chevron-forward-outline\"></ion-icon>\n      </ion-col> -->\n      <!--\n#   dP\"\"b8  dP\"Yb  88     88        db    88\"\"Yb .dP\"Y8\n#  dP   `\" dP   Yb 88     88       dPYb   88__dP `Ybo.\"\n#  Yb      Yb   dP 88  .o 88  .o  dP__Yb  88\"\"\"  o.`Y8b\n#   YboodP  YbodP  88ood8 88ood8 dP\"\"\"\"Yb 88     8bodP'        -->\n      <ion-col\n        *ngIf=\"diagnosis.collapsShow\"\n        class=\"ion-no-padding ion-no-margin ion-no-border\"\n        size=\"0.5\"\n        (click)=\"toggleColllapsible()\"\n      >\n        <ion-icon\n          *ngIf=\"toggleCollaps\"\n          class=\"hint\"\n          name=\"remove-outline\"\n        ></ion-icon>\n        <ion-icon\n          *ngIf=\"!toggleCollaps\"\n          class=\"hint\"\n          name=\"add-outline\"\n        ></ion-icon>\n      </ion-col>\n\n      <!--\n#  88\"\"Yb  dP\"Yb  8888b.  Yb  dP\n#  88__dP dP   Yb  8I  Yb  YbdP\n#  88\"\"Yb Yb   dP  8I  dY   8P\n#  88oodP  YbodP  8888Y\"   dP   -->\n      <ion-col\n        class=\"ion-no-padding ion-no-margin ion-no-border\"\n        [size]=\"sizeBody()\"\n      >\n        <quill-view-html class=\"htmlText\" [content]=\"diagnosis.text\">\n        </quill-view-html>\n      </ion-col>\n\n      <!--\n#  .dP\"Y8 88b 88 88 88\"\"Yb 88\"\"Yb 888888 888888\n#  `Ybo.\" 88Yb88 88 88__dP 88__dP 88__     88\n#  o.`Y8b 88 Y88 88 88\"\"\"  88\"\"\"  88\"\"     88\n#  8bodP' 88  Y8 88 88     88     888888   88    -->\n      <ion-col\n        *ngIf=\"diagnosis.snippetLink !== ''\"\n        class=\"ion-no-padding ion-no-margin ion-no-border\"\n        size=\"0.5\"\n        (click)=\"passResource(diagnosis.snippetLink)\"\n      >\n        <ion-icon class=\"hint\" name=\"expand-outline\"></ion-icon>\n      </ion-col>\n\n      <!--\n#  88\"\"Yb  dP\"Yb   dP\"Yb  88  dP    88b 88    db    Yb    dP\n#  88__dP dP   Yb dP   Yb 88odP     88Yb88   dPYb    Yb  dP\n#  88\"\"Yb Yb   dP Yb   dP 88\"Yb     88 Y88  dP__Yb    YbdP\n#  88oodP  YbodP   YbodP  88  Yb    88  Y8 dP\"\"\"\"Yb    YP     -->\n      <ion-col\n        *ngIf=\"diagnosis.linkRight !== ''\"\n        class=\"ion-align-self-center ion-no-padding ion-no-margin ion-no-border\"\n        size=\"2\"\n      >\n        <ion-button\n          (click)=\"passResource(diagnosis.linkLeft)\"\n          class=\"ACMbutton ion-no-padding ion-no-margin ion-no-border\"\n        >\n          <ion-label>ACM</ion-label>\n        </ion-button>\n      </ion-col>\n    </ion-row>\n    <!--\n#   dP\"\"b8  dP\"Yb  88     88        db    88\"\"Yb .dP\"Y8    888888 888888 Yb  dP 888888\n#  dP   `\" dP   Yb 88     88       dPYb   88__dP `Ybo.\"      88   88__    YbdP    88\n#  Yb      Yb   dP 88  .o 88  .o  dP__Yb  88\"\"\"  o.`Y8b      88   88\"\"    dPYb    88\n#   YboodP  YbodP  88ood8 88ood8 dP\"\"\"\"Yb 88     8bodP'      88   888888 dP  Yb   88   -->\n\n    <ion-row *ngIf=\"diagnosis.collapsShow && toggleCollaps\">\n      <ion-item class=\"itemFront ion-no-padding ion-no-margin ion-no-border\">\n        <quill-view-html class=\"htmlText\" [content]=\"diagnosis.collapstext\">\n        </quill-view-html>\n      </ion-item>\n    </ion-row>\n  </ion-grid>\n</ion-item>\n<!-- </ion-item-sliding> -->\n","styles":[".snippet-item{--border-width:1px}.snippet-text{font-size:small}.hint{color:red;min-height:100%}.itemFront{max-width:100%;min-width:100%}.ACMbutton{--background:#d3d3d3;--border-radius:7px;--padding-bottom:0;--padding-end:3px;--padding-start:3px;--padding-top:0;color:#696969;font-weight:700;padding:5px 0 5px 5px}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":9,"character":3}}]}],"diagnosis":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"icon":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"clazz":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"selectResource":[{"__symbolic":"method"}],"selectSnippetResource":[{"__symbolic":"method"}],"passResource":[{"__symbolic":"method"}],"toggleSubNode":[{"__symbolic":"method"}],"clickDiag":[{"__symbolic":"method"}],"sizeBody":[{"__symbolic":"method"}],"toggleColllapsible":[{"__symbolic":"method"}]}},"IcuDiaryViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"icu-diary-viewer","template":"<ion-grid id=\"content\" class=\"ion-no-padding\">\n  <ion-row class=\"diary-entry-header ion-justify-content-between ion-align-items-center\">\n    <ion-col size=\"auto\" class=\"diary-entry-author\">\n      <ion-grid class=\"ion-non-padding\">\n        <ion-row class=\"ion-align-items-center ion-justify-content-start\">\n          <ion-col size=\"auto\" class=\"diary-entry-avatar\">\n            <ion-avatar>\n              <img [src]=\"userPhotoSource(resource.createdBy)\" />\n            </ion-avatar>\n          </ion-col>\n          <ion-col size=\"auto\" class=\"diary-entry-createdby\">\n            <ion-text>\n              <b>{{ createdByName }}</b>\n            </ion-text>\n            <ion-text *ngIf=\"!createdByName\">\n              <b>{{ resource.createdBy.userName }}</b>\n            </ion-text>\n          </ion-col>\n        </ion-row>\n      </ion-grid>\n    </ion-col>\n    <ion-col class=\"diary-entry-date\" size=\"auto\">\n      <ion-text date> {{ data.date | date : \"dd/MM/yyyy\" }}</ion-text>\n      <ion-text time> {{ data.date | date : \"HH:mm\" }}</ion-text>\n    </ion-col>\n  </ion-row>\n\n  <!-- [style.flex-direction]=\"data.assetOptions.invert ? 'row-reverse' : 'row'\" -->\n  <ion-row>\n    <ion-col\n      [size]=\"data.assetguid ? '6' : '12'\"\n      [ngStyle]=\"pickTextStyle()\"\n      [innerHtml]=\"data.outputHTML\"\n      class=\"diary-entry-text\"\n    >\n    </ion-col>\n    <ion-col\n      *ngIf=\"data.assetguid\"\n      size=\"6\"\n      class=\"diary-entry-asset\"\n      [ngStyle]=\"pickAssetStyle()\"\n    >\n      <asset-viewer maxHeight=\"400px\" [asset]=\"asset\"></asset-viewer>\n      <p *ngIf=\"data.caption\" [innerHtml]=\"data.caption\"></p>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n","styles":[".diary-entry-header,.diary-entry-text{font-size:1.2rem}ion-avatar{margin-right:12px}.diary-entry-date{padding:5px}.diary-entry-date [time]{font-size:.8rem}.diary-entry-asset,.diary-entry-author,.diary-entry-date,.diary-entry-text{padding:5px}.diary-entry-asset,.diary-entry-text{align-items:center;display:flex}.diary-entry-asset{justify-content:flex-end}.diary-entry-asset asset-viewer .imgContainer img{max-height:400px!important}#content{padding:16px}"]}]}],"members":{"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"}]}],"ngDoCheck":[{"__symbolic":"method"}],"getAsset":[{"__symbolic":"method"}],"pickTextStyle":[{"__symbolic":"method"}],"pickAssetStyle":[{"__symbolic":"method"}],"userPhotoSource":[{"__symbolic":"method"}]}},"TermsOfUseViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"terms-of-use-viewer","template":"<ion-content color=\"{{ contentColor }}\">\n  <div *ngIf=\"thing; else notReady\">\n    <ion-grid class=\"ion-no-padding\">\n      <ion-row>\n        <ion-col>\n          <resource-viewers [resource]=\"thing\"></resource-viewers>\n        </ion-col>\n      </ion-row>\n      <ion-row\n        *ngIf=\"thing.updatedAt\"\n        class=\"ion-justify-content-center ion-margin-bottom\"\n      >\n        <ion-col size=\"auto\">\n          <ion-note>\n            Updated at\n            {{ thing.updatedAt | date: \"MMMM d, y, h:mm a\" }}\n          </ion-note>\n        </ion-col>\n      </ion-row>\n      <ion-row>\n        <ion-col>\n          <ion-item>\n            <ion-label class=\"ion-text-wrap\">\n              I have read these terms and agree to them\n            </ion-label>\n            <ion-checkbox\n              slot=\"end\"\n              [(ngModel)]=\"agreed\"\n              color=\"{{ acceptColor }}\"\n            ></ion-checkbox>\n          </ion-item>\n        </ion-col>\n      </ion-row>\n      <ion-row class=\"ion-justify-content-around ion-margin-vertical\">\n        <ion-col size=\"auto\">\n          <ion-button (click)=\"dismiss(false)\" color=\"{{ declineColor }}\">\n            Decline\n          </ion-button>\n        </ion-col>\n        <ion-col size=\"auto\">\n          <ion-button\n            [disabled]=\"!agreed\"\n            (click)=\"dismiss()\"\n            color=\"{{ acceptColor }}\"\n          >\n            Accept\n          </ion-button>\n        </ion-col>\n      </ion-row>\n    </ion-grid>\n  </div>\n  <ng-template #notReady>\n    <ion-grid>\n      <ion-row class=\"ion-justify-content-center\">\n        <ion-col size=\"auto\">\n          <ion-spinner></ion-spinner>\n        </ion-col>\n      </ion-row>\n    </ion-grid>\n  </ng-template>\n</ion-content>\n","styles":["ion-note{font-size:.75em}"]}]}],"members":{"thing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"contentColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"acceptColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"declineColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":19,"character":28}]}],"dismiss":[{"__symbolic":"method"}]}},"ConsentViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"consent-viewer","template":"<ion-content color=\"{{ contentColor }}\">\n  <ion-grid *ngIf=\"thing; else notReady\" class=\"ion-no-padding ion-padding-bottom\" style=\"height:100%;\">\n    <div style=\"display: flex; flex-direction: column; height:100%;\">\n      <div style=\"flex-grow:1;\">\n        <ion-row>\n          <ion-col>\n            <resource-viewers [textPlaceholderConf]=\"textPlaceholderConf\" [resource]=\"thing\"></resource-viewers>\n          </ion-col>\n        </ion-row>\n        <ion-row\n          *ngIf=\"thing.updatedAt\"\n          class=\"ion-justify-content-center ion-margin-bottom\"\n        >\n          <ion-col size=\"10\">\n            <ion-note>\n              {{organizationName}} | \n              Updated at\n              {{ thing.updatedAt | date : \"MMMM d, y, h:mm a\" }}\n            </ion-note>\n          </ion-col>\n        </ion-row>\n      </div>\n      <div>\n        <ion-row *ngIf=\"currentAnswer == null\">\n          <ion-col size=\"10\" push=\"1\">\n            <ion-list>\n              <ion-radio-group [(ngModel)]=\"answer\">\n                <ion-item lines=\"none\" class=\"ion-no-padding\">\n                  <ion-label class=\"ion-text-wrap\">\n                    {{ acceptText }}\n                  </ion-label>\n                  <ion-radio\n                    [value]=\"true\"\n                    color=\"{{ acceptColor }}\"\n                  ></ion-radio>\n                </ion-item>\n                <ion-item lines=\"none\" class=\"ion-no-padding\">\n                  <ion-label class=\"ion-text-wrap\">\n                    {{ declineText }}\n                  </ion-label>\n                  <ion-radio\n                    [value]=\"false\"\n                    color=\"{{ declineColor }}\"\n                  ></ion-radio>\n                </ion-item>\n              </ion-radio-group>\n            </ion-list>\n          </ion-col>\n        </ion-row>\n        <ion-row\n          *ngIf=\"currentAnswer == null\"\n          class=\"ion-justify-content-around ion-margin-vertical\"\n        >\n          <ion-col size-sm=\"6\" size=\"10\">\n            <ion-button\n              *ngIf=\"answer === false\"\n              expand=\"block\"\n              (click)=\"dismiss(false)\"\n              color=\"{{ declineColor }}\"\n              class=\"ion-no-margin\"\n            >\n              {{ declineBtnText }}\n            </ion-button>\n            <ion-button\n              *ngIf=\"answer == null || answer === true\"\n              [disabled]=\"!answer\"\n              expand=\"block\"\n              (click)=\"dismiss(false)\"\n              color=\"{{ acceptColor }}\"\n              class=\"ion-no-margin\"\n            >\n              {{ acceptBtnText }}\n            </ion-button>\n          </ion-col>\n        </ion-row>\n        <ion-row *ngIf=\"currentAnswer != null\" class=\"ion-justify-content-center\">\n          <ion-col size=\"10\">\n            <ion-note *ngIf=\"currentAnswer === true\">\n              You gave your consent previously on\n              {{ answerDate | date : \"MMMM d, y, h:mm a\" }}\n            </ion-note>\n            <ion-note *ngIf=\"currentAnswer === false\">\n              You decided not to give your consent on\n              {{ answerDate | date : \"MMMM d, y, h:mm a\" }}\n            </ion-note>\n          </ion-col>\n        </ion-row>\n        <ion-row *ngIf=\"currentAnswer != null\">\n          <ion-col size=\"10\" push=\"1\">\n            <ion-list>\n              <ion-radio-group [(ngModel)]=\"answer\">\n                <ion-item lines=\"none\" class=\"ion-no-padding\">\n                  <ion-label *ngIf=\"currentAnswer === true\" class=\"ion-text-wrap\">\n                    {{ continueText }}\n                  </ion-label>\n                  <ion-label *ngIf=\"currentAnswer === false\" class=\"ion-text-wrap\">\n                    {{ acceptText }}\n                  </ion-label>\n                  <ion-radio\n                    [value]=\"true\"\n                    color=\"{{ acceptColor }}\"\n                  ></ion-radio>\n                </ion-item>\n                <ion-item lines=\"none\" class=\"ion-no-padding\">\n                  <ion-label *ngIf=\"currentAnswer === true\" class=\"ion-text-wrap\">\n                    {{ withdrawText }}\n                  </ion-label>\n                  <ion-label *ngIf=\"currentAnswer === false\" class=\"ion-text-wrap\">\n                    {{ declineText }}\n                  </ion-label>\n                  <ion-radio\n                    [value]=\"false\"\n                    color=\"{{ declineColor }}\"\n                  ></ion-radio>\n                </ion-item>\n              </ion-radio-group>\n            </ion-list>\n          </ion-col>\n        </ion-row>\n        <ion-row\n          *ngIf=\"currentAnswer != null\"\n          class=\"ion-justify-content-center\"\n          style=\"min-height: 48px\"\n        >\n          <ion-col size=\"10\">\n            <ion-note\n              *ngIf=\"currentAnswer === true && answer === false\"\n              class=\"ion-text-wrap\"\n              color=\"{{ declineColor }}\"\n            >\n              {{ withdrawInfoText }}\n            </ion-note>\n          </ion-col>\n        </ion-row>\n        <ion-row\n          *ngIf=\"currentAnswer != null && currentAnswer === true\"\n          class=\"ion-justify-content-around ion-margin-vertical\"\n        >\n          <ion-col size-sm=\"6\" size=\"10\">\n            <ion-button\n              *ngIf=\"answer === false\"\n              expand=\"block\"\n              (click)=\"dismiss(false)\"\n              color=\"{{ declineColor }}\"\n              class=\"ion-no-margin\"\n            >\n              {{ withdrawBtnText }}\n            </ion-button>\n            <ion-button\n              *ngIf=\"answer == null || answer === true\"\n              [disabled]=\"!answer\"\n              expand=\"block\"\n              (click)=\"dismiss(false)\"\n              color=\"{{ acceptColor }}\"\n              class=\"ion-no-margin\"\n            >\n              {{ continueBtnText }}\n            </ion-button>\n          </ion-col>\n        </ion-row>\n        <ion-row\n          *ngIf=\"currentAnswer != null && currentAnswer === false\"\n          class=\"ion-justify-content-around ion-margin-vertical\"\n        >\n          <ion-col size-sm=\"6\" size=\"10\">\n            <ion-button\n              *ngIf=\"answer === false\"\n              expand=\"block\"\n              (click)=\"dismiss(false)\"\n              color=\"{{ declineColor }}\"\n              class=\"ion-no-margin\"\n            >\n              {{ declineBtnText }}\n            </ion-button>\n            <ion-button\n              *ngIf=\"answer == null || answer === true\"\n              [disabled]=\"!answer\"\n              expand=\"block\"\n              (click)=\"dismiss(false)\"\n              color=\"{{ acceptColor }}\"\n              class=\"ion-no-margin\"\n            >\n              {{ acceptBtnText }}\n            </ion-button>\n          </ion-col>\n        </ion-row>\n      </div>\n    </div>  \n    </ion-grid>\n  <ng-template #notReady>\n    <ion-grid>\n      <ion-row class=\"ion-justify-content-center\">\n        <ion-col size=\"auto\">\n          <ion-spinner></ion-spinner>\n        </ion-col>\n      </ion-row>\n    </ion-grid>\n  </ng-template>\n</ion-content>\n","styles":["ion-note{display:block;font-size:.75em;text-align:center;width:100%}ion-radio{margin-left:16px}"]}]}],"members":{"thing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"textPlaceholderConf":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"organizationName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"contentColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"acceptColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"declineColor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"acceptText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"declineText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"acceptBtnText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"declineBtnText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"withdrawInfoText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"continueText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"withdrawText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"continueBtnText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"withdrawBtnText":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"currentAnswer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"answerDate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":35,"character":28}]}],"dismiss":[{"__symbolic":"method"}]}},"ResourceCarouselViewerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"}],"declarations":[{"__symbolic":"reference","name":"ResourceCarouselViewer"},{"__symbolic":"reference","name":"CarouselDynItemViewer"},{"__symbolic":"reference","name":"CarouselItemViewer"}],"exports":[{"__symbolic":"reference","name":"ResourceCarouselViewer"},{"__symbolic":"reference","name":"CarouselDynItemViewer"},{"__symbolic":"reference","name":"CarouselItemViewer"}]}]}],"members":{}},"HierarchicalTreeViewerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"ModulesModule"}],"entryComponents":[{"__symbolic":"reference","name":"TreeNodeViewer"},{"__symbolic":"reference","name":"HierarchicalTreeViewer"},{"__symbolic":"reference","name":"TreeViewerIconButtons"},{"__symbolic":"reference","name":"TreeViewerNavButtons"}],"declarations":[{"__symbolic":"reference","name":"TreeNodeViewer"},{"__symbolic":"reference","name":"HierarchicalTreeViewer"},{"__symbolic":"reference","name":"TreeViewerIconButtons"},{"__symbolic":"reference","name":"TreeViewerNavButtons"}],"exports":[{"__symbolic":"reference","name":"TreeNodeViewer"},{"__symbolic":"reference","name":"HierarchicalTreeViewer"},{"__symbolic":"reference","name":"TreeViewerIconButtons"},{"__symbolic":"reference","name":"TreeViewerNavButtons"}]}]}],"members":{}},"MenuViewerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"ModulesModule"}],"entryComponents":[{"__symbolic":"reference","name":"MenuItemViewer"},{"__symbolic":"reference","name":"MenuViewer"}],"declarations":[{"__symbolic":"reference","name":"MenuItemViewer"},{"__symbolic":"reference","name":"MenuViewer"}],"exports":[{"__symbolic":"reference","name":"MenuItemViewer"},{"__symbolic":"reference","name":"MenuViewer"}]}]}],"members":{}},"ResourceViewersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"ResourceCarouselViewerModule"},{"__symbolic":"reference","name":"HierarchicalTreeViewerModule"}],"entryComponents":[{"__symbolic":"reference","name":"AssetViewer"},{"__symbolic":"reference","name":"RichtextViewer"},{"__symbolic":"reference","name":"RichtextAssetViewer"},{"__symbolic":"reference","name":"PageViewer"},{"__symbolic":"reference","name":"BaseDiagramViewer"},{"__symbolic":"reference","name":"AssetResViewer"},{"__symbolic":"reference","name":"ResourceViewers"},{"__symbolic":"reference","name":"CircularDiagramViewer"},{"__symbolic":"reference","name":"AcasMeterViewer"},{"__symbolic":"reference","name":"ResourceViewersModal"},{"__symbolic":"reference","name":"ResourceViewersModalPreview"}],"declarations":[{"__symbolic":"reference","name":"RichtextViewer"},{"__symbolic":"reference","name":"RichtextAssetViewer"},{"__symbolic":"reference","name":"PageViewer"},{"__symbolic":"reference","name":"BaseDiagramViewer"},{"__symbolic":"reference","name":"AssetResViewer"},{"__symbolic":"reference","name":"ResourceViewers"},{"__symbolic":"reference","name":"CircularDiagramViewer"},{"__symbolic":"reference","name":"AcasMeterViewer"},{"__symbolic":"reference","name":"ResourceViewersModal"},{"__symbolic":"reference","name":"ResourceViewersModalPreview"},{"__symbolic":"reference","name":"DiagnosisViewer"},{"__symbolic":"reference","name":"IcuDiaryViewer"},{"__symbolic":"reference","name":"TermsOfUseViewer"},{"__symbolic":"reference","name":"ConsentViewer"},{"__symbolic":"reference","name":"HelpArticleViewer"}],"exports":[{"__symbolic":"reference","name":"RichtextViewer"},{"__symbolic":"reference","name":"RichtextAssetViewer"},{"__symbolic":"reference","name":"PageViewer"},{"__symbolic":"reference","name":"BaseDiagramViewer"},{"__symbolic":"reference","name":"AssetResViewer"},{"__symbolic":"reference","name":"ResourceViewers"},{"__symbolic":"reference","name":"ResourceCarouselViewerModule"},{"__symbolic":"reference","name":"CircularDiagramViewer"},{"__symbolic":"reference","name":"AcasMeterViewer"},{"__symbolic":"reference","name":"ResourceViewersModal"},{"__symbolic":"reference","name":"ResourceViewersModalPreview"},{"__symbolic":"reference","name":"HierarchicalTreeViewerModule"},{"__symbolic":"reference","name":"MenuViewerModule"},{"__symbolic":"reference","name":"DiagnosisViewer"},{"__symbolic":"reference","name":"IcuDiaryViewer"},{"__symbolic":"reference","name":"TermsOfUseViewer"},{"__symbolic":"reference","name":"ConsentViewer"},{"__symbolic":"reference","name":"HelpArticleViewer"}],"providers":[{"__symbolic":"reference","module":"@awesome-cordova-plugins/in-app-browser/ngx","name":"InAppBrowser","line":80,"character":4}]}]}],"members":{}},"AppHeaderButtonViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"app-header-button-viewer","template":"<ng-template [ngIf]=\"loaded\">\n  <ion-button (click)=\"navigateFromHeader()\">\n    <ion-label *ngIf=\"headerOptions.showBtnTitle\">\n      {{ button.title }}\n    </ion-label>\n    <ng-template [ngIf]=\"headerOptions.showBtnIcon\">\n      <ion-icon\n        *ngIf=\"button.iconType === 'icon'\"\n        [name]=\"button.iconSource\"\n      ></ion-icon>\n      <div *ngIf=\"button.iconType === 'asset'\" class=\"logoContainer\">\n        <asset-viewer class=\"logoContainer\" [asset]=\"asset\"></asset-viewer>\n      </div>\n    </ng-template>\n  </ion-button>\n</ng-template>\n","styles":[".logoContainer{max-height:20px;max-width:20px;min-height:20px;min-width:20px}"]}]}],"members":{"navigate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":18,"character":3}}]}],"header":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"button":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","module":"@angular/router","name":"Router","line":31,"character":20}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"getAsset":[{"__symbolic":"method"}],"navigateFromHeader":[{"__symbolic":"method"}]}},"CommonCRUMSModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"}],"declarations":[{"__symbolic":"reference","name":"TextEditor"},{"__symbolic":"reference","name":"TagInputComponent"}],"exports":[{"__symbolic":"reference","name":"TextEditor"},{"__symbolic":"reference","name":"TagInputComponent"}]}]}],"members":{}},"TextEditor":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":13,"character":1},"arguments":[{"selector":"text-editor","template":"<ion-header>\n  <ion-row class=\"qToolbar ion-align-items-center\">\n    <ion-col id=\"qToolbar\">\n      <span class=\"ql-formats\">\n        <!-- Size -->\n        <select class=\"ql-size\" title=\"Font size\">\n          <option value=\"small\"></option>\n          <option selected=\"selected\"></option>\n          <option value=\"large\"></option>\n          <option value=\"huge\"></option>\n        </select>\n        <!-- Styles -->\n        <select class=\"ql-header\" title=\"Header type\">\n          <option value=\"1\"></option>\n          <option value=\"2\"></option>\n          <option value=\"3\"></option>\n          <option selected=\"selected\"></option>\n        </select>\n      </span>\n      <span class=\"ql-formats\">\n        <!-- Decoration -->\n        <button class=\"ql-bold\" title=\"Bold\"></button>\n        <button class=\"ql-italic\" title=\"Italic\"></button>\n        <button class=\"ql-underline\" title=\"Underline\"></button>\n        <button class=\"ql-strike\" title=\"Strikethrough\"></button>\n      </span>\n      <span class=\"ql-formats\">\n        <!-- Subscript/Superscript -->\n        <button class=\"ql-script\" value=\"sub\" title=\"Subscript\"></button>\n        <button class=\"ql-script\" value=\"super\" title=\"Superscript\"></button>\n      </span>\n      <span class=\"ql-formats\">\n        <!-- Colors -->\n        <select class=\"ql-color\" title=\"Text color\">\n          <option selected=\"selected\"></option>\n          <option value=\"#e60000\"></option>\n          <option value=\"#ff9900\"></option>\n          <option value=\"#ffff00\"></option>\n          <option value=\"#008a00\"></option>\n          <option value=\"#0066cc\"></option>\n          <option value=\"#9933ff\"></option>\n          <option value=\"#ffffff\"></option>\n          <option value=\"#facccc\"></option>\n          <option value=\"#ffebcc\"></option>\n          <option value=\"#ffffcc\"></option>\n          <option value=\"#cce8cc\"></option>\n          <option value=\"#cce0f5\"></option>\n          <option value=\"#ebd6ff\"></option>\n          <option value=\"#bbbbbb\"></option>\n          <option value=\"#f06666\"></option>\n          <option value=\"#ffc266\"></option>\n          <option value=\"#ffff66\"></option>\n          <option value=\"#66b966\"></option>\n          <option value=\"#66a3e0\"></option>\n          <option value=\"#c285ff\"></option>\n          <option value=\"#888888\"></option>\n          <option value=\"#a10000\"></option>\n          <option value=\"#b26b00\"></option>\n          <option value=\"#b2b200\"></option>\n          <option value=\"#006100\"></option>\n          <option value=\"#0047b2\"></option>\n          <option value=\"#6b24b2\"></option>\n          <option value=\"#444444\"></option>\n          <option value=\"#5c0000\"></option>\n          <option value=\"#663d00\"></option>\n          <option value=\"#666600\"></option>\n          <option value=\"#003700\"></option>\n          <option value=\"#002966\"></option>\n          <option value=\"#3d1466\"></option>\n        </select>\n        <select class=\"ql-background\" title=\"Background\">\n          <option value=\"#000000\"></option>\n          <option value=\"#e60000\"></option>\n          <option value=\"#ff9900\"></option>\n          <option value=\"#ffff00\"></option>\n          <option value=\"#008a00\"></option>\n          <option value=\"#0066cc\"></option>\n          <option value=\"#9933ff\"></option>\n          <option selected=\"selected\"></option>\n          <option value=\"#facccc\"></option>\n          <option value=\"#ffebcc\"></option>\n          <option value=\"#ffffcc\"></option>\n          <option value=\"#cce8cc\"></option>\n          <option value=\"#cce0f5\"></option>\n          <option value=\"#ebd6ff\"></option>\n          <option value=\"#bbbbbb\"></option>\n          <option value=\"#f06666\"></option>\n          <option value=\"#ffc266\"></option>\n          <option value=\"#ffff66\"></option>\n          <option value=\"#66b966\"></option>\n          <option value=\"#66a3e0\"></option>\n          <option value=\"#c285ff\"></option>\n          <option value=\"#888888\"></option>\n          <option value=\"#a10000\"></option>\n          <option value=\"#b26b00\"></option>\n          <option value=\"#b2b200\"></option>\n          <option value=\"#006100\"></option>\n          <option value=\"#0047b2\"></option>\n          <option value=\"#6b24b2\"></option>\n          <option value=\"#444444\"></option>\n          <option value=\"#5c0000\"></option>\n          <option value=\"#663d00\"></option>\n          <option value=\"#666600\"></option>\n          <option value=\"#003700\"></option>\n          <option value=\"#002966\"></option>\n          <option value=\"#3d1466\"></option>\n        </select>\n      </span>\n      <span class=\"ql-formats\">\n        <!-- Blocks -->\n        <!-- <button class=\"ql-blockquote\"></button> -->\n        <!-- <button class=\"ql-code-block\"></button> -->\n        <!-- Lists -->\n        <button class=\"ql-list\" value=\"ordered\" title=\"Numbered list\"></button>\n        <button class=\"ql-list\" value=\"bullet\" title=\"Bulleted list\"></button>\n        <!-- Indentation -->\n        <button class=\"ql-indent\" value=\"+1\" title=\"Increase indent\"></button>\n        <button class=\"ql-indent\" value=\"-1\" title=\"Decrease indent\"></button>\n      </span>\n      <span class=\"ql-formats\">\n        <!-- Formatting -->\n        <!-- <button class=\"ql-direction\" value=\"rtl\"></button> -->\n        <select class=\"ql-align\">\n          <option selected=\"selected\" title=\"Align left\"></option>\n          <option value=\"center\" title=\"Center\"></option>\n          <option value=\"right\" title=\"Align right\"></option>\n          <option value=\"justify\" title=\"Justify\"></option>\n        </select>\n        <button class=\"ql-clean\" title=\"Clear formatting\"></button>\n      </span>\n      <span class=\"ql-formats\">\n        <!-- Media -->\n        <!-- //TODO add titles -->\n        <button class=\"ql-link\" title=\"Link\"></button>\n        <button class=\"ql-image\" title=\"Image\"></button>\n        <button class=\"ql-video\" title=\"Video\"></button>\n        <!-- <button class=\"ql-formula\"></button> -->\n      </span>\n    </ion-col>\n\n    <ion-col size=\"2\" class=\"ion-text-end\">\n      <ion-button\n        class=\"ion-no-margin\"\n        size=\"small\"\n        fill=\"clear\"\n        (click)=\"confirm()\"\n        tooltip=\"Save\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-icon name=\"save-outline\"></ion-icon>\n      </ion-button>\n      <ion-button\n        class=\"ion-no-margin\"\n        size=\"small\"\n        fill=\"clear\"\n        (click)=\"cancel()\"\n        tooltip=\"Cancel\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-icon name=\"close-outline\"></ion-icon>\n      </ion-button>\n    </ion-col>\n  </ion-row>\n</ion-header>\n\n<ion-content>\n  <div id=\"editor\"></div>\n</ion-content>\n","styles":["ion-header{background:var(--ion-toolbar-background);min-height:56px}ion-header ion-row{height:100%}#editor,#qToolbar{border:none}"]}]}],"members":{"originalHtml":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"editor":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":20,"character":3},"arguments":["editor",{"static":false}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":29,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"createQuill":[{"__symbolic":"method"}],"confirm":[{"__symbolic":"method"}],"cancel":[{"__symbolic":"method"}]}},"TagInputComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"app-tag-input","template":"<ion-grid class=\"ion-no-padding\">\n  <ion-row class=\"ion-align-items-center\">\n    <ion-col *ngIf=\"!disabled\">\n      <ion-input\n        [placeholder]=\"placeholder\"\n        (keyup)=\"keyUp($event)\"\n        (keyup.enter)=\"saveNewTag()\"\n        [(ngModel)]=\"newTag\"\n      >\n      </ion-input>\n    </ion-col>\n    <ion-col>\n      <ion-chip *ngFor=\"let val of values\">\n        <ion-label>{{ val }}</ion-label>\n        <ion-icon\n          *ngIf=\"!disabled\"\n          name=\"close-circle\"\n          (click)=\"removeTag(val)\"\n        ></ion-icon>\n      </ion-chip>\n    </ion-col>\n  </ion-row>\n</ion-grid>\n"}]}],"members":{"formDataName":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"value":[{"__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":21,"character":3}}]}],"separator":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":29,"character":3}}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"valueChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":39,"character":3}}]}],"ngOnInit":[{"__symbolic":"method"}],"keyUp":[{"__symbolic":"method"}],"saveNewTag":[{"__symbolic":"method"}],"addTag":[{"__symbolic":"method"}],"removeTag":[{"__symbolic":"method"}],"updateValue":[{"__symbolic":"method"}]}},"FormViewerModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":7,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"FormThingModule"}],"entryComponents":[{"__symbolic":"reference","name":"FormViewer"},{"__symbolic":"reference","name":"FormViewerModal"}],"declarations":[{"__symbolic":"reference","name":"FormViewer"},{"__symbolic":"reference","name":"FormViewerModal"}],"exports":[{"__symbolic":"reference","name":"FormViewer"},{"__symbolic":"reference","name":"FormThingModule"},{"__symbolic":"reference","name":"FormViewerModal"}]}]}],"members":{}},"FormViewerModal":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":18,"character":1},"arguments":[{"selector":"form-viewer-modal","changeDetection":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectionStrategy","line":22,"character":19},"member":"OnPush"},"template":"<ion-header class=\"ion-no-border\">\n  <ion-toolbar [color]=\"color\">\n    <ion-buttons slot=\"start\">\n      <ion-button\n        (click)=\"closeModal()\"\n        tooltip=\"Close preview\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-label>Close</ion-label>\n        <ion-icon name=\"close\" slot=\"start\"></ion-icon>\n      </ion-button>\n    </ion-buttons>\n    <ion-buttons slot=\"end\">\n      <ion-button\n        [disabled]=\"formGroup?.invalid\"\n        [hidden]=\"submitted\"\n        (click)=\"save()\"\n        tooltip=\"Save changes\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-label>Submit</ion-label>\n        <ion-icon name=\"checkmark\"></ion-icon>\n      </ion-button>\n    </ion-buttons>\n  </ion-toolbar>\n  <ion-toolbar color=\"primary\">\n    <ion-title class=\"ion-no-padding ion-padding-horizontal ion-text-start\">\n      {{ name }}\n    </ion-title>\n  </ion-toolbar>\n</ion-header>\n\n<div id=\"previewContainer\">\n  <div id=\"preview\">\n    <ion-content [color]=\"color\">\n      <form-viewer\n        [(thing)]=\"thing\"\n        [(entry)]=\"entry\"\n        (updateValues)=\"updateValuesEvent($event)\"\n      ></form-viewer>\n    </ion-content>\n  </div>\n</div>\n","styles":["#previewContainer{display:inherit;overflow:hidden}#preview,#previewContainer{height:100%;margin:auto;width:100%}#preview{transform-origin:top center}#preview ion-content{--background:inherit}#preview ion-content ion-card{height:100%;overflow:auto}"]}]}],"members":{"thing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"entry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"color":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":27,"character":3}}]}],"updateValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"formViewer":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":29,"character":3},"arguments":[{"__symbolic":"reference","name":"FormViewer"}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormUtilsService"},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"ErrorService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":36,"character":28}]}],"updateValuesEvent":[{"__symbolic":"method"}],"closeModal":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"FormViewer":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":28,"character":1},"arguments":[{"selector":"form-viewer","template":"<div *ngIf=\"data?.display?.displayText === true\" class=\"ion-padding\">\n  <ion-text [innerHtml]=\"data.outputHTML\"> </ion-text>\n</div>\n\n<ng-template [ngIf]=\"data?.display?.type === 'grid'\">\n  <form-thing\n    [submitted]=\"submitted\"\n    [editorData]=\"formData\"\n    [entryArray]=\"formEntryArray\"\n  >\n  </form-thing>\n</ng-template>\n\n<ng-template [ngIf]=\"data?.display?.type === 'card'\">\n  <ion-card button=\"true\" (click)=\"toggleResource(i)\">\n    <ion-card-header>\n      <ion-item lines=\"none\">\n        <ion-label>{{ form.metadata.name }}</ion-label>\n        <ion-button\n          *ngIf=\"toggleRes[i]\"\n          class=\"ion-no-padding ion-no-margin\"\n          slot=\"end\"\n          fill=\"clear\"\n        >\n          <ion-icon\n            class=\"ion-no-padding ion-no-margin\"\n            name=\"remove-outline\"\n          ></ion-icon>\n        </ion-button>\n        <ion-button\n          *ngIf=\"!toggleRes[i]\"\n          class=\"ion-no-padding ion-no-margin\"\n          slot=\"end\"\n          fill=\"clear\"\n        >\n          <ion-icon\n            class=\"ion-no-padding ion-no-margin\"\n            name=\"add-outline\"\n          ></ion-icon>\n        </ion-button>\n      </ion-item>\n    </ion-card-header>\n    {{ submitted }}\n    <ion-card-content *ngIf=\"toggleRes\">\n      <form-thing\n        [submitted]=\"submitted\"\n        [editorData]=\"formData\"\n        [entryArray]=\"formEntryArray\"\n      >\n      </form-thing>\n    </ion-card-content>\n  </ion-card>\n</ng-template>\n"}]}],"members":{"formThing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":33,"character":3},"arguments":[{"__symbolic":"reference","name":"FormThing"}]}]}],"thing":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":34,"character":3}}]}],"thingChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":35,"character":3}}]}],"entry":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"entryChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":37,"character":3}}]}],"updateValues":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":38,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"FormUtilsService"},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"ErrorService"}]}],"ngOnInit":[{"__symbolic":"method"}],"buildEntry":[{"__symbolic":"method"}],"buildFormObj":[{"__symbolic":"method"}],"toggleResource":[{"__symbolic":"method"}],"saveQueueHandler":[{"__symbolic":"method"}],"save":[{"__symbolic":"method"}]}},"FormThingModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":13,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"CommonCRUMSModule"}],"entryComponents":[],"declarations":[{"__symbolic":"reference","name":"FormThing"},{"__symbolic":"reference","name":"FormThingGrid"},{"__symbolic":"reference","name":"FormThingCard"},{"__symbolic":"reference","name":"FormThingRecursiveCard"},{"__symbolic":"reference","name":"FormThingElement"},{"__symbolic":"reference","name":"FormThingRecursive"},{"__symbolic":"reference","name":"FileFormElement"},{"__symbolic":"reference","name":"InputFormElement"}],"exports":[{"__symbolic":"reference","name":"FormThing"},{"__symbolic":"reference","name":"FormThingGrid"},{"__symbolic":"reference","name":"FormThingCard"},{"__symbolic":"reference","name":"FormThingRecursiveCard"},{"__symbolic":"reference","name":"FormThingElement"},{"__symbolic":"reference","name":"FormThingRecursive"},{"__symbolic":"reference","name":"FileFormElement"},{"__symbolic":"reference","name":"InputFormElement"}]}]}],"members":{}},"FormThing":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":11,"character":1},"arguments":[{"selector":"form-thing","template":"<!-- If not array then must be an json -->\n<ng-template [ngIf]=\"!getIsArray(editorData)\">\n  <p debug>form-thing</p>\n  <!-- If it is a grid -->\n  <ng-template [ngIf]=\"editorData?.type === 'grid'\">\n    <form-thing-grid\n      [submitted]=\"submitted\"\n      [formGroup]=\"formGroup\"\n      [editorData]=\"editorData\"\n      [entryArray]=\"entryArray\"\n      (valuesChanged)=\"passValueChanges($event)\"\n    ></form-thing-grid>\n  </ng-template>\n  <!-- If it is a card -->\n  <ng-template [ngIf]=\"editorData?.type === 'card'\">\n    <form-thing-card\n      [submitted]=\"submitted\"\n      [formGroup]=\"formGroup\"\n      [editorData]=\"editorData\"\n      [entryArray]=\"entryArray\"\n      (valuesChanged)=\"passValueChanges($event)\"\n    ></form-thing-card>\n  </ng-template>\n</ng-template>\n<!-- if it is an array -->\n<ng-template [ngIf]=\"getIsArray(editorData)\">\n  <!-- run the array and rerun the component for each element-->\n  <ng-template ngFor let-child [ngForOf]=\"editorData\" let-i=\"index\">\n    <form-thing\n      [submitted]=\"submitted\"\n      [editorData]=\"child\"\n      [entryArray]=\"entryArray\"\n      (valuesChanged)=\"passValueChanges($event)\"\n    ></form-thing>\n  </ng-template>\n</ng-template>\n"}]}],"members":{"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"editorData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"entryArray":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"valuesChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"getIsArray":[{"__symbolic":"method"}],"toggleContent":[{"__symbolic":"method"}],"passValueChanges":[{"__symbolic":"method"}]}},"FormThingElement":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":25,"character":1},"arguments":[{"selector":"form-thing-element","template":"<form [formGroup]=\"formGroup\">\n  <p debug>form-thing-element</p>\n  <!-- Tooltip -->\n  <ng-template [ngIf]=\"true\">\n    <div\n      class=\"full-width\"\n      [tooltip]=\"formData.tooltip.message\"\n      [placement]=\"formData.tooltip.placement\"\n      [delay]=\"formData.tooltip.delay\"\n    >\n      <!--\n#   ######  ######## ########    ######## ##    ## ########  ########  ######\n#  ##    ##    ##    ##     ##      ##     ##  ##  ##     ## ##       ##    ##\n#  ##          ##    ##     ##      ##      ####   ##     ## ##       ##\n#   ######     ##    ##     ##      ##       ##    ########  ######    ######\n#        ##    ##    ##     ##      ##       ##    ##        ##             ##\n#  ##    ##    ##    ##     ##      ##       ##    ##        ##       ##    ##\n#   ######     ##    ########       ##       ##    ##        ########  ######  -->\n\n      <ng-template\n        [ngIf]=\"\n          formData.type === 'yesNo' ||\n          formData.type === 'input' ||\n          formData.type === 'simpletext' ||\n          formData.type === 'checkbox' ||\n          formData.type === 'slider' ||\n          formData.type === 'select' ||\n          formData.type === 'richtext' ||\n          formData.type === 'inputJSON' ||\n          formData.type === 'datetime' ||\n          formData.type === 'segment-select' ||\n          formData.type === 'tagInput'\n        \"\n      >\n        <crums-input\n          [submitted]=\"submitted\"\n          [formData]=\"formData\"\n          [formValue]=\"formValue\"\n        >\n          <p *ngFor=\"let v of getValidators()\">\n            <ion-text color=\"danger\">{{ v.message }}</ion-text>\n          </p>\n        </crums-input>\n      </ng-template>\n      <!--\n      #  ########  ########  ######  ##     ## ########    ######## ##    ## ########  ########  ######\n      #  ##     ## ##       ##    ## ##     ## ##     ##      ##     ##  ##  ##     ## ##       ##    ##\n      #  ##     ## ##       ##       ##     ## ##     ##      ##      ####   ##     ## ##       ##\n      #  ########  ######   ##       ##     ## ########       ##       ##    ########  ######    ######\n      #  ##   ##   ##       ##       ##     ## ##   ##        ##       ##    ##        ##             ##\n      #  ##    ##  ##       ##    ## ##     ## ##    ##       ##       ##    ##        ##       ##    ##\n      #  ##     ## ########  ######   #######  ##     ##      ##       ##    ##        ########  ######   -->\n\n      <!-- Type recursiveJSON -->\n      <ng-template [ngIf]=\"formData.type === 'recursiveJSON'\">\n        <ion-grid class=\"ion-no-padding\">\n          <ion-row>\n            <ion-col size=\"12\">\n              <ion-item class=\"ion-no-padding full-width\" lines=\"none\">\n                <ion-label position=\"fixed\">Element</ion-label>\n                <ion-button\n                  size=\"default\"\n                  class=\"ion-no-margin ion-no-padding\"\n                  fill=\"clear\"\n                  slot=\"end\"\n                  (click)=\"addNewRecJSON()\"\n                >\n                  <ion-icon size=\"large\" name=\"add-circle-outline\"></ion-icon>\n                </ion-button>\n              </ion-item>\n            </ion-col>\n          </ion-row>\n          <ion-row>\n            <ng-template\n              ngFor\n              let-elem\n              [ngForOf]=\"formValue.value\"\n              let-i=\"index\"\n            >\n              <ion-col size=\"12\">\n                <form-thing-recursive\n                  [isFirst]=\"i === 0\"\n                  [isLast]=\"i === element[formValue.value].length - 1\"\n                  [level]=\"formData.options.nrLevels - 1\"\n                  [element]=\"elem\"\n                  [formInputData]=\"formData\"\n                  (changeOrder)=\"changeRecJSONOrder($event, elem, i)\"\n                  (todelete)=\"removeRootNode(i)\"\n                ></form-thing-recursive>\n              </ion-col>\n            </ng-template>\n          </ion-row>\n        </ion-grid>\n      </ng-template>\n    </div>\n  </ng-template>\n  <!--\n      #  ######## #### ##       ########   ######## ##    ## ########  ########\n      #  ##        ##  ##       ##            ##     ##  ##  ##     ## ##\n      #  ##        ##  ##       ##            ##      ####   ##     ## ##\n      #  ######    ##  ##       ######        ##       ##    ########  ######\n      #  ##        ##  ##       ##            ##       ##    ##        ##\n      #  ##        ##  ##       ##            ##       ##    ##        ##\n      #  ##       #### ######## ########      ##       ##    ##        ########  -->\n  <ng-template [ngIf]=\"formData.type === 'fileentry'\">\n    <crums-file\n      [formData]=\"formData\"\n      [formValue]=\"formValue\"\n      (formChangedValue)=\"fileUpdated($event)\"\n    ></crums-file>\n  </ng-template>\n  <!--\n    #  ##     ##    ###    ##       #### ########     ###    ########  #######  ########\n    #  ##     ##   ## ##   ##        ##  ##     ##   ## ##      ##    ##     ## ##     ##\n    #  ##     ##  ##   ##  ##        ##  ##     ##  ##   ##     ##    ##     ## ##     ##\n    #  ##     ## ##     ## ##        ##  ##     ## ##     ##    ##    ##     ## ########\n    #   ##   ##  ######### ##        ##  ##     ## #########    ##    ##     ## ##   ##\n    #    ## ##   ##     ## ##        ##  ##     ## ##     ##    ##    ##     ## ##    ##\n    #     ###    ##     ## ######## #### ########  ##     ##    ##     #######  ##     ##  -->\n\n  <div\n    *ngIf=\"formData.type === 'recursiveJSON' || formData.type === 'fileentry'\"\n    class=\"validation-errors\"\n  >\n    <ion-chip *ngFor=\"let v of getValidators()\" outline color=\"danger\">\n      <ion-icon name=\"alert-outline\"></ion-icon>\n      <ion-label>{{ v.message }}</ion-label>\n    </ion-chip>\n  </div>\n</form>\n"}]}],"members":{"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":30,"character":3}}]}],"formData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":31,"character":3}}]}],"formValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":32,"character":3}}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":33,"character":3}}]}],"formChangedValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":34,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"ModalController","line":46,"character":28},{"__symbolic":"reference","name":"ApiService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"createEmptyForm":[{"__symbolic":"method"}],"updateValue":[{"__symbolic":"method"}],"createValidatorArray":[{"__symbolic":"method"}],"validateJSON":[{"__symbolic":"method"}],"getValidators":[{"__symbolic":"method"}],"editText":[{"__symbolic":"method"}],"setJSONtoString":[{"__symbolic":"method"}],"segmentChanged":[{"__symbolic":"method"}],"addNewRecJSON":[{"__symbolic":"method"}],"changeRecJSONOrder":[{"__symbolic":"method"}],"removeRootNode":[{"__symbolic":"method"}],"rearrangeRootNodesArray":[{"__symbolic":"method"}],"checkDisabled":[{"__symbolic":"method"}],"fileUpdated":[{"__symbolic":"method"}]}},"FileFormElement":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":16,"character":1},"arguments":[{"selector":"crums-file","template":"<ng-template [ngIf]=\"loaded\">\n  <ion-item lines=\"none\">\n    <ng-template [ngIf]=\"!formValue.value\">\n      <ion-input\n        type=\"file\"\n        (change)=\"onFileSelect($event)\"\n        clearInput=\"true\"\n      ></ion-input>\n      <ion-button (click)=\"confirmSave()\">Save File</ion-button>\n    </ng-template>\n    <ng-template [ngIf]=\"formValue.value\">\n      <ion-button (click)=\"deleteFile()\">Delete File</ion-button>\n      <asset-viewer [asset]=\"asset\"> </asset-viewer>\n    </ng-template>\n  </ion-item>\n</ng-template>\n","styles":[""]}]}],"members":{"formData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"formValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"formChangedValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":24,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","module":"@ionic/angular","name":"AlertController","line":33,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"onFileSelect":[{"__symbolic":"method"}],"deleteFile":[{"__symbolic":"method"}],"confirmSave":[{"__symbolic":"method"}],"uploadFailed":[{"__symbolic":"method"}],"createNewThing":[{"__symbolic":"method"}],"createNewAsset":[{"__symbolic":"method"}],"upload":[{"__symbolic":"method"}]}},"InputFormElement":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"crums-input","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"ControlContainer","line":15,"character":15},"useExisting":{"__symbolic":"reference","module":"@angular/forms","name":"FormGroupDirective","line":16,"character":19}}],"template":"<ion-item lines=\"none\">\n  <p debug>crums-input</p>\n  <ng-template [ngIf]=\"formData.type === 'yesNo'\">\n    <ion-label class=\"inputLabel\">{{ formData.display.formPrompt }}</ion-label>\n    <ion-radio-group\n      allowEmptySelection=\"true\"\n      [value]=\"value\"\n      (ionChange)=\"changed($event)\"\n      slot=\"end\"\n    >\n      <ion-row class=\"yesno ion-no-padding\">\n        <ion-col class=\"ion-no-padding\">\n          <ion-item lines=\"none\" [ngClass]=\"{'selected': value === true }\">\n            <ion-radio\n              [disabled]=\"submitted\"\n              slot=\"start\"\n              value=\"true\"\n            ></ion-radio>\n            <ion-label>Yes</ion-label>\n          </ion-item>\n        </ion-col>\n\n        <ion-col class=\"ion-no-padding\">\n          <ion-item lines=\"none\">\n            <ion-radio\n              [disabled]=\"submitted\"\n              slot=\"start\"\n              value=\"false\"\n            ></ion-radio>\n            <ion-label>No</ion-label>\n          </ion-item>\n        </ion-col>\n      </ion-row>\n    </ion-radio-group>\n  </ng-template>\n\n  <ng-template [ngIf]=\"formData.type === 'input'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <ion-input\n      [disabled]=\"submitted\"\n      [value]=\"value\"\n      (ionChange)=\"changed($event)\"\n      [placeholder]=\"formData.display.formPrompt\"\n      class=\"ion-no-padding-horizontal\"\n    >\n    </ion-input>\n  </ng-template>\n\n  <ng-template [ngIf]=\"formData.type === 'simpletext'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <ion-textarea\n      [disabled]=\"submitted\"\n      (ionChange)=\"changed($event)\"\n      placeholder=\"Your answer here\"\n      auto-grow\n    ></ion-textarea>\n  </ng-template>\n\n  <ng-template [ngIf]=\"formData.type === 'checkbox'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <ion-checkbox\n      [disabled]=\"submitted\"\n      [value]=\"value\"\n      (ionChange)=\"changed($event)\"\n      slot=\"end\"\n    ></ion-checkbox>\n  </ng-template>\n\n  <ng-template [ngIf]=\"formData.type === 'slider'\">\n    <ion-label class=\"inputLabel\" position=\"stacked\">{{\n      formData.display.formPrompt\n    }}</ion-label>\n    <ion-range\n      [disabled]=\"submitted\"\n      [min]=\"formData.options.min\"\n      [max]=\"formData.options.max\"\n      [step]=\"formData.options.step\"\n      [snaps]=\"formData.options.snaps\"\n      [ticks]=\"formData.options.ticks\"\n      [pin]=\"formData.options.pin\"\n      [color]=\"formData.options.color\"\n      [mode]=\"formData.options.mode\"\n      [value]=\"value\"\n      (ionChange)=\"changed($event)\"\n      [ngClass]=\"{ touched: formValue.value }\"\n    >\n    </ion-range>\n    <table class=\"tickmarks\">\n      <caption></caption>\n      <th scope=\"dummy\"></th>\n      <tr>\n        <td *ngFor=\"let step of sliderSteps\">{{ step }}</td>\n      </tr>\n    </table>\n  </ng-template>\n  <!-- Type select -->\n  <ng-template [ngIf]=\"formData.type === 'select'\">\n    <ion-label position=\"fixed\" class=\"selectInputLabel\">{{ formData.display.formPrompt }}</ion-label>\n    <ion-select\n      slot=\"end\"\n      [disabled]=\"submitted\"\n      interface=\"popover\"\n      placeholder=\"Select an option\"\n      [value]=\"value\"\n      (ionChange)=\"changed($event)\"\n      [multiple]=\"formData.options.nrSelections > 1\"\n      class=\"ion-text-wrap\"\n    >\n      <ng-template\n        ngFor\n        let-child\n        [ngForOf]=\"formData.options.selectOptions\"\n        let-i=\"index\"\n      >\n        <ion-select-option [value]=\"child.value\">{{\n          child.label\n        }}</ion-select-option>\n      </ng-template>\n    </ion-select>\n  </ng-template>\n  <!-- Rich Text -->\n  <ng-template [ngIf]=\"formData.type === 'richtext'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <ion-textarea button=\"true\" readonly=\"true\" (click)=\"editText()\">\n      <quill-view-html [content]=\"formValue.value\"> </quill-view-html>\n    </ion-textarea>\n  </ng-template>\n  <!-- Type inputJSON -->\n  <ng-template [ngIf]=\"formData.type === 'inputJSON'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <ion-input class=\"ion-no-padding-horizontal\"></ion-input>\n  </ng-template>\n  <!-- Date time Select -->\n  <ng-template [ngIf]=\"formData.type === 'datetime'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <ion-datetime\n      style=\"width: 100%\"\n      displayFormat=\"DD/MM/YYYY HH:mm\"\n      display-timezone=\"utc\"\n      [value]=\"convertToISO(value)\"\n      (ionChange)=\"changed($event)\"\n      placeholder=\"Select a date\"\n    ></ion-datetime>\n  </ng-template>\n  <!-- Segment select -->\n  <ng-template [ngIf]=\"formData.type === 'segment-select'\">\n    <ion-segment\n      class=\"ion-no-padding\"\n      [value]=\"value\"\n      (ionChange)=\"changed($event)\"\n    >\n      <ion-grid class=\"ion-no-padding\">\n        <ion-row class=\"ion-no-padding\">\n          <ion-col size=\"3\" *ngFor=\"let val of formData.options.values\">\n            <ion-segment-button class=\"ion-no-padding\" [value]=\"val.value\">\n              <ion-icon\n                *ngIf=\"val.icon\"\n                [src]=\"utils.getIconPath(val.icon)\"\n              ></ion-icon>\n              <ion-label>{{ val.text }}</ion-label>\n            </ion-segment-button>\n          </ion-col>\n        </ion-row>\n      </ion-grid>\n    </ion-segment>\n  </ng-template>\n  <!-- Tag Input -->\n  <ng-template [ngIf]=\"formData.type === 'tagInput'\">\n    <ion-label\n      class=\"inputLabel\"\n      [position]=\"formData.display.displayOnTop ? 'stacked' : 'fixed'\"\n      >{{ formData.display.formPrompt }}</ion-label\n    >\n    <app-tag-input\n      style=\"width: 100%\"\n      [disabled]=\"submitted\"\n      [value]=\"value\"\n      (valueChange)=\"changed($event)\"\n      [placeholder]=\"formData.display.formPrompt\"\n    ></app-tag-input>\n  </ng-template>\n</ion-item>\n\n<!-- description -->\n<ion-item *ngIf=\"formData.display?.showDescription\" lines=\"none\">\n  <quill-view-html class=\"ion-no-padding description\" [content]=\"formData.description\">\n  </quill-view-html>\n</ion-item>\n\n<!-- errors -->\n<ion-item errors [ngClass]=\"errors ? 'haserrors' : 'noerrors'\" lines=\"none\">\n  <ion-label class=\"ion-text-wrap validator-item\" color=\"danger\">\n    <ng-content></ng-content>\n  </ion-label>\n</ion-item>\n\n<!-- divider -->\n<ion-item-divider lines=\"none\"></ion-item-divider>\n","styles":[".yesno{display:flex;flex-direction:row;place-self:flex-end}ion-input{--padding-end:0;--padding-start:0}ion-item{--background:var(--ion-color-light);--border-color:var(--ion-color-medium-shade)!important}ion-item ion-label{overflow:visible}.validator-item{--min-height:36px}ion-range{--knob-background:var(--ion-color-medium)}ion-range.touched{--knob-background:var(--ion-color-primary)}table.tickmarks{table-layout:fixed;text-align:center;width:100%;word-wrap:break-word}ion-item-divider{min-height:2px}[errors].noerrors{max-height:0}[errors].haserrors{max-height:100vh;transition:max-height .3s ease-in-out}.inputLabel,.selectInputLabel{white-space:break-spaces}.selectInputLabel{flex:none;max-width:100%;width:100%}.item-select-disabled .selectInputLabel{opacity:1}.description{font-style:italic;opacity:.8}ion-select::part(placeholder),ion-select::part(text){white-space:break-spaces}"]}]}],"members":{"formControlDirective":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":21,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/forms","name":"FormControlDirective","line":21,"character":13},{"static":true}]}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"formData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"formValue":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"ControlContainer","line":28,"character":39}]}],"ngOnInit":[{"__symbolic":"method"}],"changed":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}],"convertToISO":[{"__symbolic":"method"}],"convertToEpoch":[{"__symbolic":"method"}]}},"FormThingGrid":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"form-thing-grid","template":"<ion-grid class=\"ion-no-padding\">\n  <p debug>form-thing-grid</p>\n  <!-- if it has a component -->\n  <ng-template [ngIf]=\"editorData.component\">\n    <form-thing-element\n      [submitted]=\"submitted\"\n      [formGroup]=\"formGroup\"\n      [formData]=\"editorData.conf\"\n      [formValue]=\"getValue(editorData.conf.source)\"\n      (formChangedValue)=\"updateValue($event, editorData.conf.source)\"\n    ></form-thing-element>\n  </ng-template>\n  <!-- if it has children add rows -->\n  <ng-template [ngIf]=\"editorData.children\">\n    <ng-template\n      ngFor\n      let-childRow\n      [ngForOf]=\"editorData.children\"\n      let-i=\"index\"\n    >\n      <ion-row>\n        <!-- if it has a component -->\n        <ng-template [ngIf]=\"childRow.component\">\n          <form-thing-element\n            [submitted]=\"submitted\"\n            [formGroup]=\"formGroup\"\n            [formData]=\"childRow.conf\"\n            [formValue]=\"getValue(childRow.conf.source)\"\n            (formChangedValue)=\"updateValue($event, childRow.conf.source)\"\n          ></form-thing-element>\n        </ng-template>\n        <!-- if it has children add cols -->\n        <ng-template [ngIf]=\"childRow.children\">\n          <ng-template\n            ngFor\n            let-childCol\n            [ngForOf]=\"childRow.children\"\n            let-i=\"index\"\n          >\n            <ion-col size=\"{{ childCol.size }}\" class=\"ion-no-padding\">\n              <!-- if it has a component -->\n              <ng-template [ngIf]=\"childCol.component\">\n                <form-thing-element\n                  [submitted]=\"submitted\"\n                  [formGroup]=\"formGroup\"\n                  [formData]=\"childCol.conf\"\n                  [formValue]=\"getValue(childCol.conf.source)\"\n                  (formChangedValue)=\"updateValue($event, childCol.conf.source)\"\n                ></form-thing-element>\n              </ng-template>\n              <!-- if it has children add other -->\n              <ng-template [ngIf]=\"childCol.children\">\n                <ng-template\n                  ngFor\n                  let-childOther\n                  [ngForOf]=\"childCol.children\"\n                  let-i=\"index\"\n                >\n                  <form-thing\n                    [submitted]=\"submitted\"\n                    [editorData]=\"childOther\"\n                    [entryArray]=\"entryArray\"\n                    (valuesChanged)=\"passValueChanges($event)\"\n                  ></form-thing>\n                </ng-template>\n              </ng-template>\n            </ion-col>\n          </ng-template>\n        </ng-template>\n      </ion-row>\n    </ng-template>\n  </ng-template>\n</ion-grid>\n","styles":[""]}]}],"members":{"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"editorData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"entryArray":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"valuesChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"getIsArray":[{"__symbolic":"method"}],"updateValue":[{"__symbolic":"method"}],"passValueChanges":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}]}},"FormThingRecursive":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"form-thing-recursive","template":"<ion-card class=\"ion-no-margin ion-margin-top\">\n  <ion-item lines=\"full\">\n    <!-- prints name and the valid icon if there is a resource -->\n    <!-- <ion-icon *ngIf=\"hasResource\" name=\"checkmark-outline\" slot=\"end\"></ion-icon> -->\n    <!-- <ion-label position=\"fixed\"> recursiveForm </ion-label> -->\n    <!-- shows the edition controls if it is called in edition mode -->\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"moveUp()\"\n      tooltip=\"Move up\"\n      placement=\"bottom\"\n      delay=\"500\"\n      [disabled]=\"isFirst\"\n    >\n      <ion-icon name=\"arrow-up-outline\"></ion-icon>\n    </ion-button>\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"moveDown()\"\n      tooltip=\"Move down\"\n      placement=\"bottom\"\n      delay=\"500\"\n      [disabled]=\"isLast\"\n    >\n      <ion-icon name=\"arrow-down-outline\"></ion-icon>\n    </ion-button>\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"removeRes()\"\n      tooltip=\"Delete\"\n      placement=\"bottom\"\n      delay=\"500\"\n    >\n      <ion-icon name=\"trash-outline\"></ion-icon>\n    </ion-button>\n\n    <!-- Can't bind to 'tooltip' since it isn't a known property of 'ion-button'. -->\n    <!-- [tooltip]=\"cToggle ? 'Collapse' : 'Expand'\" -->\n    <ion-button\n      class=\"ion-no-padding ion-no-margin\"\n      slot=\"start\"\n      fill=\"clear\"\n      (click)=\"toggleContent()\"\n      tooltip=\"Collapse or Expand\"\n      placement=\"bottom\"\n      delay=\"500\"\n    >\n      <ion-icon [name]=\"cToggle ? 'remove-outline' : 'add-outline'\"></ion-icon>\n    </ion-button>\n  </ion-item>\n\n  <ng-template [ngIf]=\"loaded\">\n    <ion-card-content class=\"ion-no-padding\" *ngIf=\"cToggle\">\n      <form-thing\n        (valuesChanged)=\"passValueChanges($event)\"\n        [editorData]=\"formData\"\n        [entryArray]=\"formEntryArray\"\n      ></form-thing>\n      <ion-grid class=\"ion-no-padding\">\n        <ion-row>\n          <ion-col *ngIf=\"level > 0\" size=\"12\">\n            <ion-item lines=\"none\">\n              <ion-label position=\"fixed\">Element</ion-label>\n              <ion-button\n                size=\"default\"\n                class=\"ion-no-margin ion-no-padding\"\n                fill=\"clear\"\n                slot=\"end\"\n                (click)=\"addNewRecJSON()\"\n              >\n                <ion-icon name=\"add-circle-outline\"></ion-icon>\n              </ion-button>\n            </ion-item>\n          </ion-col>\n        </ion-row>\n        <ion-row>\n          <ng-template\n            ngFor\n            let-child\n            [ngForOf]=\"element[formInputData.name]\"\n            let-i=\"index\"\n          >\n            <ion-col size=\"12\">\n              <p>{{ child.title }}</p>\n              <form-thing-recursive\n                [isFirst]=\"i === 0\"\n                [isLast]=\"i === element[formInputData.name].length - 1\"\n                [level]=\"level - 1\"\n                [element]=\"child\"\n                [formInputData]=\"formInputData\"\n                (changeOrder)=\"changeResOrder($event, child, i)\"\n                (todelete)=\"removeRootNode(i)\"\n              ></form-thing-recursive>\n            </ion-col>\n          </ng-template>\n        </ion-row>\n      </ion-grid>\n    </ion-card-content>\n  </ng-template>\n</ion-card>\n","styles":[""]}]}],"members":{"todelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":10,"character":3}}]}],"changeOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":11,"character":3}}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"element":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"formInputData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"isFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"isLast":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"FormUtilsService"}]}],"ngOnInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"passValueChanges":[{"__symbolic":"method"}],"toggleContent":[{"__symbolic":"method"}],"addNewRecJSON":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"removeRes":[{"__symbolic":"method"}],"changeResOrder":[{"__symbolic":"method"}],"removeRootNode":[{"__symbolic":"method"}],"rearrangeRootNodesArray":[{"__symbolic":"method"}]}},"FormThingRecursiveCard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"form-thing-recursive-card","template":"<ion-card class=\"ion-no-margin ion-margin-top\">\n  <ion-item lines=\"full\">\n    <!-- prints name and the valid icon if there is a resource -->\n    <ng-template [ngIf]=\"hasResource\">\n      <!-- <ion-icon *ngIf=\"hasResource\" name=\"checkmark-outline\" slot=\"end\"></ion-icon> -->\n      <ion-label class=\"ion-padding-start\" *ngIf=\"hasResource\">{{\n        resource.metadata.name\n      }}</ion-label>\n    </ng-template>\n    <!-- prints 'not found' and the invalid icon if there is no resource -->\n    <ng-template [ngIf]=\"!hasResource\">\n      <ion-icon\n        *ngIf=\"!hasResource\"\n        name=\"alert-outline\"\n        color=\"danger\"\n        slot=\"start\"\n      ></ion-icon>\n      <ion-label *ngIf=\"!hasResource\">Error: Resource not found</ion-label>\n    </ng-template>\n    <!-- shows the edition controls if it is called in edition mode -->\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"editRes()\"\n      tooltip=\"Edit\"\n      placement=\"bottom\"\n      delay=\"500\"\n    >\n      <ion-icon name=\"pencil-outline\"></ion-icon>\n    </ion-button>\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"moveUp()\"\n      tooltip=\"Move up\"\n      placement=\"bottom\"\n      delay=\"500\"\n      [disabled]=\"isFirst\"\n    >\n      <ion-icon name=\"arrow-up-outline\"></ion-icon>\n    </ion-button>\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"moveDown()\"\n      tooltip=\"Move down\"\n      placement=\"bottom\"\n      delay=\"500\"\n      [disabled]=\"isLast\"\n    >\n      <ion-icon name=\"arrow-down-outline\"></ion-icon>\n    </ion-button>\n    <ion-button\n      class=\"ion-no-margin\"\n      size=\"small\"\n      slot=\"end\"\n      fill=\"clear\"\n      (click)=\"removeRes()\"\n      tooltip=\"Delete\"\n      placement=\"bottom\"\n      delay=\"500\"\n    >\n      <ion-icon name=\"trash-outline\"></ion-icon>\n    </ion-button>\n\n    <!-- Can't bind to 'tooltip' since it isn't a known property of 'ion-button'. -->\n    <!-- [tooltip]=\"cToggle ? 'Collapse' : 'Expand'\" -->\n    <ion-button\n      class=\"ion-no-padding ion-no-margin\"\n      slot=\"start\"\n      fill=\"clear\"\n      (click)=\"toggleContent()\"\n      tooltip=\"Collapse or Expand\"\n      placement=\"bottom\"\n      delay=\"500\"\n    >\n      <ion-icon [name]=\"cToggle ? 'remove-outline' : 'add-outline'\"></ion-icon>\n    </ion-button>\n  </ion-item>\n\n  <ng-template [ngIf]=\"hasResource\">\n    <ion-card-content class=\"ion-no-padding\" *ngIf=\"cToggle\">\n      <form-thing\n        (valuesChanged)=\"passValueChanges($event)\"\n        [editorData]=\"formData\"\n        [entryArray]=\"formEntryArray\"\n      ></form-thing>\n    </ion-card-content>\n  </ng-template>\n</ion-card>\n","styles":[""]}]}],"members":{"todelete":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":12,"character":3}}]}],"changeOrder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"resource":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"formDataArray":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"isFirst":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"isLast":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"},{"__symbolic":"reference","name":"FormUtilsService"}]}],"ngOnInit":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}],"passValueChanges":[{"__symbolic":"method"}],"toggleContent":[{"__symbolic":"method"}],"moveUp":[{"__symbolic":"method"}],"moveDown":[{"__symbolic":"method"}],"removeRes":[{"__symbolic":"method"}],"editRes":[{"__symbolic":"method"}]}},"FormThingCard":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"form-thing-card","template":"<ion-card>\n  <ng-template [ngIf]=\"editorData.collapsible\">\n    <ion-item lines=\"full\">\n      <p debug>form-thing-card collapsible:{{editorData.collapsible}}</p>\n      <!-- Toggle -->\n      <ion-button\n        class=\"ion-no-padding ion-no-margin\"\n        slot=\"start\"\n        fill=\"clear\"\n        (click)=\"toggle = !toggle\"\n        [tooltip]=\"toggle ? 'Collapse' : 'Expand'\"\n        placement=\"bottom\"\n        delay=\"500\"\n      >\n        <ion-icon [name]=\"toggle ? 'remove-outline' : 'add-outline'\"></ion-icon>\n      </ion-button>\n      <ion-label>{{ editorData.collapsibleheader }}</ion-label>\n    </ion-item>\n  </ng-template>\n  <ng-template [ngIf]=\"toggle\">\n    <!-- if it has a component -->\n    <ng-template [ngIf]=\"editorData.component\">\n      <form-thing-element\n        [submitted]=\"submitted\"\n        [formGroup]=\"formGroup\"\n        [formData]=\"editorData.conf\"\n        [formValue]=\"getValue(editorData.conf.source)\"\n        (formChangedValue)=\"updateValue($event, editorData.conf.source)\"\n      ></form-thing-element>\n    </ng-template>\n    <!-- if it has children add header and content -->\n    <ng-template [ngIf]=\"editorData.children\">\n      <ng-template\n        ngFor\n        let-child\n        [ngForOf]=\"editorData.children\"\n        let-i=\"index\"\n      >\n        <!-- If it is a cardheader -->\n        <ng-template [ngIf]=\"child.type === 'cardheader'\">\n          <ion-card-header>\n            <!-- if it has a component -->\n            <ng-template [ngIf]=\"child.component\">\n              <form-thing-element\n                [submitted]=\"submitted\"\n                [formGroup]=\"formGroup\"\n                [formData]=\"child.conf\"\n                [formValue]=\"getValue(child.conf.source)\"\n                (formChangedValue)=\"updateValue($event, child.conf.source)\"\n              ></form-thing-element>\n            </ng-template>\n            <!-- if it has children add other -->\n            <ng-template [ngIf]=\"child.children\">\n              <ng-template\n                ngFor\n                let-childHeader\n                [ngForOf]=\"child.children\"\n                let-i=\"index\"\n              >\n                <form-thing\n                  [editorData]=\"childHeader\"\n                  [entryArray]=\"entryArray\"\n                  (valuesChanged)=\"passValueChanges($event)\"\n                ></form-thing>\n              </ng-template>\n            </ng-template>\n          </ion-card-header>\n        </ng-template>\n        <!-- If it is cardcontent -->\n        <ng-template [ngIf]=\"child.type === 'cardcontent'\">\n          <ion-card-content>\n            <!-- if it has a component -->\n            <ng-template [ngIf]=\"child.component\">\n              <form-thing-element\n                [submitted]=\"submitted\"\n                [formGroup]=\"formGroup\"\n                [formData]=\"child.conf\"\n                [formValue]=\"getValue(child.conf.source)\"\n                (formChangedValue)=\"updateValue($event, child.conf.source)\"\n              ></form-thing-element>\n            </ng-template>\n            <!-- if it has children add other -->\n            <ng-template [ngIf]=\"child.children\">\n              <ng-template\n                ngFor\n                let-childContent\n                [ngForOf]=\"child.children\"\n                let-i=\"index\"\n              >\n                <form-thing\n                  [editorData]=\"childContent\"\n                  [entryArray]=\"entryArray\"\n                  (valuesChanged)=\"passValueChanges($event)\"\n                ></form-thing>\n              </ng-template>\n            </ng-template>\n          </ion-card-content>\n        </ng-template>\n      </ng-template>\n    </ng-template>\n  </ng-template>\n</ion-card>\n"}]}],"members":{"submitted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"formGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"editorData":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"entryArray":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"valuesChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":21,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ComponentUtilsService"}]}],"ngOnDestroy":[{"__symbolic":"method"}],"updateValue":[{"__symbolic":"method"}],"passValueChanges":[{"__symbolic":"method"}],"getValue":[{"__symbolic":"method"}]}},"CrumsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":31,"character":1},"arguments":[{"declarations":[{"__symbolic":"reference","name":"MhiUserLoginComponent"},{"__symbolic":"reference","name":"MhiPasswordRecoveryComponent"},{"__symbolic":"reference","name":"MhiRegistrationComponent"},{"__symbolic":"reference","name":"UserLoginComponent"},{"__symbolic":"reference","name":"RegistrationViaInviteComponent"},{"__symbolic":"reference","name":"DownloadAppLinksComponent"},{"__symbolic":"reference","name":"ResetPasswordComponent"},{"__symbolic":"reference","name":"ChangePasswordComponent"}],"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":43,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":44,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":45,"character":4},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClientModule","line":46,"character":4},{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"ResourceViewersModule"},{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":49,"character":4},{"__symbolic":"reference","name":"FormViewerModule"},{"__symbolic":"reference","name":"CommonCRUMSModule"},{"__symbolic":"reference","name":"PipesModule"}],"exports":[{"__symbolic":"reference","name":"MhiUserLoginComponent"},{"__symbolic":"reference","name":"MhiPasswordRecoveryComponent"},{"__symbolic":"reference","name":"MhiRegistrationComponent"},{"__symbolic":"reference","name":"UserLoginComponent"},{"__symbolic":"reference","name":"RegistrationViaInviteComponent"},{"__symbolic":"reference","name":"DownloadAppLinksComponent"},{"__symbolic":"reference","name":"ResetPasswordComponent"},{"__symbolic":"reference","name":"ChangePasswordComponent"},{"__symbolic":"reference","name":"AssetsModule"},{"__symbolic":"reference","name":"ResourceViewersModule"},{"__symbolic":"reference","name":"ModulesModule"},{"__symbolic":"reference","name":"FormViewerModule"},{"__symbolic":"reference","name":"CommonCRUMSModule"},{"__symbolic":"reference","name":"PipesModule"}]}]}],"members":{},"statics":{"forRoot":{"__symbolic":"function","parameters":["config"],"value":{"ngModule":{"__symbolic":"reference","name":"CrumsModule"},"providers":[{"__symbolic":"reference","module":"@awesome-cordova-plugins/http/ngx","name":"HTTP","line":76,"character":8},{"__symbolic":"reference","name":"ApiService"},{"__symbolic":"reference","name":"ThemeService"},{"__symbolic":"reference","name":"DebugService"},{"provide":{"__symbolic":"reference","name":"ɵb"},"useValue":{"__symbolic":"reference","name":"config"}}]}}}},"AssetsModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":11,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":12,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":13,"character":4},{"__symbolic":"reference","module":"ngx-quill","name":"QuillModule","line":14,"character":4}],"declarations":[{"__symbolic":"reference","name":"AssetViewer"},{"__symbolic":"reference","name":"AssetPreviewer"}],"exports":[{"__symbolic":"reference","module":"@ionic/angular","name":"IonicModule","line":18,"character":4},{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":21,"character":4},{"__symbolic":"reference","name":"AssetViewer"},{"__symbolic":"reference","name":"AssetPreviewer"},{"__symbolic":"reference","module":"ngx-quill","name":"QuillModule","line":24,"character":4}]}]}],"members":{}},"ResourcesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","name":"ResourceViewersModule"},{"__symbolic":"reference","name":"AssetsModule"}],"exports":[{"__symbolic":"reference","name":"ResourceViewersModule"}]}]}],"members":{}},"ModulesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":5,"character":12}],"entryComponents":[],"declarations":[{"__symbolic":"reference","name":"AppHeaderButtonViewer"}],"exports":[{"__symbolic":"reference","name":"AppHeaderButtonViewer"}]}]}],"members":{}},"PipesModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":5,"character":12}],"declarations":[{"__symbolic":"reference","name":"SafeHtml"}],"exports":[{"__symbolic":"reference","name":"SafeHtml"}]}]}],"members":{}},"SafeHtml":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"safeHtml"}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":5,"character":33}]}],"transform":[{"__symbolic":"method"}]}},"ɵa":{"__symbolic":"interface"},"ɵb":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":15,"character":36},"arguments":["LibConfig"]}},"origins":{"timeUnits":"./lib/interfaces/time-units.interface","Clazz":"./lib/interfaces/ff-const","SUPER_ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","CONTENT_MANAGER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","APP_USER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","SUPPORT_ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","TEST_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","BIS_ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","BIS_CONTENT_MANAGER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","BIS_APP_USER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ACAS_ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ACAS_CONTENT_MANAGER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ACAS_TRIAL_USER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ACAS_STANDARD_USER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ACAS_PREMIUM_USER_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ICUD_ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ICUD_STAFF_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ICUD_RELATIVE_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ICUD_PRIME_RELATIVE_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ICUD_PATIENT_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","ICUD_GUEST_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","MHI_PARTICIPANT_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","MHI_ADMIN_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","MHI_GUEST_ROLE_GUID":"./lib/interfaces/user-role-organization/role.interface","SuperAdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","ContentManagerRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AppUserRoleGuid":"./lib/interfaces/user-role-organization/role.interface","SupportAdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","TestRoleGuid":"./lib/interfaces/user-role-organization/role.interface","BisAdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","BisContentManagerRoleGuid":"./lib/interfaces/user-role-organization/role.interface","BisAppUserRoleGuid":"./lib/interfaces/user-role-organization/role.interface","BisRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AcasAdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AcasContentManagerRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AcasTrialUserRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AcasStandardUserRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AcasPremiumUserRoleGuid":"./lib/interfaces/user-role-organization/role.interface","AcasRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryAdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryStaffRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryRelativeRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryPrimeRelativeRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryPatientRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryGuestRoleGuid":"./lib/interfaces/user-role-organization/role.interface","IcuDiaryRoleGuid":"./lib/interfaces/user-role-organization/role.interface","MhiParticipantRoleGuid":"./lib/interfaces/user-role-organization/role.interface","MhiAdminRoleGuid":"./lib/interfaces/user-role-organization/role.interface","MhiGuestRoleGuid":"./lib/interfaces/user-role-organization/role.interface","MhiRoleGuid":"./lib/interfaces/user-role-organization/role.interface","RoleGuid":"./lib/interfaces/user-role-organization/role.interface","IRole":"./lib/interfaces/user-role-organization/user.interface","IOrganization":"./lib/interfaces/user-role-organization/user.interface","Organization":"./lib/interfaces/user-role-organization/user.interface","Profile":"./lib/interfaces/user-role-organization/user.interface","IFFUser":"./lib/interfaces/user-role-organization/user.interface","FFUser":"./lib/interfaces/user-role-organization/user.interface","ICRUMSObject":"./lib/interfaces/ff.interface","CRUMSObject":"./lib/interfaces/ff.interface","GetOptions":"./lib/interfaces/ff.interface","SearchFilters":"./lib/interfaces/ff.interface","IObjPermissions":"./lib/interfaces/ff.interface","ObjPermissions":"./lib/interfaces/ff.interface","IQueryFilter":"./lib/interfaces/ff.interface","QueryFilter":"./lib/interfaces/ff.interface","nonPreviewableThingTypes":"./lib/interfaces/things/thing.interface","thingTypeData":"./lib/interfaces/things/thing.interface","thingTypeMetadata":"./lib/interfaces/things/thing.interface","ThingMetadataUnionType":"./lib/interfaces/things/thing.interface","IThingMetadata":"./lib/interfaces/things/thing.interface","ThingMetadata":"./lib/interfaces/things/thing.interface","ThingDataUnionType":"./lib/interfaces/things/thing.interface","IThing":"./lib/interfaces/things/thing.interface","Thing":"./lib/interfaces/things/thing.interface","ThingSearchFilters":"./lib/interfaces/things/thing.interface","IConfiguration":"./lib/interfaces/configuration.interface","Configuration":"./lib/interfaces/configuration.interface","ResourcesDisplaySettings":"./lib/interfaces/resources.interface","Resource":"./lib/interfaces/resources.interface","ResourcesStructure":"./lib/interfaces/resources.interface","CustomMenu":"./lib/interfaces/resources.interface","SentNotificationSearchFilters":"./lib/interfaces/things/notifications/notification.interface","SentNotification":"./lib/interfaces/things/notifications/notification.interface","ISentNotificationMetaData":"./lib/interfaces/things/notifications/notification.interface","SentNotificationMetaData":"./lib/interfaces/things/notifications/notification.interface","ISentNotificationData":"./lib/interfaces/things/notifications/notification.interface","SentNotificationData":"./lib/interfaces/things/notifications/notification.interface","IMetaThingMetadata":"./lib/interfaces/things/meta-thing/meta-thing.interface","MetaThingMetadata":"./lib/interfaces/things/meta-thing/meta-thing.interface","IMetaThingData":"./lib/interfaces/things/meta-thing/meta-thing.interface","MetaThingData":"./lib/interfaces/things/meta-thing/meta-thing.interface","IMetaThing":"./lib/interfaces/things/meta-thing/meta-thing.interface","MetaThing":"./lib/interfaces/things/meta-thing/meta-thing.interface","AssetMetaData":"./lib/interfaces/things/assets/asset.interface","Asset":"./lib/interfaces/things/assets/asset.interface","IFormElementData":"./lib/interfaces/things/forms/form-element.interface","FormElementData":"./lib/interfaces/things/forms/form-element.interface","IFormElementOptions":"./lib/interfaces/things/forms/form-element.interface","FormElementOptions":"./lib/interfaces/things/forms/form-element.interface","IFormElementValidator":"./lib/interfaces/things/forms/form-element.interface","FormElementValidator":"./lib/interfaces/things/forms/form-element.interface","IFormElementTooltip":"./lib/interfaces/things/forms/form-element.interface","FormElementTooltip":"./lib/interfaces/things/forms/form-element.interface","IFormElementDisplay":"./lib/interfaces/things/forms/form-element.interface","FormElementDisplay":"./lib/interfaces/things/forms/form-element.interface","IFormEntryData":"./lib/interfaces/things/forms/form-entry.interface","FormEntryData":"./lib/interfaces/things/forms/form-entry.interface","IFormElementEntryData":"./lib/interfaces/things/forms/form-entry.interface","FormElementEntryData":"./lib/interfaces/things/forms/form-entry.interface","IFormData":"./lib/interfaces/things/forms/form.interface","FormData":"./lib/interfaces/things/forms/form.interface","IFormDisplay":"./lib/interfaces/things/forms/form.interface","FormDisplay":"./lib/interfaces/things/forms/form.interface","clone":"./lib/interfaces/things/forms/form.interface","compare":"./lib/interfaces/things/forms/form.interface","Operator":"./lib/interfaces/things/forms/form.interface","EntryRule":"./lib/interfaces/things/forms/form.interface","FormElementRule":"./lib/interfaces/things/forms/form.interface","IFormScheduleData":"./lib/interfaces/things/forms/form-schedules/form-schedule.interface","FormScheduleData":"./lib/interfaces/things/forms/form-schedules/form-schedule.interface","FormSchedule":"./lib/interfaces/things/forms/form-schedules/form-schedule.interface","SchedulingConfiguration":"./lib/interfaces/things/forms/form-schedules/scheduling-configuration.interface","Module":"./lib/interfaces/things/modules/module.interface","IModuleData":"./lib/interfaces/things/modules/module.interface","ModuleData":"./lib/interfaces/things/modules/module.interface","IModuleLogoData":"./lib/interfaces/things/modules/module.interface","ModuleLogoData":"./lib/interfaces/things/modules/module.interface","IModulePageData":"./lib/interfaces/things/modules/module.interface","ModulePageData":"./lib/interfaces/things/modules/module.interface","IModuleHeader":"./lib/interfaces/things/modules/module.interface","ModuleHeader":"./lib/interfaces/things/modules/module.interface","IModuleHeaderOptions":"./lib/interfaces/things/modules/module.interface","ModuleHeaderOptions":"./lib/interfaces/things/modules/module.interface","IModuleButtonData":"./lib/interfaces/things/modules/module.interface","ModuleButtonData":"./lib/interfaces/things/modules/module.interface","ModuleMetaData":"./lib/interfaces/things/modules/module.interface","IconData":"./lib/interfaces/things/modules/module.interface","IAcasMeterTextData":"./lib/interfaces/things/resources/acas-meter.interface","IAcasMeterData":"./lib/interfaces/things/resources/acas-meter.interface","AcasMeterData":"./lib/interfaces/things/resources/acas-meter.interface","IAssetResourceOptions":"./lib/interfaces/things/resources/asset-resource.interface","IAssetResourceData":"./lib/interfaces/things/resources/asset-resource.interface","AssetResourceData":"./lib/interfaces/things/resources/asset-resource.interface","AssetResourceOptions":"./lib/interfaces/things/resources/asset-resource.interface","IResourceOrderedCarouselData":"./lib/interfaces/things/resources/carousel.interface","ResourceOrderedCarouselLinkStructure":"./lib/interfaces/things/resources/carousel.interface","IResourceOrderedCarouselOptions":"./lib/interfaces/things/resources/carousel.interface","IResourceOrderedCarouselStyles":"./lib/interfaces/things/resources/carousel.interface","ResourceOrderedCarouselStyles":"./lib/interfaces/things/resources/carousel.interface","ResourceOrderedCarouselData":"./lib/interfaces/things/resources/carousel.interface","ResourceOrderedCarouselOptions":"./lib/interfaces/things/resources/carousel.interface","SubDiagramData":"./lib/interfaces/things/resources/diagram.interface","IBaseDiagramData":"./lib/interfaces/things/resources/diagram.interface","BaseDiagramData":"./lib/interfaces/things/resources/diagram.interface","IDiagramParameters":"./lib/interfaces/things/resources/diagram.interface","DiagramParameters":"./lib/interfaces/things/resources/diagram.interface","SubDiagramTexts":"./lib/interfaces/things/resources/diagram.interface","TreeNode":"./lib/interfaces/things/resources/hierarchical-tree.interface","NavButtons":"./lib/interfaces/things/resources/hierarchical-tree.interface","MenuNode":"./lib/interfaces/things/resources/hierarchical-tree.interface","IHierarchicalTreeData":"./lib/interfaces/things/resources/hierarchical-tree.interface","HierarchicalTreeData":"./lib/interfaces/things/resources/hierarchical-tree.interface","IHierarchicalTreeDisplayOptions":"./lib/interfaces/things/resources/hierarchical-tree.interface","HierarchicalTreeDisplayOptions":"./lib/interfaces/things/resources/hierarchical-tree.interface","IHierarchicalTreeMenuOptions":"./lib/interfaces/things/resources/hierarchical-tree.interface","HierarchicalTreeMenuOptions":"./lib/interfaces/things/resources/hierarchical-tree.interface","MenuItem":"./lib/interfaces/things/resources/menu.interface","IMenuData":"./lib/interfaces/things/resources/menu.interface","MenuData":"./lib/interfaces/things/resources/menu.interface","IcuDiaryPageData":"./lib/interfaces/things/resources/icu-diary-page.interface","PageLinkStructure":"./lib/interfaces/things/resources/page.interface","IPageResourceData":"./lib/interfaces/things/resources/page.interface","PageResourceData":"./lib/interfaces/things/resources/page.interface","IPageResourceOptions":"./lib/interfaces/things/resources/page.interface","PageResourceOptions":"./lib/interfaces/things/resources/page.interface","IRichtTextAssetResourceData":"./lib/interfaces/things/resources/rich-text-with-asset.interface","RichtTextAssetResourceData":"./lib/interfaces/things/resources/rich-text-with-asset.interface","IRichTextAssetResourceOptions":"./lib/interfaces/things/resources/rich-text-with-asset.interface","RichTextAssetResourceOptions":"./lib/interfaces/things/resources/rich-text-with-asset.interface","IRichTextAssetResourceStyles":"./lib/interfaces/things/resources/rich-text-with-asset.interface","RichTextAssetResourceStyles":"./lib/interfaces/things/resources/rich-text-with-asset.interface","IRichTextData":"./lib/interfaces/things/resources/rich-text.interface","RichTextData":"./lib/interfaces/things/resources/rich-text.interface","IHelpSectionData":"./lib/interfaces/things/resources/help-section.interface","HelpSectionData":"./lib/interfaces/things/resources/help-section.interface","IHelpArticleFeedbackData":"./lib/interfaces/things/resources/help-article-feedback.interface","HelpArticleFeedbackData":"./lib/interfaces/things/resources/help-article-feedback.interface","SupportReply":"./lib/interfaces/things/support/support.interface","IAppSupportData":"./lib/interfaces/things/support/support.interface","AppSupportData":"./lib/interfaces/things/support/support.interface","IAcasMeterFeedbackData":"./lib/interfaces/things/support/support.interface","AcasMeterFeedbackData":"./lib/interfaces/things/support/support.interface","Credentials":"./lib/interfaces/user-role-organization/credentials.interface","RegistrationInvite":"./lib/interfaces/user-role-organization/registration-invite.interface","IUserRelation":"./lib/interfaces/user-role-organization/user-relation.interface","UserRelation":"./lib/interfaces/user-role-organization/user-relation.interface","ApiService":"./lib/services/api.service","ComponentUtilsService":"./lib/services/component-utils.service","FormUtilsService":"./lib/services/editor-form-utils.service","ErrorService":"./lib/services/error.service","PasswordUpdatePolicyService":"./lib/services/password-update-policy.service","ThemeService":"./lib/services/theme.service","TermsOfUseService":"./lib/services/terms-of-use.service","ConsentService":"./lib/services/consent.service","RelativeConsentService":"./lib/services/relative-consent.service","UserInactivityService":"./lib/services/user-inactivity.service","DebugService":"./lib/services/debug.service","MhiUserLoginComponent":"./lib/components/users/mhi-user-login/mhi-user-login.component","MhiPasswordRecoveryComponent":"./lib/components/users/mhi-password-recovery/mhi-password-recovery.component","MhiRegistrationComponent":"./lib/components/users/mhi-registration/mhi-registration.component","AssetViewer":"./lib/components/assets/viewer/asset-viewer.component","AssetPreviewer":"./lib/components/assets/previewer/asset-previewer.component","UserLoginComponent":"./lib/components/users/user-login/user-login.component","RegistrationViaInviteComponent":"./lib/components/users/registration-via-invite/registration-via-invite.component","ResetPasswordComponent":"./lib/components/users/reset-password/reset-password.component","ChangePasswordComponent":"./lib/components/users/change-password/change-password.component","DownloadAppLinksComponent":"./lib/components/users/download-app-links/download-app-links.component","RichtextViewer":"./lib/components/resources/resource-viewers/richtext-viewer/richtext-viewer.component","ResourceViewers":"./lib/components/resources/resource-viewers/resource-viewers.component","RichtextAssetViewer":"./lib/components/resources/resource-viewers/richtext-asset-viewer/richtext-asset-viewer.component","ResourceViewersModal":"./lib/components/resources/resource-viewers/resource-viewers-modal/resource-viewers-modal.component","ResourceViewersModalPreview":"./lib/components/resources/resource-viewers/resource-viewers-modal-preview/resource-viewers-modal-preview.component","ResourceCarouselViewer":"./lib/components/resources/resource-viewers/resource-carousel-viewer/resource-carousel-viewer.component","CarouselItemViewer":"./lib/components/resources/resource-viewers/resource-carousel-viewer/carousel-item-viewer/carousel-item-viewer.component","CarouselDynItemViewer":"./lib/components/resources/resource-viewers/resource-carousel-viewer/carousel-dyn-item-viewer/carousel-dyn-item-viewer.component","HierarchicalTreeViewer":"./lib/components/resources/resource-viewers/hierarchical-tree-viewer/hierarchical-tree-viewer.component","TreeNodeViewer":"./lib/components/resources/resource-viewers/hierarchical-tree-viewer/tree-node-viewer/tree-node-viewer.component","TreeViewerIconButtons":"./lib/components/resources/resource-viewers/hierarchical-tree-viewer/tree-viewer-icon-buttons/tree-viewer-icon-buttons.component","TreeViewerNavButtons":"./lib/components/resources/resource-viewers/hierarchical-tree-viewer/tree-viewer-nav-buttons/tree-viewer-nav-buttons.component","MenuViewer":"./lib/components/resources/resource-viewers/menu-viewer/menu-viewer.component","MenuItemViewer":"./lib/components/resources/resource-viewers/menu-viewer/menu-item-viewer/menu-item-viewer.component","PageViewer":"./lib/components/resources/resource-viewers/page-viewer/page-viewer.component","HelpArticleViewer":"./lib/components/resources/resource-viewers/help-article-viewer/help-article-viewer.component","CircularDiagramViewer":"./lib/components/resources/resource-viewers/circular-diagram-viewer/circular-diagram-viewer.component","BaseDiagramViewer":"./lib/components/resources/resource-viewers/base-diagram-viewer/base-diagram-viewer.component","AssetResViewer":"./lib/components/resources/resource-viewers/asset-res-viewer/asset-res-viewer.component","AcasMeterViewer":"./lib/components/resources/resource-viewers/acas-meter-viewer/acas-meter-viewer.component","DiagnosisViewer":"./lib/components/resources/resource-viewers/acas-meter-viewer/diagnosis-viewer/diagnosis-viewer.component","IcuDiaryViewer":"./lib/components/resources/resource-viewers/icu-diary-viewer/icu-diary-viewer.component","TermsOfUseViewer":"./lib/components/resources/resource-viewers/terms-of-use-viewer/terms-of-use-viewer.component","ConsentViewer":"./lib/components/resources/resource-viewers/consent-viewer/consent-viewer.component","ResourceCarouselViewerModule":"./lib/components/resources/resource-viewers/resource-carousel-viewer/resource-carousel-viewer.module","HierarchicalTreeViewerModule":"./lib/components/resources/resource-viewers/hierarchical-tree-viewer/hierarchical-tree-viewer.module","MenuViewerModule":"./lib/components/resources/resource-viewers/menu-viewer/menu-viewer.module","ResourceViewersModule":"./lib/components/resources/resource-viewers/resource-viewers.module","AppHeaderButtonViewer":"./lib/components/modules/app-header-button-viewer/app-header-button-viewer.component","CommonCRUMSModule":"./lib/components/common/common.module","TextEditor":"./lib/components/common/text-editor/text-editor.component","TagInputComponent":"./lib/components/common/tag-input/tag-input.component","FormViewerModule":"./lib/components/forms/forms.module","FormViewerModal":"./lib/components/forms/form-viewer/form-viewer-modal/form-viewer-modal.component","FormViewer":"./lib/components/forms/form-viewer/form-viewer.component","FormThingModule":"./lib/components/forms/form-thing/form-thing.module","FormThing":"./lib/components/forms/form-thing/form-thing.component","FormThingElement":"./lib/components/forms/form-thing/element/element.component","FileFormElement":"./lib/components/forms/form-thing/element/file/file.component","InputFormElement":"./lib/components/forms/form-thing/element/input/input.component","FormThingGrid":"./lib/components/forms/form-thing/form-thing-grid/form-thing-grid.component","FormThingRecursive":"./lib/components/forms/form-thing/form-thing-recursive/form-thing-recursive.component","FormThingRecursiveCard":"./lib/components/forms/form-thing/form-thing-recursive-card/form-thing-recursive-card.component","FormThingCard":"./lib/components/forms/form-thing/form-thing-card/form-thing-card.component","CrumsModule":"./lib/crums.module","AssetsModule":"./lib/components/assets/assets.module","ResourcesModule":"./lib/components/resources/resources.module","ModulesModule":"./lib/components/modules/modules.module","PipesModule":"./lib/pipes/pipes.module","SafeHtml":"./lib/pipes/safe-html.pipe","ɵa":"./lib/lib.service","ɵb":"./lib/lib.service"},"importAs":"@camdh/crums"}