<!DOCTYPE html><html lang="en" dir="ltr" ng-app="sn.$sp" ng-init="portal_id = '5b49418bdb4aa200b1f6f78eaf96195f'" style="height: 100%" class="page-{{page.sys_id}} v{{page.sys_id}} ltr sn-sp-page" data-page-id="{{page.sys_id}}"><head sp-metatags=""><base href="/community"></base><link rel="preload" href="/styles/fonts/glyphicons-halflings-regular.woff2" as="font" crossorigin="anonymous"></link><link rel="preload" href="/scripts/icon-fonts/font-awesome/fonts/fontawesome-webfont.woff2?v=4.7.0" as="font" crossorigin="anonymous"></link><title>Bentley Community - Communities</title><meta http-equiv="X-UA-Compatible" content="IE=edge; IE=10"></meta><meta name="viewport" content="width=device-width, initial-scale=1.0"></meta><meta name="apple-mobile-web-app-capable" content="yes"></meta><meta http-equiv="cache-control" content="public"></meta><meta http-equiv="cache-control" content="no-cache"></meta><meta http-equiv="cache-control" content="max-age=0"></meta><meta http-equiv="pragma" content="no-cache"></meta><meta name="google-site-verification" content="5dpswXgKS2_qQ3sRhKfDpLrVqQZc8ayk7BOapqBDH3s" custom-tag=""></meta><link href="favicon.ico?v=5" rel="shortcut icon"></link><link href="images/mobile/apple_touch_snc.png?v=05-24-2025_1031" rel="apple-touch-icon"></link><link rel="stylesheet" href="styles/fonts/source-sans-pro/source-sans-pro-latin.css?v=9992a75b1ba666907171ff7e034bcb8c" media="none" onload="if(media!='all')media='all'"></link><link rel="stylesheet" href="styles/css_includes_$sp.css?v=9992a75b1ba666907171ff7e034bcb8c" media="none" onload="if(media!='all')media='all'"></link><link href="styles/scss/sp-bootstrap-basic.scss?portal_id=5b49418bdb4aa200b1f6f78eaf96195f&theme_id=cef5625e1bd67110f3fc5287624bcb2a&v=9992a75b1ba666907171ff7e034bcb8c&uxf_theme_id=null&uxf_theme_variant_id=null&is_rtl=false" rel="stylesheet" type="text/css"></link><link rel="stylesheet" href="styles/css_includes_$sp_later.css?v=9992a75b1ba666907171ff7e034bcb8c" media="none" onload="if(media!='all')media='all'"></link><style>body {
font-family: Poppins;
font-size: 14px;
line-height: 20px;
background-color: #F2F4F6;
width: 100%;
margin: auto;
}
.navbar-global {
border-bottom: 1px solid #f5f5f5;
width: 100%;
}
.dropdown-menu navbar-user-profile-dropdown-menu {
color: black;
}
.navbar-primary.csm-align-center-vertical.navbar-align-content {
background-color: black;
border-top: 2px solid #44D62C;
}
.product-background-container {
background: linear-gradient(0deg, rgba(0, 0, 0, .65) 4.08%, transparent 135.60001%), url(https://bentleysystemstest.service-now.com/c884640147aefd109091861f536d43c5.iix), lightgray 0px -149.02499px / 100% 199.951% no-repeat, #D9D9D9;
}
.body.padding-top {
padding-top: 0px !important;
}
.nav-link.unifiedMenuPrimaryMenuText {
color: white;
}
.navbar-inverse .navbar-nav > li > a {
position: relative;
}
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover {
color: white;
}
.navbar-inverse .navbar-nav > li > a:hover:after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 3px;
background-color: #44D62C;
margin-bottom: -7px;
}
navbar-action-login ng-scope {
color: black !important;
}
.navbar-inverse .navbar-nav > li > a {
color: white;
}
.banner-container {
min-height: 250px;
}
@media (max-width: 762px) {
.header1 {
line-height: 34px !important;
font-size: 32px !important;
}
}
.cm-browse-forum-tile-container {
border: none !important;
background-color: transparent !important;
}
.body {
margin-top: 1em;
margin-bottom: 1em;
}
div.col-md-9 {
padding-left: 0 !important;
padding-right: 0 !important;
}
path {
height: 16px !important;
width: 16px !important;
}
.carousel-indicators .active {
background-color: #62C44D;
}
.carousel-indicators li {
border: 1px solid black;
}
.panel {
margin-bottom: 0px !important;
}
.navbar-header {
padding-top: 9px !important;
}</style><style>body {
font-family: Poppins;
font-size: 14px;
line-height: 20px;
background-color: #F2F4F6;
width: 100%;
margin: auto;
}
.navbar-global {
border-bottom: 1px solid #f5f5f5;
width: 100%;
}
.dropdown-menu navbar-user-profile-dropdown-menu {
color: black;
}
.navbar-primary.csm-align-center-vertical.navbar-align-content {
background-color: black;
border-top: 2px solid #44D62C;
}
.product-background-container {
background: linear-gradient(0deg, rgba(0, 0, 0, .65) 4.08%, transparent 135.60001%), url(https://bentleysystemstest.service-now.com/c884640147aefd109091861f536d43c5.iix), lightgray 0px -149.02499px / 100% 199.951% no-repeat, #D9D9D9;
}
.body.padding-top {
padding-top: 0px !important;
}
.nav-link.unifiedMenuPrimaryMenuText {
color: white;
}
.navbar-inverse .navbar-nav > li > a {
position: relative;
}
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover {
color: white;
}
.navbar-inverse .navbar-nav > li > a:hover:after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 3px;
background-color: #44D62C;
margin-bottom: -7px;
}
navbar-action-login ng-scope {
color: black !important;
}
.navbar-inverse .navbar-nav > li > a {
color: white;
}
.banner-container {
min-height: 250px;
}
@media (max-width: 762px) {
.header1 {
line-height: 34px !important;
font-size: 32px !important;
}
}
.cm-browse-forum-tile-container {
border: none !important;
background-color: transparent !important;
}
.body {
margin-top: 1em;
margin-bottom: 1em;
}
div.col-md-9 {
padding-left: 0 !important;
padding-right: 0 !important;
}
path {
height: 16px !important;
width: 16px !important;
}
.carousel-indicators .active {
background-color: #62C44D;
}
.carousel-indicators li {
border: 1px solid black;
}
h1, h2, h3, h4, h5, body {
font-family: "Poppins";
}</style><style>body {
font-family: Poppins;
font-size: 14px;
line-height: 20px;
background-color: #F2F4F6;
width: 100%;
margin: auto;
}
.navbar-global {
border-bottom: 1px solid #f5f5f5;
width: 100%;
}
.dropdown-menu navbar-user-profile-dropdown-menu {
color: black;
}
.navbar-primary.csm-align-center-vertical.navbar-align-content {
background-color: black;
border-top: 2px solid #44D62C;
}
.product-background-container {
background: linear-gradient(0deg, rgba(0, 0, 0, .65) 4.08%, transparent 135.60001%), url(https://bentleysystemstest.service-now.com/c884640147aefd109091861f536d43c5.iix), lightgray 0px -149.02499px / 100% 199.951% no-repeat, #D9D9D9;
}
.body.padding-top {
padding-top: 0px !important;
}
.nav-link.unifiedMenuPrimaryMenuText {
color: white;
}
.navbar-inverse .navbar-nav > li > a {
position: relative;
}
.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover {
color: white;
}
.navbar-inverse .navbar-nav > li > a:hover:after {
content: "";
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 3px;
background-color: #44D62C;
margin-bottom: -7px;
}
navbar-action-login ng-scope {
color: black !important;
}
.navbar-inverse .navbar-nav > li > a {
color: white;
}
.banner-container {
min-height: 250px;
}
@media (max-width: 762px) {
.header1 {
line-height: 34px !important;
font-size: 32px !important;
}
}
.cm-browse-forum-tile-container {
border: none !important;
background-color: transparent !important;
}
.body {
margin-top: 1em;
margin-bottom: 1em;
}
div.col-md-9 {
padding-left: 0 !important;
padding-right: 0 !important;
}
path {
height: 16px !important;
width: 16px !important;
}
.carousel-indicators .active {
background-color: #62C44D;
}
.carousel-indicators li {
border: 1px solid black;
}
h1, h2, h3, h4, h5, body {
font-family: "Poppins", sans-serif;
}</style><script data-description="NOW glide web analytics siteid and url">window.snWebaConfig = window.snWebaConfig || {};
// glide web analytics config
window.snWebaConfig.siteId = "0";
window.snWebaConfig.trackerURL = "";
window.snWebaConfig.webaScriptPath = "/scripts/piwik-3.1.1/thirdparty/piwik.min.js";
window.snWebaConfig.ambClient = (window.g_ambClient) ? window.g_ambClient : ((window.amb)? window.amb.getClient(): "");
window.snWebaConfig.subscribed = false;</script><script data-description="NOW session, user_name, etc">window.NOW = window.NOW || {};
// record watch / presence
window.NOW.session_id = '53BBE6B31B22AA907171FF7E034BCB62';
window.NOW.user_name = 'guest';
window.NOW.user_id = '5136503cc611227c0183e96598c4f706';
window.NOW.user_display_name = 'Guest';
window.NOW.user_initials = 'G';
window.NOW.user_avatar = '';
window.NOW.presence_interval = 60;
window.NOW.record_presence_interval = 20;
window.NOW.ambConnected = false;</script><script data-description="NOW ucm, analytics related default props">window.NOW.analytics_enabled = false;
window.NOW.performance_monitoring_enabled = true;
window.NOW.sp_analytics_plugin_active = false;
window.NOW.sp_analytics_portal_override = false;
window.NOW.ucm_invocations = 0;
window.NOW.ucm_portal_id = '';
window.NOW.enable_new_web_sdk = false;
window.NOW.ux_collection_mode = 'Both';
window.NOW.usage_tracking = window.NOW.usage_tracking || {};
window.NOW.usage_tracking.ucm_encountered_exception = true;
window.NOW.usage_tracking.user_consent = 'NoConsentRequired';
window.NOW.user_impersonating = undefined;
window.NOW.usage_tracking.usage_tracking_allowed_for_session = false;
window.NOW.usage_tracking.tracking_enabled = false;
window.NOW.usage_tracking.consent_toggle_available = false;
window.NOW.instrumentation_authkey = '';
window.NOW.user_id_hashed = '591bce70be21e6b30a1d83d4b795b2d49f9d2bf53042cf3a779bc475729c5b26';
window.NOW.instrumentation_api_host = '';
window.NOW.instance_id = '60b45dd1db4db010a667cac5059619c2';
window.NOW.instance_name = 'bentleysystems';
window.NOW.domain_id = '';
window.NOW.unauthenticated_user_tracking_enabled = false;
window.NOW.isForceRestrictedPortal = false;</script><script data-description="NOW ucm, analytics related props">window.NOW.analytics_enabled = 'true' == 'true';
window.NOW.performance_monitoring_enabled = ('true' == 'true' && 'true' == 'true');
window.NOW.sp_analytics_plugin_active = true;
window.NOW.sp_analytics_portal_override = '' == 'true';
window.NOW.ucm_invocations = parseInt('');
window.NOW.ucm_portal_id = '';
window.NOW.enable_new_web_sdk = 'false' == 'true';
window.NOW.ux_collection_mode = 'Both';
window.NOW.usage_tracking = window.NOW.usage_tracking || {};
window.NOW.usage_tracking.user_consent = '';
window.NOW.user_impersonating = false;
window.NOW.usage_tracking.usage_tracking_allowed_for_session = '' == 'true';
window.NOW.usage_tracking.tracking_enabled = '' == 'true';
window.NOW.usage_tracking.consent_toggle_available = '' == 'true';
window.NOW.instrumentation_authkey = 'c8b0611d4fdd41e2a6935f7a326a11ab';
window.NOW.user_id_hashed = '591bce70be21e6b30a1d83d4b795b2d49f9d2bf53042cf3a779bc475729c5b26';
window.NOW.instrumentation_api_host = 'https://api-appsee.service-now.com';
window.NOW.instance_id = '60b45dd1db4db010a667cac5059619c2';
window.NOW.instance_name = 'bentleysystems';
window.NOW.domain_id = '';window.NOW.unauthenticated_user_tracking_enabled = false;window.NOW.isForceRestrictedPortal = false;</script><script data-description="NOW vars set by properties, custom events, g_* globals">
window.g_ck = 'd3bbe6b31b22aa907171ff7e034bcb6228e5958efd031dea92cccec9ee50ee97feca6ee5';
window.g_spd = '' === 'true';
window.logged_in = false;
if (!window.NOW)
window.NOW = {};
window.NOW.ac_wait_time = parseInt(250, 10);
window.NOW.ac_max_search_matches = parseInt(100, 10);
window.NOW.sp_dual_list_default_view = '';
window.NOW.sp_debug = 'false' == 'true';
window.NOW.sp_show_console_error = 'true' == 'true' && false;
window.NOW.page_id = '';
window.NOW.portal_id = '5b49418bdb4aa200b1f6f78eaf96195f';
window.NOW.start_page_id = 'community_home';
window.NOW.ais_enabled = 'true';
window.NOW.now_assist_enabled = 'false';
window.NOW.nava_enabled = 'false';
window.NOW.portal_url_suffix = 'community';
window.NOW.has_access = 'true' === 'true';
// script checks for environment
// if (NOW.sp) ...
// added Aug 1, 2016
window.NOW.sp = {};
window.NOW.sp.version = {};
window.NOW.sp.version.major = 1;
window.NOW.sp.version.minor = 2;
window.NOW.sp.version.dot = 0;
window.NOW.sp.enableTours = 'true' == 'true';
window.NOW.sp.can_debug = ('false' == 'true' || 'true' == 'false') || false;
window.NOW.sp.enableDateTranslation = '' == 'true';
window.NOW.sp.widgetCSSIncludes = {};
window.NOW.sp.uxfThemeEnable = 'false' === 'true';
window.NOW.currency = {};
window.NOW.currency.code = 'USD';
window.NOW.locale = {};
window.NOW.locale.code = 'en_US';
window.NOW.hasAdvanceChat = "false" === "true";
try {
window.NOW.dateFormat = JSON.parse("{\"timeAgo\": false, \"dateBoth\": false}");
} catch (e) {
window.NOW.dateFormat = {timeAgo: false, dateBoth: false};
}
var timeleft = parseInt('2', 10);
window.NOW.session_timeleft = isNaN(timeleft) ? 120 : timeleft * 60;
window.NOW.forgetMe = 'true'
// SP Context Manager
window.NOW.sp_ctx_mgr_timeout = parseInt(5000, 10);
// SP doesn't define app resources yet
window.SN_APP_RESOURCES = {};
// script globals
var g_tz_offset = -25200000;
var g_tz = 'America/Los_Angeles';
var g_first_day_of_week = parseInt(1, 10);
var g_date_picker_first_day_of_week = parseInt(0, 10);
var g_notif_timeout = parseInt(5, 10);
var g_notification_threshold = parseInt(5, 10);
var g_ck = 'd3bbe6b31b22aa907171ff7e034bcb6228e5958efd031dea92cccec9ee50ee97feca6ee5';
var g_searchWaitTime = 100;
var g_amb_on_login = false;
var g_lang = 'en';
var g_system_lang = "en";
var g_user_date_time_format = "yyyy-MM-dd HH:mm:ss";
var g_user_date_format = "yyyy-MM-dd";
var g_user_decimal_separator = ".";
var g_user_grouping_separator = ",";
var g_text_direction = "ltr";
var g_accessibility = "false";
var g_accessibility_resizeText = "false" === "true";
var g_accessibility_visual_patterns = false;
var g_accessibility_screen_reader_table = false;
var g_glide_list_separator = ", ";
var g_sort_elements_by_session_language = "true" == "true";
var g_dirty_form_warning_enabled = "true" == "true";
var g_mandatory_field_msg = 'Some fields are incomplete:';
var g_field_error_msg = 'The following fields contain errors:';
var g_choose_date_msg = 'Choose date';
var g_tinymce_remove_script_host = "true" == "true";
var g_tinymce_convert_urls = "false" == "true";
var g_tinymce_relative_urls = "true" == "true";
var g_datepicker_validation_enable = "true" == "true";
var g_choices_show_missing = "true" == "true";
var g_builddate = "05-24-2025_1031";
var g_has_agent_chat_config = "false" === "true";
var g_portal_isrtl= "false" === "true";
var g_portal_dark_theme_enabled = "false" === "true";
var g_user_is_admin = "false" === "true";
var g_persist_msgs_through_page_nav = "true" == "true";
var g_attachment_force_download_all_mime_types = "true" === "true";
var g_attachment_force_download_mime_type = "text/html,image/svg,image/svg+xml,application/xml";
var g_universal_link_flag = "false" === "true";
var g_sso_open_in_window = "true" === "true";
var g_user_login_method = "";
var g_ref_ac_startswith = "false" == "true";
Object.defineProperty(window, "g_prevent_access_from_console", {
value: "false" == "true",
writable: false
});
window.NOW.multisso_enabled = "true" === "true";
window.NOW.ui_scripts_version_map = '{\"sn_tcm_collab_hook.SlackCollabUtil\":41,\"AstContractClientSideWSAPI\":30,\"x_laso_systrack_bl.SensorResolutionBuild\":7,\"global.GlideScratchpadProxy\":1,\"global.JSLogProxy\":5,\"global.GlideUser Proxy\":7,\"Redirect to Help Portal\":1,\"x_laso_systrack_bl.SysTrackComplianceUIS\":276,\"sn_communities.Google_GTM\":0,\"global.DateTimeProxy\":19,\"WebAuthnUtil\":44,\"RiskAssessmentResults\":5,\"sn_tcm_collab_hook.chatSwarmModalUtils\":70,\"global.GetMessageProxy\":1,\"sn_ex_sp.ec_url_whitelist\":0,\"global.Browser Console Proxy\":8,\"global.GlideAjaxProxy\":61,\"global.GlideServiceCatalogProxy\":0,\"global.GetMessagesProxy\":3,\"x_laso_systrack_bl.SysTrackDetectedIssue\":470,\"PurchaseRightsAttributes\":2,\"utils.validators.email\":3,\"sp.validation.executor\":128,\"x_laso_systrack_bl.SysTrackAutomationHis\":34,\"x_laso_systrack_bl.SysTrackDiagnosticsUI\":151,\"sn_uxc_gen_ai.WWNACaretPosition\":18,\"sn_csm_pricing.AttrAdjustmentClientUtils\":32,\"global.WindowProxy\":29,\"CalculateTotalCostWS\":7,\"x_laso_systrack_bl.SysTrackToolsUIScript\":241,\"SkippedRecordRuleEngineUtils\":40,\"sn_hr_core.utils_ui_ws\":0,\"sn_ms_oam.markdown-it.min.js\":1,\"sn_ms_oam.adaptivecards.min.js\":10,\"global.DateTimeConstantsProxy\":1}' ? JSON.parse('{\"sn_tcm_collab_hook.SlackCollabUtil\":41,\"AstContractClientSideWSAPI\":30,\"x_laso_systrack_bl.SensorResolutionBuild\":7,\"global.GlideScratchpadProxy\":1,\"global.JSLogProxy\":5,\"global.GlideUser Proxy\":7,\"Redirect to Help Portal\":1,\"x_laso_systrack_bl.SysTrackComplianceUIS\":276,\"sn_communities.Google_GTM\":0,\"global.DateTimeProxy\":19,\"WebAuthnUtil\":44,\"RiskAssessmentResults\":5,\"sn_tcm_collab_hook.chatSwarmModalUtils\":70,\"global.GetMessageProxy\":1,\"sn_ex_sp.ec_url_whitelist\":0,\"global.Browser Console Proxy\":8,\"global.GlideAjaxProxy\":61,\"global.GlideServiceCatalogProxy\":0,\"global.GetMessagesProxy\":3,\"x_laso_systrack_bl.SysTrackDetectedIssue\":470,\"PurchaseRightsAttributes\":2,\"utils.validators.email\":3,\"sp.validation.executor\":128,\"x_laso_systrack_bl.SysTrackAutomationHis\":34,\"x_laso_systrack_bl.SysTrackDiagnosticsUI\":151,\"sn_uxc_gen_ai.WWNACaretPosition\":18,\"sn_csm_pricing.AttrAdjustmentClientUtils\":32,\"global.WindowProxy\":29,\"CalculateTotalCostWS\":7,\"x_laso_systrack_bl.SysTrackToolsUIScript\":241,\"SkippedRecordRuleEngineUtils\":40,\"sn_hr_core.utils_ui_ws\":0,\"sn_ms_oam.markdown-it.min.js\":1,\"sn_ms_oam.adaptivecards.min.js\":10,\"global.DateTimeConstantsProxy\":1}') : {};
var g_has_encryption_context = false;
var g_has_kmf_encryption = "opt_in" === "opt_in";
// PRB1395165: prevent ClientScriptScoper errors from scoped UI Scripts
ScopedGlideDialogWindowGenerator = function() { return null; };
ScopedGlideAjaxGenerator = function() { return null; };
ScopedGFormGenerator = function() { return null; };
window.NOW.req_has_lang = 'false' == 'true';
</script><script src="scripts/thirdparty/dompurify/purify.min.js?sysparm_substitute=false"></script><script type="text/javascript" src="/scripts/js_includes_sp_libs_min.jsx?v=05-24-2025_1031&lp=Thu_Jul_10_15_21_36_PDT_2025&c=27_608"></script><script type="text/javascript" src="/scripts/dist/sp_min.jsx?v=05-24-2025_1031"></script><script language="javascript" src="sn_communities.Google_GTM.jsdbx?c=0"></script><script language="javascript" src="sn_communities.RedirectCommunityToComing.jsdbx?c=30"></script><script language="javascript" src="sn_csm_uni_theme.csm_util.jsdbx?c=24"></script><script type="text/javascript" src="/sn_communities.communityHTMLFilter.jsdbx?c=2"></script><script type="text/javascript" src="scripts/bootstrap-datetimepicker.js?v=05-24-2025_1031"></script><script type="text/javascript" src="/sn_communities.redirectionHelper.jsdbx?c=34"></script><script type="text/javascript" src="/app_com.jsdbx?c=21"></script><script type="text/javascript" src="/app_com.modelUtil.jsdbx?c=20"></script><script type="text/javascript" src="/app_com.cxs.contextual_search.jsdbx?c=56"></script><link rel="stylesheet" type="text/css" href="/styles/retina_icons/retina_icons.css?v=05-24-2025_1031"></link><script data-description="set sp.dependencies">(function(){
angular.module('sp.dependencies', ["sn.app_common.cxs"]);
var portal = JSON.parse('{\"sp_rectangle_menu\":\"fdd92de1532132007a97e192d5dc3479\",\"sc_category_page_dv\":\"\",\"icon\":\"\",\"search_results_configuration\":\"80eb579d53671010968addeeff7b1215\",\"kb_knowledge_page_dv\":\"kb_view2\",\"title\":\"Communities\",\"sys_class_name\":\"sp_portal\",\"ts_index_group_dv\":\"\",\"sys_id\":\"5b49418bdb4aa200b1f6f78eaf96195f\",\"enable_favorites\":false,\"theme_dv\":\"Community\",\"default\":false,\"enable_ais\":true,\"inactive\":false,\"alternate_portal_dv\":\"\",\"homepage_dv\":\"community_home\",\"notfound_page_dv\":\"\",\"sc_catalog_dv\":\"\",\"logo\":\"f63b3d971ba73510f3fc5287624bcbe8.iix\",\"sys_name\":\"Communities\",\"sp_rectangle_menu_dv\":\"Community Header Menu\",\"theme\":\"cef5625e1bd67110f3fc5287624bcb2a\",\"sys_scope\":\"10809a9edb866200b1f6f78eaf961904\",\"search_results_configuration_dv\":\"Service Portal Search\",\"sc_catalog_page_dv\":\"\",\"hide_portal_name\":false,\"sys_class_name_dv\":\"Service Portal\",\"search_application_dv\":\"[Communities] - Default Communities Application\",\"quick_start_config\":\"[{\\r\\n\\t\\\"tagline\\\": {\\r\\n\\t\\t\\\"table\\\" : \\\"sp_instance\\\",\\r\\n\\t\\t\\\"sys_id\\\" : \\\"892f4c2b535032007a97e192d5dc34d3\\\",\\r\\n\\t\\t\\\"field\\\" : \\\"title\\\"\\r\\n\\t},\\r\\n\\t\\\"hero_background\\\": {\\r\\n\\t\\t\\\"table\\\" : \\\"sp_container\\\",\\r\\n\\t\\t\\\"sys_id\\\" : \\\"521fc82b535032007a97e192d5dc34e7\\\",\\r\\n\\t\\t\\\"field\\\" : \\\"background_image\\\"\\r\\n\\t},\\r\\n\\t\\\"footerMenu\\\": {\\r\\n\\t\\t\\\"sys_id\\\" : \\\"f01612cf3b643200367aee1234efc48e\\\"\\t\\t\\r\\n\\t},\\r\\n\\t\\\"secondaryMenu\\\": {\\r\\n\\t\\t\\\"sys_id\\\": \\\"53616d1e3b013200367aee1234efc439\\\"\\r\\n\\t},\\r\\n\\t\\\"timeouts\\\" : {\\r\\n\\t\\t\\\"anchorFocus\\\" : \\\"5000\\\"\\r\\n\\t},\\r\\n\\t\\\"uiPageMapping\\\" : [\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"5a2fcaa0dbd26600b1f6f78eaf9619a8\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"fa-question-circle\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"question\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"a\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"community_question\\\"\\r\\n\\t\\t},\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"57f785863b2b220085f76b4ee3efc449\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"fa-video-camera\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"video\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"a\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"community_video\\\"\\r\\n\\t\\t},\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"cc3fcaa0dbd26600b1f6f78eaf96192e\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"fa-pencil-square-o\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"blog\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"a\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"community_blog\\\"\\r\\n\\t\\t},\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"0764c981dbde6600b1f6f78eaf961990\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"comment\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"a\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"\\\"\\r\\n\\t\\t},\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"8f0a215c6707220071b89a6617415aa7\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"fa-question-circle\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"answer\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"an\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"community_question\\\"\\r\\n\\t\\t},\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"3f86a8db971232007a97a23363ac4a27\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"fa-file-text\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"document\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"a\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"community_document\\\"\\r\\n\\t\\t},\\r\\n\\t\\t{\\r\\n\\t\\t\\t\\\"contentTypeId\\\" : \\\"4c3a995ac302320012e45cb981d3aee0\\\",\\r\\n\\t\\t\\t\\\"icon_class\\\" : \\\"fa-calendar\\\",\\r\\n\\t\\t\\t\\\"internalName\\\" : \\\"event\\\",\\r\\n\\t\\t\\t\\\"contentArticle\\\" : \\\"a\\\",\\r\\n\\t\\t\\t\\\"pageId\\\" : \\\"community_event\\\"\\r\\n\\t\\t}\\r\\n\\t]\\r\\n}]\",\"kb_knowledge_page\":\"26c2e030d7201200a9addd173e24d437\",\"sys_tags\":\"\",\"search_application\":\"8720f5e0471339109091861f536d43f9\",\"login_page_dv\":\"csm_login\",\"sp_chat_queue_dv\":\"\",\"css_variables\":\"$brand-primary:#1A1A1A;\\r\\n$body-bg:#ffffff;\\r\\n$state-success-text:#1e4335;\\r\\n$sp-homepage-bg:#f6f8f8;\\r\\n$sp-navbar-divider-color:#44D62C;\\r\\n$text-color:#1A1A1A;\\r\\n$sp-logo-margin-y:.5rem;\\r\\n$navbar-inverse-link-hover-color:#1a1a1a;\\r\\n$panel-bg:#fff;\\r\\n$brand-success:#44D62C;\\r\\n$navbar-inverse-bg:#ffffff;\\r\\n$brand-warning:#DFD139;\\r\\n$brand-danger:#C83C36;\\r\\n$navbar-inverse-link-color:#1a1a1a;\\r\\n$brand-info:#6ABECF;\\r\\n$link-color:#3d85c6;\\r\\n$sp-logo-margin-x:15px;\\r\\n$btn-default-bg:#fff;\\r\\n$text-muted:#1a1a1a;\\r\\n\\r\\n$csm-secondary-header-bg:#636b74;\\r\\n\\r\\n@import url(https://fonts.googleapis.com/css2?family=Poppins:wght@300;400;500;600;700);\\r\\nbody {\\r\\n\\tfont-family: Poppins;\\r\\n\\tfont-size: 14px;\\r\\n\\tline-height: 20px;\\r\\n\\tbackground-color: #F2F4F6;\\r\\n width: 100%;\\r\\n margin: auto;\\r\\n}\\r\\n\\r\\n.navbar-global {\\r\\n\\tborder-bottom: 1px solid #f5f5f5;\\r\\n width: 100%;\\r\\n}\\r\\n\\r\\n.dropdown-menu navbar-user-profile-dropdown-menu {\\r\\n\\tcolor: black;\\r\\n }\\r\\n\\r\\n.navbar-primary.csm-align-center-vertical.navbar-align-content{\\r\\n\\tbackground-color: black;\\r\\n\\tborder-top: 2px solid #44D62C;\\r\\n}\\r\\n\\r\\n.product-background-container {\\r\\n\\tbackground: linear-gradient(0deg, rgba(0, 0, 0, 0.65) 4.08%, rgba(0, 0, 0, 0.00) 135.6%), url(https://bentleysystemstest.service-now.com/c884640147aefd109091861f536d43c5.iix), lightgray 0px -149.025px / 100% 199.951% no-repeat, #D9D9D9;\\r\\n\\t\\r\\n}\\r\\n\\r\\n.body.padding-top{\\r\\n\\tpadding-top: 0px !important;\\r\\n}\\r\\n\\r\\n.nav-link.unifiedMenuPrimaryMenuText{\\r\\ncolor: white;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a {\\r\\n position: relative;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > .open > a, .navbar-inverse .navbar-nav > .open > a:hover {\\r\\n\\tcolor: white;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a:hover:after {\\r\\n content: \'\';\\r\\n position: absolute;\\r\\n left: 0;\\r\\n bottom: 0;\\r\\n width: 100%;\\r\\n height: 3px;\\r\\n background-color: #44D62C;\\r\\n margin-bottom: -7px;\\r\\n}\\r\\n\\r\\n\\r\\nnavbar-action-login ng-scope {\\r\\n\\tcolor: black !important;\\r\\n}\\r\\n\\r\\n.navbar-inverse .navbar-nav > li > a {\\r\\n\\tcolor: white;\\r\\n}\\r\\n\\r\\n.banner-container{\\r\\n\\tmin-height: 250px;\\r\\n}\\r\\n\\r\\n.navbar-primary.csm-align-center-vertical.navbar-align-content {\\r\\n}\\r\\n\\r\\n@media (max-width: 762px) {\\r\\n \\r\\n .header1 {\\r\\n\\tline-height: 34px !important;\\r\\n font-size: 32px !important;\\r\\n }\\r\\n\\r\\n}\\r\\n\\r\\n.cm-browse-forum-tile-container {\\r\\n\\tborder: none !important;\\r\\n background-color: transparent !important;\\r\\n}\\r\\n\\r\\n.body {\\r\\n\\tmargin-top: 1em;\\r\\n margin-bottom: 1em;\\r\\n}\\r\\n\\r\\ndiv.col-md-9 {\\r\\n\\tpadding-left: 0 !important;\\r\\n padding-right: 0 !important;\\r\\n}\\r\\n\\r\\npath {\\r\\n\\theight: 16px !important;\\r\\n width: 16px !important;\\r\\n}\\r\\n\\r\\n.carousel-indicators .active {\\r\\n\\tbackground-color: #62C44D;\\r\\n}\\r\\n\\r\\n.carousel-indicators li {\\r\\n\\tborder: 1px solid black;\\r\\n}\\r\\n\\r\\n\\r\\n\\r\\n$sp-tagline-color:#000000;\\r\\n\\r\\n\",\"rtl_enabled\":false,\"enable_certificate_based_authentication\":false,\"kb_knowledge_base_dv\":\"\",\"login_page\":\"a0e3b3acc3521200b0449f2974d3ae14\",\"url_suffix\":\"community\",\"dark_theme_dv\":\"\",\"homepage\":\"3150fe57531032007a97e192d5dc3427\"}');
angular.module('sp.pageData', []).factory('spPageData', function() {
return {
getPortal: function () {
return portal;
}
}
});
})();</script><script>$(document).ready(function() {
if ('ontouchstart' in window || (navigator.maxTouchPoints !== 'undefined' && navigator.maxTouchPoints > 0) || (navigator.msMaxTouchPoints !== 'undefined' && navigator.msMaxTouchPoints > 0)) {
$("body").addClass('touch_scroll');
}
});</script><style type="text/css">.gsfBackground {
border-color: #fff779;
font-size: 16;
margin-bottom: 5;
}</style></head><body class=" " ng-class="[main.style, 'false' == 'true' ? 'has-agent-chat' : '', 'false' == 'true' ? 'dark-theme' : '' ]" ng-cloak="true" ng-controller="spPageCtrl as main" accessibility="false"><div class="sp-page-root page flex-column" ng-class="{'sp-loading': main.firstPage, 'sp-can-animate': main.doAnimate}"><div ng-if="main.firstPage" class="sp-page-loader h4" role="status"> <fa name="spinner" spin="true"></fa> Loading...</div><div><sn-banner banner-api-url="bannerApiUrl"></sn-banner></div><header ng-if="theme.header && theme.navbar_fixed" role="banner"><a class="skip-link sr-only" ng-click="main.focusOnPageTitle(true, $event)" href="javascript:void(0)">Skip to page content</a><sp-announcements></sp-announcements><sp-widget widget="theme.header" page="page"></sp-widget><div ng-if="subheader" ng-repeat="subheader in subheaders" ng-switch="subheader.semantic_tag" ng-style="main.parseJSON(subheader.background)" ng-class="::[subheader.class_name, 'c' + subheader.sys_id]"><main ng-switch-when="main" ng-class="::main.getContainerClasses(subheader)" role="main"><sp-page-row ng-repeat="row in ::subheader.rows" columns="::row.columns" row="::row" container="::subheader"></sp-page-row></main><div ng-switch-default="" ng-class="::main.getContainerClasses(subheader)"><sp-page-row ng-repeat="row in ::subheader.rows" columns="::row.columns" row="::row" container="::subheader"></sp-page-row></div></div></header><sp-notifications></sp-notifications><div class="sp-page-loader-mobile visible-xs visible-sm sp-loading-indicator la-sm" ng-class="{invisible: main.firstPage || !main.loadingIndicator}"><div></div><div></div><div></div></div><section ng-switch="page.has_custom_main_tag" class="flex-grow page sp-scroll flex-column" role="presentation" tabindex="-1"><header ng-if="theme.header && !theme.navbar_fixed" role="banner"><a class="skip-link sr-only" ng-click="main.focusOnPageTitle(true, $event)" href="javascript:void(0)">Skip to page content</a><sp-announcements></sp-announcements><sp-widget widget="theme.header" page="page"></sp-widget><div ng-if="subheader" ng-repeat="subheader in subheaders" ng-switch="subheader.semantic_tag" ng-style="main.parseJSON(subheader.background)" ng-class="::[subheader.class_name, 'c' + subheader.sys_id]"><main ng-switch-when="main" ng-class="::main.getContainerClasses(subheader)" role="main"><sp-page-row ng-repeat="row in ::subheader.rows" columns="::row.columns" row="::row" container="::subheader"></sp-page-row></main><div ng-switch-default="" ng-class="::main.getContainerClasses(subheader)"><sp-page-row ng-repeat="row in ::subheader.rows" columns="::row.columns" row="::row" container="::subheader"></sp-page-row></div></div></header><header ng-if="!theme.header" role="banner"><sp-announcements></sp-announcements></header><main ng-switch-when="false" class="body padding-top flex-grow " data-page-id="{{page.sys_id}}" data-page-title="{{page.title}}" role="main"><sp-aria-page-title page-title="page.title"></sp-aria-page-title><div ng-switch="container.semantic_tag" ng-repeat="container in containers" ng-style="main.parseJSON(container.background)" ng-class="::[container.class_name, 'c' + container.sys_id]"><main ng-switch-when="main" ng-class="::main.getContainerClasses(container)" role="main"><h2 class="sr-only" ng-if="::container.title" ng-bind="::container.title"></h2><sp-page-row ng-repeat="row in ::container.rows track by row.sys_id" columns="::row.columns" row="::row" container="::container"></sp-page-row></main><div ng-switch-default="" ng-class="::main.getContainerClasses(container)"><h2 class="sr-only" ng-if="::container.title" ng-bind="::container.title"></h2><sp-page-row ng-repeat="row in ::container.rows track by row.sys_id" columns="::row.columns" row="::row" container="::container"></sp-page-row></div></div></main><div ng-switch-default="" class="body padding-top flex-grow" data-page-id="{{page.sys_id}}" data-page-title="{{page.title}}"><sp-aria-page-title page-title="page.title"></sp-aria-page-title><div ng-switch="container.semantic_tag" ng-repeat="container in containers" ng-style="main.parseJSON(container.background)" ng-class="::[container.class_name, 'c' + container.sys_id]"><main ng-switch-when="main" ng-class="::main.getContainerClasses(container)" role="main"><h2 class="sr-only" ng-if="::container.title" ng-bind="::container.title"></h2><sp-page-row ng-repeat="row in ::container.rows track by row.sys_id" columns="::row.columns" row="::row" container="::container"></sp-page-row></main><div ng-switch-default="" ng-class="::main.getContainerClasses(container)"><h2 class="sr-only" ng-if="::container.title" ng-bind="::container.title"></h2><sp-page-row ng-repeat="row in ::container.rows track by row.sys_id" columns="::row.columns" row="::row" container="::container"></sp-page-row></div></div></div><footer ng-if="!main.isObjectEmpty(theme.footer) && !theme.footer_fixed"><sp-widget widget="theme.footer"></sp-widget></footer></section><footer ng-if="!main.isObjectEmpty(theme.footer) && theme.footer_fixed"><sp-widget widget="theme.footer"></sp-widget></footer></div><sp-aria-live></sp-aria-live><script id="sp_page_row_content.xml" type="text/ng-template"><div ng-repeat="column in columns track by column.sys_id" ng-switch="column.semantic_tag" class="{{::column.class_name}} {{(!container.bootstrap_alt) ? column.size_classes : ''}}"><div ng-switch-default="" ng-repeat="row in column.rows track by row.sys_id" class="repeated-row-container"><sp-page-row columns="row.columns" row="row" container="container"></sp-page-row></div><span ng-switch-default="" ng-repeat="rectangle in column.widgets track by rectangle.instance_id"><sp-widget widget="rectangle.widget"></sp-widget></span><main ng-switch-when="main"><div ng-repeat="row in column.rows track by row.sys_id" class="repeated-row-container"><sp-page-row columns="row.columns" row="row" container="container"></sp-page-row></div><span ng-repeat="rectangle in column.widgets track by rectangle.instance_id"><sp-widget widget="rectangle.widget"></sp-widget></span></main></div></script><script id="sp_image_chooser.xml" type="text/ng-template"><div class="sp-image-chooser-div"><input id="imageChooser{{ field.name }}" type="file" style="display: none;" ng-file-select="fileSelect($files, field)"></input><img ng-show="field.value" style="max-height: 200px; max-width: 200px;" ng-src="{{ field.value }}"></img><span ng-show="disabled() && !field.value">No image</span><span ng-show="!disabled()"><a ng-show="!field.value" style="margin: 5px;" class="btn btn-default" ng-click="clickChoose()">Choose</a><a ng-show="field.value" style="margin: 5px;" class="btn btn-default" ng-click="clickChoose()">Change</a><a ng-show="field.value" style="margin: 5px;" class="btn btn-default" ng-click="clickClear()">Remove</a></span></div></script><script id="sp_dialog.xml" type="text/ng-template"><span><div sn-dialog="true" disable-auto-focus="true" name="{{name}}" modal="true" role="dialog" aria-labelledby="dialog-title" context="parms" class="sp-message-dialog {{ dialogClass }}"><div class="sp-message-dialog-title" id="dialog-title"><div class="sp-message-dialog-title-inner">{{title}}</div></div><div class="sp-message-dialog-content "><div class="sp-message-dialog-content-block">{{message}}</div><div class="sp-message-dialog-content-block" ng-if="parms.details">{{parms.details}}</div><div class="sp-message-dialog-content-block" ng-if="question">{{question}}</div><div class="sp-message-dialog-content-block" ng-if="checkboxMessage"><div class="pull-left"><input type="checkbox" class="sp-message-dialog-content-input-field" ng-model="checkboxModel.value" ng-change="update()"></input></div><div class="pull-left">{{checkboxMessage}}</div></div></div><div class="sp-message-dialog-buttons"><button class="btn btn-cancel sp-message-dialog-cancel-button" title="{{cancel}}" ng-click="parms.cancel()" ng-if="cancel">{{cancel}}</button><button class="btn btn-primary sp-field-elem-margin" title="{{ok}}" ng-click="parms.ok()" ng-if="ok">{{ok}}</button></div></div></span></script><script id="sp_page_row" type="text/ng-template"><div ng-if="row.semantic_tag !== 'main'" ng-include="'sp_page_row_content.xml'" class="sp-row-content {{::row.class_name}} {{(!container.bootstrap_alt) ? 'row' : ''}}"></div><main ng-if="row.semantic_tag === 'main'" ng-include="'sp_page_row_content.xml'" class="sp-row-content {{::row.class_name}} {{(!container.bootstrap_alt) ? 'row' : ''}}" role="main"></main></script><script id="sp_form_field.xml" type="text/ng-template"><div class="form-group" ng-class="{'form-group-has-focus': hasValueOrFocus()}"><div ng-if="::c.showLabel(field)"><label class="field-label field-label-question" for="sp_formfield_{{::(field.type=='html' || field.type=='translated_html') ? (field.sys_id || field.name) : field.name }}"><span class="field-decorations"><span ng-if="field.mandatory" class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': field.mandatory_filled()}" aria-label="{{field.mandatory_filled()? 'Required Filled ' : 'Required '}}" ng-attr-aria-hidden="{{getFieldAriaHidden(field)}}" role="img"></span><span ng-repeat="decoration in field.decorations" class="decoration {{decoration.icon}}" title="{{decoration.text}}"></span></span><span class="sp-field-label-padding" ng-attr-title="{{::accessible ? undefined : field.hint}}" data-placement="right" data-toggle="tooltip" ng-attr-aria-label="{{::accessible && field.hint ? field.label : getFieldAriaLabel(field)}}">{{field.label}}</span><sp-help-tag field="::field" ng-if="::(accessible && field.hint && !field.help_text && !field.instructions)"></sp-help-tag><sp-help-tag field="::field" ng-if="::(field.help_text || field.instructions)"></sp-help-tag></label></div><span class="type-{{::field.type}} field-actual question-width" ng-switch="::field.type" ng-class="{'state-mandatory': field.mandatory, 'state-readonly': field.read_only, 'state-hidden': field.hidden, 'has-error': field.isInvalid}"><span ng-switch-when="boolean"><label title="{{::field.hint}}" data-placement="right" data-toggle="tooltip"><input type="checkbox" name="{{::field.name}}" ng-model="fieldValue" ng-if="!fieldRerendering" ng-true-value="'true'" ng-false-value="'false'" ng-model-options="{getterSetter: true}" aria-disabled="{{field.isReadonly()}}" ng-readonly="field.isReadonly()" aria-readonly="{{field.isReadonly()}}" ng-click="handleClick($event)" id="sp_formfield_{{::field.name}}" aria-required="{{field.isMandatory()}}" aria-labelledby="label_{{::field.name}} tooltip_{{::field.name}}"></input><span class="boolean-control" id="label_{{::field.name}}"><span ng-if="field._parent && !formModel._fields[field._parent].render_label && formModel._fields[field._parent].mandatory && formModel._fields[field._parent].isVisible()" class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': formModel._fields[field._parent].mandatory_filled()}" title="Required" aria-label="{{formModel._fields[field._parent].mandatory_filled()? 'Required Filled ' : 'Required '}}" ng-attr-aria-hidden="{{getFieldAriaHidden(field)}}" role="img"></span><span ng-if="!field._parent && !field.render_label && field.mandatory && field.isVisible()" class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': field.mandatory_filled()}" title="Required" aria-label="field.mandatory_filled()? 'Required Filled ' : 'Required '}}" ng-attr-aria-hidden="{{getFieldAriaHidden(field)}}" role="img"></span>{{field.label}}<span ng-if="::enhancePriceLabels(field)" class="inline">{{getCheckBoxPrice(field)}}</span></span></label><span class="sr-only" id="tooltip_{{::field.name}}">{{::field.hint}}</span></span><sp-assessment-details ng-if="::field.details" html-details="field.details" label="field.label" padding-required="true" field-id="field.sys_id" clamp-line="6" ng-class="{'text-center': formModel.is_kiosk_survey}"></sp-assessment-details><sp-choice-list ng-switch-when="choice" field="field" glide-form="getGlideForm()" default-value-setter="setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)" sn-options="{placeholder: field.placeholder}"></sp-choice-list><span ng-switch-when="boolean_confirm"><span class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': field.mandatory_filled()}" title="Required"></span><label title="{{::field.hint}}" data-placement="right" data-toggle="tooltip" for="sp_formfield_{{::field.name}}"><input type="checkbox" name="{{::field.name}}" ng-model="fieldValue" ng-if="!fieldRerendering" ng-true-value="'true'" ng-false-value="'false'" ng-model-options="{getterSetter: true}" ng-readonly="field.isReadonly()" aria-readonly="{{field.isReadonly()}}" aria-disabled="{{field.isReadonly()}}" ng-click="handleClick($event)" id="sp_formfield_{{::field.name}}"></input><span class="boolean-control"><span class="sr-only" ng-show="!field.mandatory_filled()">Required -</span><span class="sr-only" ng-show="field.mandatory_filled()">Required Filled -</span>{{field.label}}</span></label><span class="sr-only">{{::field.hint}}</span><span ng-if="::field._pricing">{{getCheckBoxPrice(field)}}</span></span><sp-color-picker ng-switch-when="color" field="field" glide-form="getGlideForm()" sn-change="fieldValue(newValue)" sn-disabled="field.isReadonly()" ng-if="c.depsLoaded"></sp-color-picker><sp-css-editor ng-switch-when="css" class="form-control" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded"></sp-css-editor><span ng-switch-when="currency2|document_id|domain_id|schedule_date_time|integer_date" class="padder" ng-switch-when-separator="|">{{field.displayValue}}</span><sp-duration-element ng-switch-when="glide_duration" field="field" ng-model="fieldValue" ng-model-options="{getterSetter: true}"></sp-duration-element><sp-url-element ng-switch-when="url" name="{{::field.name}}" field="field"></sp-url-element><sp-link-element ng-switch-when="link" name="{{::field.name}}" field="field"></sp-link-element><sn-field-reference ng-switch-when="field_name" field="field" id="sp_formfield_{{::field.name}}" glide-form="getGlideForm()" sn-change="fieldValue(newValue)" sn-disabled="field.isReadonly()"></sn-field-reference><sn-field-list-element ng-switch-when="field_list" field="field" glide-form="getGlideForm()" sn-disabled="field.isReadonly()" sn-change="fieldValue(newValue, displayValue)"></sn-field-list-element><sp-date-picker sn-change="fieldValue(newValue, displayValue)" ng-switch-when="glide_date" field="field" sn-disabled="field.isReadonly()" ng-model="field.stagedValue" ng-model-options="{getterSetter: true}"></sp-date-picker><sp-date-picker sn-change="fieldValue(newValue, displayValue)" ng-switch-when="glide_date_time" field="field" sn-disabled="field.isReadonly()" ng-model="field.stagedValue" ng-model-options="{getterSetter: true}" sn-include-time="true"></sp-date-picker><sp-reference-element ng-switch-when="glide_list" field="field" sn-select-width="100%" ref-table="::formModel.table" ref-id="formModel.sys_id" glide-form="getGlideForm()" record-values="getEncodedRecordValues()" sn-options="{multiple: true, placeholder: field.placeholder}" sn-disabled="field.isReadonly()"></sp-reference-element><sp-glyph-picker ng-switch-when="glyphicon" field="field" sn-disabled="field.isReadonly()"></sp-glyph-picker><sp-html-editor ng-switch-when="xml" field="field" id="sp_formfield_{{::field.name}}" class="form-control" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded"></sp-html-editor><sp-html-editor ng-switch-when="html_template" class="form-control" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded"></sp-html-editor><sp-script-editor ng-switch-when="json" class="form-control" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded" ng-model="field.stagedValue"></sp-script-editor><sp-mask-element ng-switch-when="masked" field="field" placeholder="field.placeholder" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" glide-form="getGlideForm()"></sp-mask-element><sp-radio-option ng-switch-when="multiple_choice" glide-form="getGlideForm()" field="field" cat-item-sys-id="formModel.sys_id"></sp-radio-option><sp-radio-option ng-switch-when="numericscale" glide-form="getGlideForm()" field="field" cat-item-sys-id="formModel.sys_id"></sp-radio-option><sp-textarea ng-switch-when="multi_two_lines" field="field" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" autocomplete="{{getAutocompleteValue()}}" class="form-control" ng-model="field.stagedValue" ng-change="stagedValueChange()" data-type="{{::field.type}}" ng-readonly="field.isReadonly()" aria-invalid="{{field.isInvalid || false}}" glide-form="getGlideForm()"></sp-textarea><sp-textarea ng-switch-when="multi_small" field="field" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" autocomplete="{{getAutocompleteValue()}}" class="form-control multi-small" ng-model="field.stagedValue" ng-change="stagedValueChange()" data-type="{{::field.type}}" ng-readonly="field.isReadonly()" aria-invalid="{{field.isInvalid || false}}" glide-form="getGlideForm()"></sp-textarea><sp-currency-element ng-switch-when="price" field="field" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()"></sp-currency-element><sp-currency-element ng-switch-when="currency" field="field" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()"></sp-currency-element><input ng-switch-when="password" type="password" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" autocomplete="off" class="form-control" ng-model="field.stagedValue" ng-change="stagedValueChange()" ng-disabled="field.isReadonly()"></input><input ng-switch-when="password2" type="password" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" autocomplete="off" class="form-control" ng-model="field.stagedValue" ng-change="stagedValueChange()" ng-disabled="field.isReadonly()"></input><sp-code-mirror ng-switch-when="properties" class="form-control" mode="properties" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded"></sp-code-mirror><sp-reference-field ng-switch-when="reference" id="sp_formfield_reference_{{::field.name}}" tabindex="-1" ng-class="{'field-has-reference': field.value != '', 'field-empty-reference': field.value == ''}"></sp-reference-field><sp-script-editor ng-switch-when="script_server" class="form-control" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded" ng-model="field.stagedValue"></sp-script-editor><sp-script-editor ng-switch-when="script" class="form-control" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded" es-latest-version="formModel._fields[field.name].useEsLatest" ng-model="field.stagedValue"></sp-script-editor><sp-script-editor ng-switch-when="script_plain" class="form-control" field="field" id="sp_formfield_{{::field.name}}" data-length="4000" sn-disabled="field.isReadonly()" sn-change="stagedValueChange()" sn-blur="fieldValue(field.stagedValue)" glide-form="getGlideForm()" ng-if="c.depsLoaded" es-latest-version="formModel._fields[field.name].useEsLatest" ng-model="field.stagedValue"></sp-script-editor><sn-table-reference ng-switch-when="table_name" field="field" sn-change="fieldValue(newValue)" sn-disabled="field.isReadonly()"></sn-table-reference><sp-textarea ng-switch-when="textarea" field="field" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" class="form-control" ng-model="field.stagedValue" ng-change="stagedValueChange()" data-type="{{::field.type}}" ng-readonly="field.isReadonly()" autocomplete="{{getAutocompleteValue()}}" aria-invalid="{{field.isInvalid || false}}" glide-form="getGlideForm()"></sp-textarea><sp-tinymce-editor ng-switch-when="html" id="sp_formfield_{{::field.name}}" ng-attr-tabindex="{{field.isReadonly() ? undefined : '-1'}}" name="{{::field.name}}" text-id="sp_formfield_{{::field.sys_id || field.name}}" ng-model="field.stagedValue" ng-model-options="{getterSetter: true}" sn-blur="fieldValue(field.stagedValue)" field="field" glide-form="getGlideForm()" ng-change="stagedValueChange()" attachment-guid="c.getAttachmentGuid()"></sp-tinymce-editor><sp-tinymce-editor ng-switch-when="translated_html" id="sp_formfield_{{::field.name}}" ng-attr-tabindex="{{field.isReadonly() ? undefined : '-1'}}" name="{{::field.name}}" text-id="sp_formfield_{{::field.sys_id || field.name}}" ng-model="field.stagedValue" sn-blur="fieldValue(field.stagedValue)" ng-model-options="{getterSetter: true}" field="field" glide-form="getGlideForm()" ng-change="stagedValueChange()" attachment-guid="c.getAttachmentGuid()"></sp-tinymce-editor><span ng-switch-when="user_image"><img ng-if="field.displayValue" ng-src="{{field.displayValue}}" style="max-height: 128px; max-width: 128px;"></img><sn-image-uploader ng-if="!field.isReadonly()" table-name="{{formModel.table}}" sys-id="{{formModel._attachmentGUID || formModel.sys_id}}" field-name="{{::field.name}}" field-label="{{::field.label}}" read-only="field.isReadonly()" on-upload="onImageUpload(thumbnail, sys_id)" on-delete="onImageDelete()" upload-message="{{field.isMandatory() && !field.mandatory_filled() ? 'Required -' : ''}} Upload an image" src="field.displayValue"></sn-image-uploader></span><sp-widget ng-switch-when="widget" widget="field.widget" page="{g_form: getGlideForm(), field: field, fieldValue: fieldValue}"></sp-widget><sp-widget ng-switch-when="widget_value" widget="field.widget" page="{g_form: getGlideForm(), field: field, fieldValue: fieldValue}"></sp-widget><span ng-switch-when="integer"><input name="{{::field.name}}" id="sp_formfield_{{::field.name}}" class="form-control" ng-readonly="field.isReadonly()" ng-model="field.stagedValue" ng-change="stagedValueChange()" ng-blur="formatNumber()" autocomplete="{{getAutocompleteValue()}}" ng-attr-placeholder="{{field.placeholder}}"></input></span><span ng-switch-when="decimal|float" ng-switch-when-separator="|"><input name="{{::field.name}}" id="sp_formfield_{{::field.name}}" class="form-control" ng-readonly="field.isReadonly()" ng-model="field.stagedValue" ng-change="stagedValueChange()" ng-blur="formatNumber()" autocomplete="{{getAutocompleteValue()}}"></input></span><sp-catalog-variable ng-if="field._cat_variable" ng-switch-when="sc_multi_row"></sp-catalog-variable><sp-email-element ng-switch-when="email" field="field" glide-form="getGlideForm()"></sp-email-element><sp-rich-text-label ng-switch-when="rich_text_label" field="field"></sp-rich-text-label><sp-variable-attachment ng-switch-when="sc_attachment" field="field" attachment-guid="formModel._attachmentGUID || formModel.sys_id" g-form="getGlideForm()"></sp-variable-attachment><span ng-switch-default="true"><input sp-ignore-composition="" ng-if="::!c.isTextArea(field)" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" ng-trim="false" class="form-control" maxlength="{{::field.max_length}}" data-type="{{::field.type}}" ng-model="field.stagedValue" ng-model-options="{allowInvalid: true}" ng-change="stagedValueChange()" autocomplete="{{getAutocompleteValue()}}" ng-readonly="field.isReadonly()" ng-attr-placeholder="{{field.placeholder}}" type="text" aria-required="{{field.isMandatory()}}" aria-invalid="{{field.isInvalid || false}}" aria-label="{{field.label}}"></input><sp-textarea ng-if="::c.isTextArea(field)" field="field" name="{{::field.name}}" id="sp_formfield_{{::field.name}}" class="form-control" data-type="{{::field.type}}" ng-model="field.stagedValue" ng-model-options="{allowInvalid: true}" ng-change="stagedValueChange()" autocomplete="{{getAutocompleteValue()}}" ng-readonly="field.isReadonly()" aria-invalid="{{field.isInvalid || false}}" glide-form="getGlideForm()"></sp-textarea></span></span><div ng-show="field.messages" id="sp_formfield_{{::field.name}}_fieldmsgs_container"><div ng-repeat="message in field.messages | unique: 'message'" class="wrapper-xs r m-t-xs" ng-class="{'bg-danger': message.type == 'error', 'bg-warning': message.type == 'warning', 'bg-info': message.type == 'info'}">{{message.message}}</div></div></div></script><script id="sp_reference_field.xml" type="text/ng-template"><span class="ref-picker-container"><div class="add-on" ng-if="field.value != ''"><button type="button" class="btn btn-default bg-white lookup" ng-click="openReference(field, formModel.view)" ng-disabled="field.isReadonly() && !field.readonlyClickthrough" data-original-title="{{field.label}}, Preview this record {{field.displayValue}}" data-toggle="tooltip" data-placement="top" aria-label="{{field.label}}, Preview this record {{field.displayValue}}"><span class="fa fa-info-circle"></span></button></div><div class="reference"><sp-reference-element field="field" sn-select-width="100%" ref-table="formModel.table" ref-id="formModel.sys_id" glide-form="getGlideForm()" sn-options="{placeholder: field.placeholder}" record-values="getEncodedRecordValues()" sn-disabled="field.isReadonly()" label-id="sp_reference_element_sr_{{::field.name}}"></sp-reference-element></div></span></script><script id="sp_model.xml" type="text/ng-template"><div><sp-variable-layout ng-if="!delayView" ng-attr-id="{{::formModel.table}}.do" embedded_in_modal="embeddedInModal"></sp-variable-layout><div ng-init="execItemScripts()"></div></div></script><script id="sp_editable_field.xml" type="text/ng-template"><span><small ng-if="block && fieldModel.displayValue" class="text-muted">{{fieldModel.label}}</small><span class="sp-editable-field" ng-style="blockDisplay" ng-class="{'editable-underline': editable}"><span ng-if="editable" ng-class="{'text-muted': !fieldModel.displayValue}" uib-popover-template="'sp_editable_popover.xml'" popover-placement="auto bottom" popover-is-open="shadowModel.popoverIsOpen" ng-click="toggleClick($event);" ng-keydown="toggleKeydown($event);" class="show-text bs-popover editable-text popover-trigger-{{::fieldID}}" aria-label="{{fieldModel.label}} - {{fieldModel.displayValue || '(Empty)'}} - Press enter to edit" aria-haspopup="dialog" aria-expanded="false" tabindex="0"><span ng-switch="fieldModel.type"><span ng-switch-when="user_image"><img ng-if="fieldModel.displayValue !=''" ng-src="{{fieldModel.displayValue}}"></img><span ng-if="fieldModel.displayValue ==''">Upload an image</span></span><span ng-switch-when="html" ng-bind-html="trustedHTML(fieldModel.displayValue)"></span><span ng-switch-when="translated_html" ng-bind-html="trustedHTML(fieldModel.displayValue)"></span><span ng-switch-default="true"><span ng-if="!block" id="field-{{::fieldID}}">{{fieldModel.displayValue || "(Empty)"}}</span><span ng-if="block" id="field-{{::fieldID}}">{{fieldModel.displayValue || fieldModel.label}}</span></span></span></span><span ng-if="!editable" class="show-text" ng-switch="fieldModel.type"><span ng-switch-when="user_image"><img ng-if="fieldModel.displayValue !=''" ng-src="{{fieldModel.displayValue}}"></img><span ng-if="fieldModel.displayValue ==''">Upload an image</span></span><span ng-switch-when="html" ng-bind-html="trustedHTML(fieldModel.displayValue)"></span><span ng-switch-when="translated_html" ng-bind-html="trustedHTML(fieldModel.displayValue)"></span><span ng-switch-default="true">{{fieldModel.displayValue}}</span></span></span></span></script><script id="sp_editable_field2.xml" type="text/ng-template"><form ng-submit="saveForm();"><sp-form-field form-model="fieldModel" field="fieldModel" glide-form="getGlideForm()"></sp-form-field></form></script><script id="sp_editable_popover.xml" type="text/ng-template"><div class="popover-content-body popover-{{::fieldID}}"><h3 class="popover-title" ng-bind="title" ng-show="title"></h3><div class="popover-content"><form id="editableSaveForm" ng-submit="saveForm();"><sp-form-field form-model="shadowModel" field="shadowModel" glide-form="getGlideForm()"></sp-form-field></form></div><div class="popover-footer pull-right"><button ng-click="closePopover()" type="button" class="m-b-xs m-r-xs btn btn-default">Cancel</button><button ng-click="saveForm()" type="button" class="m-b-xs m-r-xs btn btn-primary">Save</button></div></div></script><script id="sp_element_duration.xml" type="text/ng-template"><div class="form-inline"><now-message key="days" value="Days"></now-message><now-message key="hours" value="Hours"></now-message><now-message key="minutes" value="Minutes"></now-message><now-message key="seconds" value="Seconds"></now-message><fieldset class="form-group" id="sp_formfield_{{::field.name}}" tabindex="-1" role="group"><legend ng-attr-title="{{::$parent.accessible ? undefined : field.hint}}" ng-attr-aria-label="{{::$parent.accessible && field.hint ? undefined : getFieldAriaLabel(field)}}"><span class="field-decorations"><span ng-show="field.isMandatory()" class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': field.mandatory_filled()}" aria-label="{{field.mandatory_filled()? 'Required Filled ' : 'Required '}}" role="img"></span><span ng-repeat="decoration in field.decorations" class="decoration {{decoration.icon}}" title="{{decoration.text}}"></span></span><span class="sp-field-label-padding" ng-attr-title="{{::$parent.accessible ? undefined : field.hint}}" data-placement="right" data-toggle="tooltip">{{field.label}}</span><sp-help-tag field="field"></sp-help-tag></legend><div ng-repeat="unit in visibleUnits" class="input-group input-group-sm col-xs-{{12 / visibleUnits.length}} duration"><label class="input-group-addon text-capitalize" for="dur-{{unit}}-{{::field.name}}" sn-bind-i18n="{{unit}}"></label><input type="text" class="form-control" id="dur-{{unit}}-{{::field.name}}" ng-model="parts[unit]" ng-readonly="field.isReadonly()" ng-change="updateDuration()" title="{{durationUnits[unit]}}" data-toggle="tooltip" data-placement="bottom"></input></div></fieldset></div></script><script id="sp_element_currency.xml" type="text/ng-template"><div class="input-group"><span class="input-group-addon input-group-select"><span style="position: relative; display: inline-block;"><select class="form-control currency-element" ng-model="field.currencyCode" ng-options="c.code as c.symbol for c in field.currencyCodes" ng-disabled="field.isReadonly() || field.currencyCodes.length == 1" ng-change="formatValue(true)" aria-label="Currency"></select><i ng-if="field.currencyCodes.length > 1" aria-hidden="true" class="select-indicator fa fa-chevron-down"></i></span></span><input name="{{::field.name}}" id="sp_formfield_{{::field.name}}" class="form-control decimal" maxlength="14" data-type="{{::field.type}}" ng-model="field.currencyValue" ng-model-options="{allowInvalid: true}" ng-change="formatValue()" autocomplete="off" ng-readonly="field.isReadonly()"></input></div></script><script id="sp_element_email.xml" type="text/ng-template"><span class="ng-form-element"><span class="input-group" role="presentation"><input name="{{::field.name}}" id="sp_formfield_{{::field.name}}" aria-label="{{::field.label}}" autocomplete="{{getAutocompleteValue()}}" class="form-control" ng-model="field.stagedValue" ng-model-options="{allowInvalid: true}" type="email" ng-change="stagedValueChange()" ng-readonly="field.isReadonly()" placeholder="{{field.placeholder}}" maxlength="{{::field.max_length}}" data-type="email" aria-required="{{field.isMandatory()}}" aria-invalid="{{field.isInvalid || false}}"></input><span class="input-group-btn"><a ng-if="field.stagedValue && !field.isReadonly()" href="mailto: {{field.stagedValue}}" class="btn-ref btn btn-default" data-toggle="tooltip" data-placement="top" title="Send an email to this address" aria-label="Send an email to this address"><i class="fa fa-envelope-o" aria-hidden="true"></i></a><a ng-if="!field.stagedValue || field.isReadonly()" href="#" class="btn-ref btn btn-default disabled" tabindex="-1" title="Send an email to this address" aria-label="Send an email to this address" aria-disabled="true"><i class="fa fa-envelope-o" aria-hidden="true"></i></a></span></span></span></script><script id="sp_element_mask.xml" type="text/ng-template"><span class="ng-form-element" ng-class="{'has-error' : field.isInvalid}"><span ng-if="field.catalog_view_masked"><input name="{{::field.name}}" id="sp_formfield_{{::field.name}}" ng-attr-type="{{inputType}}" autocomplete="off" class="form-control masked-element" ng-model="field.stagedValue" ng-model-options="{getterSetter: true}" ng-blur="handleValueChanged()" ng-readonly="disabled" aria-required="{{field.mandatory}}" aria-invalid="{{field.isInvalid || false}}" placeholder="{{placeholder}}" maxlength="{{::field.max_length}}" aria-label="{{field.label}}"></input><button ng-if="field.stagedValue.length" ng-click="c.togglePassword()" class="btn sp-show-hide-masked-button btn-link" title="show/hide this value">{{toggleShowHide}}</button></span><span ng-if="!field.catalog_view_masked"><input name="{{::field.name}}" id="sp_formfield_{{::field.name}}" ng-attr-type="{{inputType}}" autocomplete="off" class="form-control" ng-model="field.stagedValue" ng-model-options="{getterSetter: true}" ng-blur="c.validate()" ng-readonly="disabled" ng-keydown="c.cleanData()" aria-required="{{field.mandatory}}" aria-invalid="{{field.isInvalid || false}}" placeholder="{{placeholder}}" maxlength="{{::field.max_length}}" aria-label="{{field.label}}"></input></span><span ng-if="field.useConfirmation"><label class="field-label" for="sp_formfield_confirm.{{::field.name}}">{{reEnter}}</label><input name="sp_formfield_confirm.{{::field.name}}" id="sp_formfield_confirm.{{::field.name}}" type="password" autocomplete="off" class="form-control" ng-readonly="disabled" ng-blur="c.validate()" ng-keydown="c.cleanData()" ng-model="field.confirmPassword" ng-model-options="{getterSetter: true}" aria-invalid="{{field.isInvalid || false}}" placeholder="{{placeholder}}" maxlength="{{::field.max_length}}" aria-label="{{::reEnter}}" aria-describedby="confirmation-error.{{::field.name}}"></input><span id="confirmation-error.{{::field.name}}" ng-if="field.isInvalid" class="sp-date-format-info" style="display:table-row;" role="alert">{{misMatch}}</span></span></span></script><script id="sp_catalog_variable.xml" type="text/ng-template"><div><sp-sc-multi-row-element ng-if="field.type == spSCConf.MULTI_ROW_TYPE" id="sp_formfield_{{::field.name}}" field="field" glide-form="getGlideForm()" native="::formModel.native_mobile" parent-fields="::formModel._fields"></sp-sc-multi-row-element></div></script><script id="sp_element_sc_multi_row.xml" type="text/ng-template"><div class="wrapper-md r-2x" ng-if="field.columns_meta.length > 0" ng-class="{'b': !c.isMEE}"><sp-widget widget="c.activeRow" ng-if="c.activeRow"></sp-widget><div ng-if="!field.readonly && !field.sys_readonly" ng-class="{'m-l m-b ': c.isMEE, 'form-group': !c.isMEE}" style="min-height:0px;"><button type="button" title="{{::field.max_row_tooltip_msg}}" class="btn btn-primary m-r" ng-click="c.createRow()" ng-disabled="!c.canInsert()" id="{{::field.sys_id}}_add_row" aria-label="{{c.addButtonAriaLabel}}">Add</button><button type="button" class="btn btn-default" ng-click="c.clearValue()" ng-disabled="!c.canClearValue()" aria-label="{{c.removeAllButtonAriaLabel}}">Remove All</button></div><div style="overflow-x: auto;"><table class="table table-bordered table-striped" ng-class="{'m-b': c.isMEE, 'm-b-xs': !c.isMEE}" aria-describedby="id-caption-mrvs"><caption id="id-caption-mrvs-{{::field.sys_id}}" class="sr-only">{{::field.label}}</caption><thead><tr><th id="id-actions-{{::field.sys_id}}" scope="col" ng-if="!field.readonly && !field.sys_readonly" class="text-nowrap">Actions</th><th id="id-question-{{::col.id}}" scope="col" ng-repeat="col in ::field.columns_meta track by col.id" class="text-nowrap">{{::col.label}}</th></tr></thead><tbody><tr ng-if="field._value.length == 0 "><td ng-if="!field._loadingData" class="text-center" colspan="{{::field.columns_meta.length + 1}}">No data to display</td></tr><tr ng-if="field._loadingData"><td class="text-center" ng-if="field._value.length == 0" colspan="{{::field.columns_meta.length + 1}}"><i class="fa fa-spinner fa-pulse fa-3x fa-fw" aria-hidden="true" title="Updating value"></i><span class="sr-only">Updating value</span></td></tr><tr ng-repeat="row_display_value in field._displayValue track by $index" ng-animate="{enter: 'animate-enter', leave: 'animate-leave'}" style="word-break: keep-all;"><td headers="id-actions-{{::field.sys_id}}" ng-if="!field.readonly && !field.sys_readonly" ng-class="{ 'actions-mobile': {{ c.isMEE }} }" class="text-nowrap"><a href="javascript:void(0);" class="wrapper-xs fa fa-pencil" role="button" data-original-title="Edit Row" aria-label="Edit Row {{$index + 1}}" data-toggle="tooltip" data-placement="top" ng-click="c.updateRow($index)" ng-class="{'btn disabled no-border' : c.disableMRVSActions}"></a><a href="javascript:void(0);" class="wrapper-xs fa fa-close" role="button" data-original-title="Remove Row" aria-label="Remove Row {{$index + 1}}" data-toggle="tooltip" data-placement="top" ng-click="c.deleteRow($index)" ng-class="{'btn disabled no-border' : c.disableMRVSActions}" id="remove-row-{{$index}}"></a></td><td headers="id-question-{{::col.id}}" ng-repeat="col in ::field.columns_meta track by col.id" style="text-overflow: ellipsis;">{{c.getCellDisplayValue(row_display_value[col.name], col.type)}}</td></tr></tbody></table></div></div></script><script id="sp_element_sc_request_for.xml" type="text/ng-template"><div class="form-group"><label class="field-label field-label-question" for="sp_formfield_requested_for_{{::field.name}}" data-original-title="{{::field.hint}}" aria-label="{{field.hint + ' '+ getReferenceLabelContents(field)}} " data-toggle="tooltip" data-placement="right"><span class="field-decorations"><span ng-show="field.mandatory" class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': field.mandatory_filled()}" title="Required" aria-label="{{field.mandatory_filled()? 'Required Filled' : 'Required'}}" role="img"></span><span ng-repeat="decoration in field.decorations" class="decoration {{decoration.icon}}" title="{{decoration.text}}"></span></span>{{field.label}}<sp-help-tag field="::field"></sp-help-tag></label><span class="type-{{::field.type}} field-actual" ng-class="{'state-mandatory': field.mandatory, 'state-readonly': field.read_only, 'state-hidden': field.hidden, 'has-error': field.isInvalid}"><div ng-class="{'input-group input-group-': alsoRequestForEnabled()}"><sp-reference-field id="sp_formfield_reference_{{::field.name}}" tabindex="-1" ng-class="{'field-has-reference': field.value != '', 'field-empty-reference': field.value == ''}"></sp-reference-field><div ng-if="alsoRequestForEnabled()" class="input-group-btn"><button type="button" class="btn btn-default bg-white lookup" id="also_request_for_button" ng-click="toggleUserSelect()" ng-disabled="disabled" aria-expanded="{{actions.isAlsoRequestForExpanded}}" data-original-title="Request for multiple users" data-toggle="tooltip" data-placement="top" aria-label="Request for multiple users"><span class="fa fa-users" ng-class="{'text-primary': showList}"></span><span class="sr-only">Request for multiple users</span></button></div></div></span><div ng-show="field.messages"><div ng-repeat="message in field.messages | unique: 'message'" class="wrapper-xs r m-t-xs" ng-class="{'bg-danger': message.type == 'error', 'bg-warning': message.type == 'warning', 'bg-info': message.type == 'info'}">{{message.message}}</div></div><div ng-if="alsoRequestForEnabled()" ng-show="showAlsoRequestFor" style="margin-top:15px"><label class="field-label" for="sp_formfield_sn_sc_also_request_for">{{::sn_sc_also_request_for.label}}</label><div ng-if="showLess" class="sp-field-elem-margin">{{sn_sc_also_request_for.display_value_list.join(", ")}}</div><span ng-show="showList"><sn-sc-also-request-for sn-select-width="100%" field="sn_sc_also_request_for" glide-form="getGlideForm()" sn-options="{placeholder: sn_sc_also_request_for.placeholder}" requested-for="field.value"></sn-sc-also-request-for></span><div ng-show="sn_sc_also_request_for.validationMessages"><div ng-repeat="message in sn_sc_also_request_for.validationMessages | unique: 'message'" class="wrapper-xs r m-t-xs" ng-class="{'bg-danger': message.type == 'error', 'bg-warning': message.type == 'warning', 'bg-info': message.type == 'info'}">{{message.message}}</div></div></div></div></script><script id="sp_element_radio_down.xml" type="text/ng-template"><fieldset id="sp_formfield_{{::field.name}}" aria-labelledby="sp_radio_down_label_{{::field.name}}" class="radio m-t-none"><legend class="ng-hide" id="sp_radio_down_label_{{::field.name}}"><span ng-if="field.isMandatory() && !field.mandatory_filled()">Required -</span><span ng-if="field.isMandatory() && field.mandatory_filled()">Required Filled -</span>{{::field.label}}</legend><div role="radiogroup" class="radio-control"><div ng-repeat="c in field.choices" class="block"><label class="radio-element"><input aria-checked="{{ field.value === c.value }}" ng-value="c.value" ng-model="fieldValue" ng-model-options="{getterSetter: true}" ng-readonly="field.isReadonly()" aria-readonly="{{field.isReadonly()}}" aria-disabled="{{field.isReadonly()}}" ng-init="onButtonLoad()" name="radio_button_down_{{field.sys_id}}_{{catItemSysId}}" aria-label="{{c.label + (c.priceLabel && field.value != c.value ? ' ' + c.priceLabel : '')}}" type="radio"></input><span aria-hidden="true">{{c.label}}<div ng-if="c.priceLabel && field.value != c.value" class="inline">{{c.priceLabel}}</div></span></label></div></div></fieldset></script><script id="sp_element_radio_across.xml" type="text/ng-template"><fieldset class="radio m-t-none" id="sp_formfield_{{::field.name}}" aria-labelledby="sp_radio_across_label_{{::field.name}}"><legend class="ng-hide" id="sp_radio_across_label_{{::field.name}}"><span ng-if="field.isMandatory() && !field.mandatory_filled()">Required -</span><span ng-if="field.isMandatory() && field.mandatory_filled()">Required Filled -</span>{{::field.label}}</legend><div role="radiogroup" class="radio-control"><label ng-repeat="c in field.choices" class="radio-element"><input aria-checked="{{ field.value == c.value ? true : false}}" ng-value="c.value" ng-model="fieldValue" ng-model-options="{getterSetter: true}" ng-readonly="field.isReadonly()" aria-readonly="{{field.isReadonly()}}" aria-disabled="{{field.isReadonly()}}" role="radio" type="radio" name="radio_button_across_{{field.sys_id}}_{{catItemSysId}}" ng-init="onButtonLoad()" aria-label="{{c.label + (c.priceLabel && field.value != c.value ? ' ' + c.priceLabel : '')}}"></input><span aria-hidden="true">{{c.label}}<div ng-if="c.priceLabel && field.value != c.value" class="inline">{{c.priceLabel}}</div></span></label></div></fieldset></script><script id="angular.do?sysparm_type=get_partial&name=directive.snImageUploader" type="text/ng-template"><div class="sn-component sn-component-image-upload"><input ng-show="false" type="file" ng-file-select="onFileSelect($files)"></input><div ng-file-drop="onFileSelect($files)" ng-file-drag-over-class="sn-dragover" title="{{getTitle()}}" style="margin-top: .5em;" aria-hidden="true"><div style="position:relative; display: inline-block;"><div ng-if="!uploading" ng-click="openFileSelector($event)" style="cursor: pointer; margin-bottom: .25em; margin-right: 0.25em; display: inline-block;" role="presentation"><button class="btn btn-primary" aria-label="{{uploadMessage}} - {{fieldLabel}}"><sn-glyph char="upload"></sn-glyph><small>{{uploadMessage}}</small></button></div><span class="upload-container" ng-click="activateUpload($event)" ng-if="!uploading" ng-transclude="" role="presentation" tabindex="-1"></span></div><div ng-if="uploading" style="position:relative; display: inline-block;" role="presentation"><button class="btn btn-default" aria-label="Uploading - {{fieldLabel}}"><sn-glyph char="refresh"></sn-glyph><small>Uploading</small></button></div><div ng-if="src" ng-click="deleteAttachment()" style="cursor: pointer; display: inline-block;" title="Immediately delete this image" role="presentation"><button class="btn btn-default" aria-label="Delete - {{fieldLabel}}"><sn-glyph char="remove"></sn-glyph><small>Delete</small></button></div></div></div></script><script id="angular.do?sysparm_type=get_partial&name=sp_attachment" type="text/ng-template"><div class="sp-attachment-block file-attachment" id="{{attachment.sys_id}}"><a ng-if="attachment.viewImage && attachment.thumbSrc && attachment.state === 'available'" class="view-attachment thumbnail" style="border: none;" ng-click="attachmentHandler.viewAttachment($event, attachment)" href="javascript:void(0)" aria-label="View attachment {{::attachment.file_name}}"><img alt="{{::attachment.file_name}}" class="attachment-thumbnail" ng-src="{{attachment.thumbSrc}}"></img></a><img ng-if="((!attachment.viewImage || attachment.state !== 'available' ) && attachment.thumbSrc )" style="border: none; margin-left: auto; margin-right: auto;" alt="{{::attachment.file_name}}" class="img-responsive" ng-src="{{attachment.thumbSrc}}"></img><div class="file-name"><a ng-if="attachment.state === 'available'" class="get-attachment" ng-click="attachmentHandler.downloadAttachment(attachment)" ng-attr-title="Download {{attachment.file_name}}" href="javascript:void(0)">{{::attachment.file_name}} ({{::attachment.size}})</a><a ng-if="attachment.state === '' || attachment.state === 'pending' || attachment.state === 'available_conditionally'" class="get-attachment" ng-click="attachmentHandler.scanAttachment(attachment)" ng-attr-title="Download {{attachment.file_name}}" href="javascript:void(0)">{{::attachment.file_name}} ({{::attachment.size}})</a><span ng-if="attachment.state === 'not_available'" class="get-attachment not_available" ng-attr-title="Download {{attachment.file_name}}">{{::attachment.file_name}}<span class="error">(File failed security scan)</span></span><input tabindex="-1" ng-keydown="attachmentHandler.onKeyDown($event, attachment)" ng-blur="attachmentHandler.updateAttachment($event, attachment)" aria-label="File name" class="form-control" style="display: none;"></input></div><div class="tools align-right"><div class="btn-group" role="group" ng-if="attachment.canWrite || attachment.canDelete"><button ng-if="attachment.canWrite" type="button" class="btn btn-default btn-clear" ng-click="attachmentHandler.editAttachment($event, attachment)" aria-label="Edit file name {{::attachment.file_name}}" title="Edit file name {{::attachment.file_name}}" data-toggle="tooltip" data-placement="bottom" data-container="body"><i class="fa fa-pencil" aria-hidden="true"></i></button><button ng-if="attachment.canDelete" type="button" class="btn btn-default btn-clear" ng-click="confirmDeleteAttachment(attachment, $event)" aria-label="Delete {{::attachment.file_name}}" title="Delete {{::attachment.file_name}}" data-toggle="tooltip" data-placement="bottom" data-container="body"><i class="fa fa-times" aria-hidden="true"></i></button></div><div style="text-align: center;"><time><sn-time-ago timestamp="::attachment.sys_created_on"></sn-time-ago></time></div></div></div></script><script id="sp_variable_layout.xml" type="text/ng-template"><div ng-repeat="container in containers" class="sp-form-container" ng-class="{'sp-form-documentation-container': container.id === documentationSectionId}" ng-show="paintForm(container)" ng-attr-role="{{(container.caption || container.captionDisplay) ? 'group' : undefined}}" ng-attr-aria-labelledby="{{(container.caption || container.captionDisplay) ? 'container_' + container.id : undefined}}"><span ng-if="container.id !== documentationSectionId"><span ng-if="(container.caption || container.captionDisplay)" class="container-caption form-container-caption" style="width:100%"><span class="h4" role="heading" aria-level="{{embeddedInModal ? '2' : '3'}}" id="container_{{::container.id}}">{{container.captionDisplay || container.caption}}</span><sp-help-tag field="::formModel._fields[container.name]"></sp-help-tag></span><div class="row"><div ng-repeat="column in container.columns" class="col-md-{{::12 / container.columns.length }}"><div ng-switch="::f.type" ng-repeat="f in ::column.fields" id="{{::getVarID(f)}}" ng-class="::{'form-inline': isInlineForm === true }"><div ng-switch-when="label" ng-if="formModel._fields[f.name]" ng-show="formModel._fields[f.name].isVisible()"><label ng-bind="f.label" style="display:inline"></label><sp-help-tag field="::formModel._fields[f.name]"></sp-help-tag><hr class="sp_label_hr"></hr></div><sp-form-field ng-switch-when="field" ng-if="formModel._fields[f.name] && formModel._fields[f.name]._class_name != 'RequestedForQuestion'" form-model="formModel" field="formModel._fields[f.name]" glide-form="getGlideForm()" ng-show="formModel._fields[f.name].isVisible()" default-value-setter="setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)"></sp-form-field><sp-variable-layout ng-switch-when="container" ng-init="containers=[f]"></sp-variable-layout><sp-checkbox-group ng-switch-when="checkbox_container" name="f.name" form-model="formModel" containers="f.containers" glide-form="getGlideForm()" class="checkbox-container"></sp-checkbox-group><sp-widget ng-switch-when="formatter" ng-if="formModel._formatters[f.id].widgetInstance" widget="formModel._formatters[f.id].widgetInstance" page="{g_form: getGlideForm()}"></sp-widget><hr ng-switch-when="break" ng-show="formModel._fields[f.name].isVisible()"></hr><sp-sc-request-for ng-switch-when="field" ng-if="formModel._fields[f.name] && formModel._fields[f.name]._class_name == 'RequestedForQuestion'" form-model="formModel" field="formModel._fields[f.name]" glide-form="getGlideForm()" ng-show="formModel._fields[f.name].isVisible()" id="sp_formfield_requested_for_{{::field.name}}" tabindex="-1"></sp-sc-request-for></div></div></div></span><span ng-if="container.id === documentationSectionId"><div class="row"><div ng-repeat="column in container.columns" class="col-md-{{::12 / container.columns.length }}"><div ng-switch="::f.type" ng-repeat="f in ::column.fields" id="{{::getVarID(f)}}" ng-class="::{'form-inline': isInlineForm === true }"><div ng-switch-when="label" ng-if="formModel._fields[f.name]" ng-show="formModel._fields[f.name].isVisible()"><label ng-bind="f.label"></label><sp-help-tag field="::formModel._fields[f.name]"></sp-help-tag><hr class="sp_label_hr"></hr></div><sp-form-field ng-switch-when="field" ng-if="formModel._fields[f.name] && formModel._fields[f.name]._class_name != 'RequestedForQuestion'" form-model="formModel" field="formModel._fields[f.name]" glide-form="getGlideForm()" ng-show="formModel._fields[f.name].isVisible()" default-value-setter="setDefaultValue(fieldName,fieldInternalValue,fieldDisplayValue)"></sp-form-field></div></div></div></span></div></script><script id="sp_multirow_vs_summarizer.html" type="text/ng-template"><div><button type="button" tab-index="0" id="closePopoverButton" style="position: relative; top :-35px;" class="close pull-right hidden-xs" aria-label="Close" ng-click="closePopover($index)"><span aria-hidden="true">×</span></button><div class="table-responsive ng-scope" style="max-height: 400px; max-width: 600px;"><table class="table table-striped"><thead><tr><th ng-repeat="col in variable.table_variable[0]" class="text-nowrap" tabindex="0" scope="col" aria-label="{{::col.label}}">{{::col.label}}</th></tr></thead><tbody><tr ng-repeat="row in variable.table_variable" style="word-break: keep-all;"><td ng-repeat="col in row" tabindex="0" aria-label="{{::col.label}}: {{::col.display_value}}">{{::col.display_value}}</td></tr></tbody></table></div></div></script><script id="sp_announcements.xml" type="text/ng-template"><div class="announcement-wrapper" ng-if="c.totalAnnouncements !== 0"><div ng-repeat="a in c.announcements" ng-style="::c.getStyle(a)" ng-class="{'announcement-center-block': c.getStyle(a).textAlign === 'center'}"><div class="announcement-container" ng-class="{'linktype-none': a.linkType === 'none'}"><div aria-live="assertive" ng-if="c.totalAnnouncements === 1 && !c.isMobile" ng-init="c.linkSetup(a)" class="text-container" ng-disabled="c.totalAnnouncements == 1 && !(a.summary && c.isMobile)"><div class="icon-title" ng-style="::{justifyContent: c.getJustifyContentValue(a)}"><div class="icon"><span class="glyphicon fa title-dismiss-icons" ng-class="::('fa-' + a.glyph)" role="img" ng-attr-aria-hidden="{{::a.glyphAltText? false : true}}" alt="{{::a.glyphAltText}}" data-toggle="tooltip" data-placement="bottom" title="{{::a.glyphAltText}}" data-container="body"></span></div><div class="title-announcement" ng-class="{'no-glyph-title': a.glyph === 'empty', 'announcement-left': c.getStyle(a).textAlign !== 'center'}">{{::a.title}}</div></div><p class="content" ng-class="{expanded: c.showAll && a.summary}" ng-bind="::a.summary"></p></div><div aria-live="assertive" ng-if="!(c.totalAnnouncements === 1 && !c.isMobile)" ng-init="c.linkSetup(a)" class="text-container" ng-click="::c.toggleShowAll($event)" tabindex="0" ng-attr-aria-label="{{::(!c.isMobile ? (a.title + " " + a.summary) : undefined)}}" aria-expanded="{{(c.totalAnnouncements > 1 || (c.totalAnnouncements == 1 && a.summary)) && c.showAll ? 'true' : 'false'}}" ng-disabled="c.totalAnnouncements == 1 && !(a.summary && c.isMobile)"><div class="icon-title" ng-style="::{justifyContent: c.getJustifyContentValue(a)}"><div class="icon"><span class="glyphicon fa title-dismiss-icons" ng-class="::('fa-' + a.glyph)" role="img" ng-attr-tabindex="{{::a.glyphAltText ? -1 : undefined}}" ng-attr-aria-hidden="{{::a.glyphAltText && !c.isMobile ? false : true}}" alt="{{::a.glyphAltText}}" data-toggle="tooltip" data-placement="bottom" title="{{::a.glyphAltText}}" data-container="body"></span></div><div class="title-announcement" ng-class="{'no-glyph-title': a.glyph === 'empty', 'announcement-left': c.getStyle(a).textAlign !== 'center'}">{{::a.title}}</div></div><p class="content" ng-class="{expanded: c.showAll && a.summary}" ng-bind="::a.summary"></p></div><span ng-if="a.linkType != 'none'" class="actions-container"><a class="info-link" target="{{a.linkTarget}}" ng-href="{{::a.targetLink}}" ng-style="::{color: c.getStyle(a).color}" title="{{::a.targetLinkText || c.i18n.defaultLinkDetailText}}" data-toggle="tooltip" data-placement="auto" data-container="body">{{::a.targetLinkText || c.i18n.defaultLinkText}}</a></span><button ng-if="::a.dismissOption !== 'NOT_DISMISSIBLE'" ng-click="::c.dismiss(a.id, $index, $event)" aria-label="{{::c.i18n.dismiss_announcement}} {{::a.title}}" class="close fa fa-times fa-lg title-dismiss-icons" ng-style="::{color: c.getStyle(a).color}" title="{{::c.i18n.dismiss_announcement}} {{::a.title}}" data-toggle="tooltip" data-placement="bottom" data-container="body"></button></div><button ng-if="($first || $last) && (c.totalAnnouncements > 1 || (c.totalAnnouncements == 1 && a.summary))" ng-click="::c.toggleShowAll($event)" class="sp-announcement-list-actions" ng-style="::{'filter': 'brightness(90%)', backgroundColor: c.getStyle(a).backgroundColor}" ng-class="{'smaller-resolution': c.totalAnnouncements === 1 && a.summary}" aria-label="{{c.showMore}} {{c.totalAnnouncements === 1 ? c.i18n.announcement : c.i18n.announcements}}" aria-expanded="{{c.showAll}}"><span class="more-button">{{c.showMore}}</span><span class="fa fa-md arrow-icon" ng-class="{'fa-angle-down': !c.showAll, 'fa-angle-up': c.showAll }" aria-hidden="true"></span></button></div></div></script><script id="sp_carousel.xml" type="text/ng-template"><div class="carousel" ng-swipe-right="prev()" ng-swipe-left="next()"><a role="button" href="javascript:void(0)" class="left carousel-control" ng-click="prev()" ng-show="slides.length > 1" aria-label="{{getPreviousButtonAriaLabel()}}"><span aria-hidden="true" ng-class="{'glyphicon-chevron-right' : g_portal_isrtl, 'glyphicon-chevron-left' : !g_portal_isrtl}" class="glyphicon"></span><span class="sr-only">previous</span></a><div class="carousel-inner" ng-transclude=""></div><a role="button" href="javascript:void(0)" class="right carousel-control" ng-click="next()" ng-show="slides.length > 1" aria-label="{{getNextButtonAriaLabel()}}"><span aria-hidden="true" ng-class="{'glyphicon-chevron-left' : g_portal_isrtl, 'glyphicon-chevron-right' : !g_portal_isrtl}" class="glyphicon"></span><span class="sr-only">next</span></a><div class="carousel-indicators " ng-show="slides.length > 1"><button ng-repeat="slide in slides | orderBy:indexOfSlide track by $index" ng-class="{ active: isActive(slide) }" ng-click="select(slide)"><span class="sr-only ">slide {{ $index + 1 }} of {{ slides.length }}<span ng-if="isActive(slide) ">, currently active</span></span></button><button class="fa toggle-animation" ng-class="{'fa-pause': !carouselPaused, 'fa-play': carouselPaused}" aria-label="{{carouselPaused ? playAnimation : pauseAnimation}}" ng-click="carouselPaused = !carouselPaused; (carouselPaused ? pause() : play())"></button></div></div></script><script id="sp_search_nav.xml" type="text/ng-template"><div><h2 class="sr-only">{{::c.i18n.search_categories}}</h2><sp-list-menu menu="c.searchSources" onclick-fn="c.onSearchSourceClick(menu, input)" list-view="listView" show-toggle="showToggle"></sp-list-menu></div></script><script id="sp_facet_list.xml" type="text/ng-template"><div><div ng-if="::c.show" class="sp-facet-list"><div class="panel panel-default"><div class="panel-heading"><div><span class="panel-title" aria-label="{{::listTitle}} {{::c.i18n.collapse}}"><div ng-if="!toggleSearchsource" style="background-color:inherit"><span class="label-title">{{::listTitle}}</span></div><button aria-label="{{c.collapse? c.i18n.expand : c.i18n.collapse}} {{::listTitle}}" class="toggle-icon btn" ng-if="toggleSearchsource" style="background-color:inherit" ng-click="c.toggleIcon(listTitle)"><span class="label-title">{{::listTitle}}</span><i class="fa" ng-class="{'fa-caret-right flip-icon-rtl':c.collapsed,'fa-caret-down':!c.collapsed}" aria-hidden="true"></i></button></span></div><div><span><button aria-label="{{::c.i18n.clearAllFacets}}" ng-click="c.clearAll()" ng-disabled="!c.showClearAll" class="btn btn-link clear-all pull-right" ng-class="{'disabled': !c.showClearAll}">{{::c.i18n.clearAll}}</button></span></div></div></div><div class="collapse" ng-class="{'in': !c.collapsed}"><div ng-repeat="facet in facets" class="inner-facet-list"><sp-list-menu list-view="true" collapsed="c.isCollapsed(facet.id)" menu="facet" onclick-fn="c.onSelectFacet(menu, input)" onclear-fn="c.clearFacet(menu)" ontoggle-fn="c.onFacetToggle(menuId, collapsed)" show-clear="c.showClear(facet)" show-toggle="true"></sp-list-menu></div></div></div></div></script><script id="sp_list_menu.xml" type="text/ng-template"><div class="sp-list-menu"><div data-menu-id="{{::menu.id}}" class="panel panel-default" ng-class="::{'list-view':listView, 'panel-heading-multiselect': c.isMultiSelect}" ng-if="::c.show()"><div class="panel-heading"><div><span class="panel-title" aria-label="{{::menu.label}}"><div ng-if="!c.showToggle" aria-label="{{::menu.label}}" style="background-color:inherit"><span class="label-title">{{::menu.label}}</span></div><button ng-if="c.showToggle" tabindex="0" aria-expanded="{{!c.collapsed}}" class="toggle-icon" ng-click="c.toggleIcon($event, menu.label)" aria-label="{{::menu.label}}" style="background-color:inherit"><span class="label-title">{{::menu.label}}</span><i class="fa" ng-class="{'fa-caret-right flip-icon-rtl':c.collapsed,'fa-caret-down':!c.collapsed}" ng-attr-title="{{::menu.label}}" data-toggle="tooltip" data-container="body" data-placement="right" aria-hidden="true"></i></button></span></div><div><span><button ng-if="c.showClearButton()" class="btn btn-link clear pull-right" ng-click="c.clear()" aria-label="{{::c.i18n.clear}} {{::menu.label}}">{{::c.i18n.clear}}</button></span></div></div><div class="panel-content collapse" ng-class="{'in': !c.collapsed}"><div ng-if="::c.isMultiSelect"><sp-list-menu-items menu="menu" type="MULTI_SELECT" onclick-fn="c.onItemClickFn(menu, item)"></sp-list-menu-items></div><div ng-if="::!c.isMultiSelect"><sp-list-menu-items menu="menu" onclick-fn="c.onItemClickFn(menu, item)"></sp-list-menu-items></div></div><button ng-if="c.isMultiSelect && !c.showClearButton()" ng-disabled="!c.showApplyButton()" ng-class="{'disabled': !c.showApplyButton()}" class="btn btn-link clear pull-right multiselect-apply" ng-click="c.submit()">{{::c.i18n.apply}}</button></div></div></script><script id="sp_list_menu_item.xml" type="text/ng-template"><div class="sp-list-menu-items" role="navigation" aria-label="{{c.i18n.search_by}}"><ul><li ng-repeat="item in c.items track by item.value" class="sp-list-menu-item"><button class="btn-link" ng-click="c.onClick(item)" aria-label="{{::menu.label}} {{::item.label}} {{item.selected ? c.i18n.selected : ''}}" ng-class="{'active':item.selected}" style="padding: 0" role="link">{{::item.label}}</button></li><li ng-repeat="item in c.nextItems track by item.value" class="sp-list-menu-item" ng-class="{'hidden': !c.showNextItems}"><button class="btn-link" aria-label="{{::menu.label}} {{::item.label}} {{item.selected ? c.i18n.selected : ''}}" ng-click="c.onClick(item)" ng-class="{'active':item.selected}" style="padding: 0" role="link">{{::item.label}}</button></li></ul><div ng-if="::c.nextItems" class="sp-list-menu-item"><button ng-if="c.showMoreButton()" type="button" class="btn btn-link" ng-click="c.onMoreButtonClick()">{{::c.i18n.see_more}}</button><button ng-if="c.showNextItems" type="button" class="btn btn-link" ng-click="c.onLessButtonClick()">{{::c.i18n.see_less}}</button></div></div></script><script id="sp_list_menu_checkbox.xml" type="text/ng-template"><div class="sp-list-menu-items"><ul aria-label="Filter results by category"><li ng-repeat="item in c.items track by item.value" class="sp-list-menu-item sp-facet-checkbox"><label><input type="checkbox" ng-checked="item.selected" ng-click="c.onClick(item)" aria-label="{{::item.label}}"></input><span ng-class="{'active': item.selected}">{{::item.label}}</span></label></li><li ng-repeat="item in c.nextItems track by item.value" class="sp-list-menu-item sp-facet-checkbox" ng-class="{'hidden': !c.showNextItems}"><label><input type="checkbox" ng-checked="item.selected" ng-click="c.onClick(item)"></input><span ng-class="{'active': item.selected}">{{::item.label}}</span></label></li></ul><div ng-if="::c.nextItems" class="sp-list-menu-item"><button ng-if="c.showMoreButton()" type="button" class="btn btn-link" ng-click="c.onMoreButtonClick()">{{::c.i18n.see_more}}</button><button ng-if="c.showNextItems" type="button" class="btn btn-link" ng-click="c.onLessButtonClick()">{{::c.i18n.see_less}}</button></div></div></script><script id="sp_checkbox_group.xml" type="text/ng-template"><div ng-repeat="container in containers"><fieldset ng-show="field.isVisible()" ng-class="{'state-mandatory': field.mandatory, 'has-error': field.isInvalid}"><legend class="field-label" ng-if="::field.render_label" id="sp_grp_checkbox_{{::field.name}}" ng-attr-aria-label="{{::$parent.accessible && field.hint ? undefined : getFieldAriaLabel(field)}}"><span class="field-decorations"><span ng-show="field.isMandatory()" class="fa fa-asterisk mandatory sp-field-label-padding" ng-class="{'mandatory-filled': field.mandatory_filled()}" aria-label="{{field.mandatory_filled()? 'Mandatory Filled ' : 'Mandatory '}}" role="img"></span><span ng-repeat="decoration in field.decorations" class="decoration {{decoration.icon}}" title="{{decoration.text}}"></span></span><span class="sp-field-label-padding" ng-attr-title="{{::$parent.accessible ? undefined : field.hint}}" data-placement="right" data-toggle="tooltip">{{field.label}}</span><span class="sr-only">{{::field.hint}}</span><sp-help-tag field="::field"></sp-help-tag></legend><div class="row" id="sp_formfield_{{::field.name}}"><div ng-repeat="column in container.columns" class="col-md-{{::12 / container.columns.length }}"><div ng-repeat="f in ::column.fields" id="{{::getVarID(f)}}" ng-class="::{'form-inline': isInlineForm === true , 'sp-sc-single-checkbox' : !field.render_label}"><sp-form-field ng-if="formModel._fields[f.name]" form-model="formModel" field="formModel._fields[f.name]" glide-form="getGlideForm()" ng-show="formModel._fields[f.name].isVisible()"></sp-form-field></div></div></div></fieldset></div></script><script id="sp_help_tag.xml" type="text/ng-template"><span ng-if="::(accessible && field.hint && !field.help_text && !field.instructions)" role="button" data-toggle="tooltip" data-placement="right" tabindex="0" class="fa fa-question-circle padder-xs help-tag-icon" title="{{getFieldAriaLabel(field)}}" aria-label="{{getFieldAriaLabel(field)}}"></span><span class="fa fa-question-circle padder-xs help-tag-icon" ng-click="toggleHelpText($event)" ng-if="::(field.help_text || field.instructions)" data-placement="right" data-toggle="tooltip" title="{{::field.help_tag}}" aria-label="{{::getHelpAriaLabel()}}" aria-expanded="{{field.expand_help}}" tabindex="0"></span><div class="help-tag"><div ng-if="field.expand_help" class="well wrapper-xs m-b-sm flex-row justify-between"><div class="help-tag-container" id="sp_help_tag_{{::field.sys_id}}"><span title="{{::field.help_text}}" ng-bind-html="::field.help_text" style="white-space: pre-line;"></span><p ng-if="::(!!field.instructions)" ng-bind-html="::trustedHTML(field.instructions)"></p></div><div><i class="fa fa-times pull-right help-tag-icon wrapper-xs padder-t-none" ng-click="hideHelp($event)" aria-label="Close {{field.help_tag}} for {{::field.name}}" aria-describedby="sp_help_tag_{{::field.sys_id}}" ng-if="field.expand_help" tabindex="0" data-placement="top" data-toggle="tooltip" title="Close"></i></div></div></div><now-message key="{h} for {f}" value="{h} for {f}"></now-message><now-message key="Help for {f}" value="Help for {f}"></now-message></script><script id="sp_agent_chat.xml" type="text/ng-template"><div class="sp-ac-root" ng-if="c.isVisible" ng-class="{'sp-ac-desktop': !c.isMobile}" aria-label="{{::c.i18n.agentChatWindow}}" aria-expanded="{{c.isOpen}}" role="region" tabindex="-1"><section class="sp-ac-conversation" ng-class="'false' == 'true' ? 'sp-nava' : ''" ng-show="c.isOpen"><iframe class="sp-ac-frame" title="{{::c.i18n.agentChatWindow}}" scrolling="no" horizontalscrolling="no" verticalscrolling="no" style="border:none;" ng-src="{{c.frameUrl}}"></iframe></section><div class="sp-ac-btn-wrapper"><button class="sp-ac-btn" ng-class="{open: c.isOpen, closed: !c.isOpen}" ng-click="::c.toggle($event)" data-original-title="{{c.getBadgeAriaLabel()}}" data-toggle="tooltip" data-placement="top" aria-label="{{c.getBadgeAriaLabel()}}"><span class="sp-ac-unread-msg" ng-if="c.hasUnreadMessage">{{c.unreadMessages}}</span><span class="sp-ac-btn-icon" ng-class="{'icon-cross': c.isOpen, 'fa-flip-horizontal': c.g_portal_isrtl}"></span></button></div></div></script><script id="sp_element_url.xml" type="text/ng-template"><div style="display:flex;justify-content:space-between" data-unlock-empty-url="true" class="field-url"><span id="empty_url_{{::field.name}}" class="field-url-empty-label" ng-show="fieldIsLocked && field.stagedValue == ''">(empty)</span><a id="sp_formfield_{{::field.name}}_link" class="web web-inline form-control-static field-url-link" target="_blank" name="sp_formfield_{{::field.name}}_link" href="{{field.stagedValue}}" ng-show="fieldIsLocked && field.stagedValue != ''">{{field.stagedValue}}</a><input ng-style="fieldIsLocked && {'display':'none'}" name="{{::field.name}}" aria-label="{{::field.label}}" id="sp_formfield_{{::field.name}}" autocomplete="url" class="form-control" ng-model="field.stagedValue" aria-required="{{field.isMandatory()}}" ng-model-options="{allowInvalid: true}" ng-change="stagedValueChange()" placeholder="{{::field.placeholder}}" ng-readonly="field.isReadonly() == true" maxlength="{{::field.max_length}}" data-type="{{::field.type}}"></input><button class="btn btn-default btn-ref" type="button" aria-label="Lock {{::field.label}}" id="sp_formfield_{{::field.name}}_lock" data-ref="sp_formfield_{{::field.name}}" title="Lock {{::field.label}}" ng-readonly="field.isReadonly()" aria-readonly="{{field.isReadonly()}}" aria-disabled="{{field.isReadonly()}}" ng-show="fieldIsLocked == false" ng-click="lockField($event);" data-toggle="tooltip" data-container="body" data-placement="top"><span class="fa fa-unlock flip-icon-rtl" aria-hidden="true"></span></button><button class="btn btn-default btn-ref" type="button" aria-label="Edit {{::field.label}}" id="sp_formfield_{{::field.name}}_unlock" data-ref="sp_formfield_{{::field.name}}" ng-readonly="field.isReadonly()" aria-readonly="{{field.isReadonly()}}" aria-disabled="{{field.isReadonly()}}" ng-show="fieldIsLocked" ng-click="unlockField($event);" title="Edit {{::field.label}}" data-toggle="tooltip" data-container="body" data-placement="top"><span class="fa fa-lock" aria-hidden="true"></span></button></div></script><script id="sp_element_link.xml" type="text/ng-template"><div style="display: flex; justify-content: space-between;" data-unlock-empty-url="{{ gs.getProperty('glide.ui.unlock_empty_url') }}" class="field-url"><span id="empty_url_{{ ::field.name }}" class="field-url-empty-label" ng-show="!field.link">{{ gs.getMessage('(empty)') }}</span><span class="web web-inline form-control-static" ng-bind-html="::trustedHTML"></span></div></script><script id="sp_assessment_signature.xml" type="text/ng-template"><div><div class="row wrapper-xs"><div ng-class="{'col-xs-3': !variable.isNative}"><label class="wrapper-xs" for="sign-auth-username">{{variable.msgs.username}}</label></div><div ng-class="{'col-xs-9': !variable.isNative}"><input ng-model="variable.username" class="form-control" id="sign-auth-username" type="text" name="sign-auth-username" disabled="true"></input></div></div><div class="row wrapper-xs"><div ng-class="{'col-xs-3': !variable.isNative}"><label class="wrapper-xs" for="sign-auth-password">{{variable.msgs.password}}</label></div><div ng-class="{'col-xs-9': !variable.isNative}"><input class="form-control" id="sign-auth-password" type="password" ng-model="variable.password" name="sign-auth-password"></input></div></div></div></script><script id="sp_assessment_accordion.xml" type="text/ng-template"><div><div uib-accordion-transclude="heading" class="container-fluid no-padder accordion-header-heading sp-asmt-auto-focus"><span uib-accordion-header=""></span></div><div ng-transclude="" ng-if="isDisabled "></div><div class="'panel-collapse collapse" uib-collapse="!isOpen" ng-if="!isDisabled"><div ng-transclude=""></div></div></div></script><script id="sp_assessment_layout.xml" type="text/ng-template"><div ng-repeat="page in pages track by $index" ng-if="page.id == currentPage" class="m-b-lg"><div ng-if="!hasPagination" class="asmt-modal-layout asmt-padding-xl panel panel-default survey-intro-block"><div ng-if="(renderFields && page.isPageMandatory) || formModel.not_show_intro_note" style="overflow: hidden;" class="asmt-padding-b-xl asmt-category-border" ng-class="{'asmt-padding-b-lg' : formModel.trigger_id != ''}"><div ng-if="formModel.not_show_intro_note" class="survey-label font-bold pull-left" ng-class="formModel.trigger_id != '' ? 'asmt-margin-b-sm' : 'm-b-sm'">{{formModel.display}}</div><span ng-if="renderFields && page.isPageMandatory" class="pull-right"><span class="fa fa-asterisk mandatory" title="asterisk"><span class="sr-only">asterisk</span></span>Indicates required</span><div ng-if="formModel.not_show_intro_note && formModel.trigger_id" style="clear: both; padding-left: 1.2rem;">{{getTransaltedMessage('{0} for', formModel.evaluation_method_display)}}<span ng-if="::!c.isNative" style="margin: 0 2px;"><a href="?id=ticket&table={{formModel.trigger_table}}&sys_id={{formModel.trigger_id}}">{{formModel.trigger_display}}</a></span><span ng-if="::c.isNative" style="margin: 0 2px;">{{formModel.trigger_display}}</span><span ng-if="formModel.trigger_desc" style="font-size: 12px">[{{formModel.trigger_desc}}]</span></div></div><uib-accordion close-others="false"><uib-accordion-group ng-attr-style="{{formModel.is_kiosk_survey && 'margin-bottom: 0px !important; border:none;'}}" template-url="sp_assessment_accordion.xml" ng-repeat="category in page.categories track by $index" is-disabled="formModel.is_kiosk_survey" is-open="!category.collapsed" class="asmt-accordion-group asmt-category-border m-n category-container"><uib-accordion-heading uib-collapse="category.collapsed" ng-if="!formModel.is_kiosk_survey"><div role="button" ng-show="(formModel.evaluation_method == 'assessment' || formModel.evaluation_method == 'risk_assessment') && category.assessableRecord.assessable_record_name && (category.sourceId != page.categories[$index-1].sourceId)" class="font-bold break-word btn btn-group-justified wrapper-sm assessable-record-label asmt-category-border no-radius" tabindex="0" ng-class="{'disabled-view': formModel.readonly_form, 'btn-primary' : !formModel.readonly_form, 'survey-label' : formModel.evaluation_method == 'assessment' || formModel.evaluation_method == 'risk_assessment'}" aria-expanded="{{page.categoriesExpanded[category.sourceId]}}" ng-click="toggleAssessableRecordCategories(category.sourceId);"><div class="pull-left">{{category.assessableRecord.assessable_record_name}}</div><div class="pull-right"><span class="fa accordion-icon chevron-border" id="assessable_record_{{::category.sysId}}_{{::category.sourceId}}" ng-class="page.categoriesExpanded[category.sourceId] ? 'fa-chevron-up' : 'fa-chevron-down'" data-placement="right" data-toggle="tooltip" data-original-title="{{getTooltipTitle(category, true)}}" ng-click="updateTooltip(false, category.sysId, category.sourceId);"><div class="sr-only">{{getTooltipTitle(category, true)}}</div></span></div></div><div id="{{::category.sysId}}_{{::category.sourceId}}" role="button" class="wrapper-sm category-heading category-heading-section cursor-pointer" tabindex="0" aria-expanded="{{!category.collapsed}}" ng-click="$parent.$parent.toggleOpen(); category.collapsed = !category.collapsed; categoryToggled(category.sourceId);"><span class="fa fa-asterisk mandatory" style="padding-right: .25em" ng-if="category.isMandatory" aria-required="category.isMandatory" aria-hidden="true"></span><span role="heading" class="font-bold break-word category-label" aria-level="2">{{category.name}}</span><span ng-if="(formModel.evaluation_method == 'assessment' || formModel.evaluation_method == 'risk_assessment') && category.assessableRecord.assessable_record_name" class="fa fa-info-circle padder-xs m-b-xs" role="tooltip" data-placement="right" data-toggle="tooltip" title="{{getTransaltedMessage('For {0}', category.assessableRecord.assessable_record_name)}}" data-original-title="{{getTransaltedMessage('For {0}', category.assessableRecord.assessable_record_name)}}" aria-label="{{getTransaltedMessage('For {0}', category.assessableRecord.assessable_record_name)}}" tabindex="0" ng-click="$event.stopPropagation();"><div class="sr-only">{{getTransaltedMessage('For {0}', category.assessableRecord.assessable_record_name)}}</div></span><div class="pull-right" style="margin-right: 3px;"><span class="fa accordion-icon" id="category_{{::category.sysId}}_{{::category.sourceId}}" ng-class="category.collapsed ? 'fa-chevron-down' : 'fa-chevron-up'" data-placement="right" data-toggle="tooltip" data-original-title="{{getTooltipTitle(category, false)}}" ng-click="updateTooltip(true, category.sysId, category.sourceId);"><div class="sr-only">{{getTooltipTitle(category, false)}}</div></span></div></div></uib-accordion-heading><div role="tab" ng-if="formModel.is_kiosk_survey"></div><sp-assessment-details class="asmt-cat-details" ng-if="::category.details && !formModel.is_kiosk_survey" html-details="category.details" label="category.name" padding-required="false" is-mobile="isMobile" field-id="category.sysId + category.sourceId" clamp-line="6" is-category="true"></sp-assessment-details><div class="sp-form-field-parent" ng-class="{'asmt-padding-t-xxl': !formModel.is_kiosk_survey}"><div ng-repeat="question in category.questions track by $index" ng-class="{'asmt-question-border asmt-margin-t-xxl': !formModel.is_kiosk_survey}" class="asmt-padding-t-xxl asmt-padding-l-r-md" ng-if="checkQuestionVisibility(isMobile, formModel, question)"><sp-assessment-form-field ng-if="renderFields" ng-class=" {'center-label-block': formModel.is_kiosk_survey && !isNative, 'text-center': formModel.is_kiosk_survey && formModel._fields[question].type != 'multiple_choice' && !isNative}" form-model="formModel" field="formModel._fields[question]" glide-form="getGlideForm()" ng-show="checkQuestionVisibility(isMobile, formModel, question)" is-mobile="isMobile" is-native="isNative"></sp-assessment-form-field><sp-assessment-add-info field="formModel._fields[question]" ng-if="formModel._fields[question].allow_add_info" is-mobile="isMobile" is-native="isNative"></sp-assessment-add-info></div></div></uib-accordion-group></uib-accordion><sp-assessment-nav-buttons ng-if="(!formModel.is_kiosk_survey || isMobile) && !isNative && !formModel.readonly_form"></sp-assessment-nav-buttons></div><div ng-if="hasPagination" ng-repeat="category in page.categories track by $index" class="asmt-modal-layout panel panel-default survey-intro-block" ng-class="{'asmt-padding-xl' : !isNative}"><sp-assessment-progress-bar ng-if="formModel.show_progress_bar && pages.length!=1"></sp-assessment-progress-bar><div ng-if="formModel.not_show_intro_note" class="survey-label font-bold padder-l-none padder-r-none" ng-class="formModel.trigger_id != '' ? 'asmt-margin-b-sm' : 'asmt-padding-b-l'">{{formModel.display}}</div><div ng-if="formModel.not_show_intro_note && formModel.trigger_id" style="padding-bottom: 24px;">{{getTransaltedMessage('{0} for', formModel.evaluation_method_display)}}<span ng-if="::!c.isNative" style="margin: 0 2px;"><a href="?id=ticket&table={{formModel.trigger_table}}&sys_id={{formModel.trigger_id}}">{{formModel.trigger_display}}</a></span><span ng-if="::c.isNative" style="margin: 0 2px;">{{formModel.trigger_display}}</span><span ng-if="formModel.trigger_desc" style="font-size: 12px">[{{formModel.trigger_desc}}]</span></div><div ng-if="!formModel.is_kiosk_survey || isMobile" class="category-container"><div role="heading" ng-if="(formModel.evaluation_method == 'assessment' || formModel.evaluation_method == 'risk_assessment') && category.assessableRecord.assessable_record_name" class="font-bold break-word category-label" ng-class="{'survey-label bg-primary wrapper-sm m-b': !isMobile && !isNative}" aria-level="2">{{category.assessableRecord.assessable_record_name}}</div><div style="overflow: hidden;" class="category-heading-section" ng-attr-style="{{(formModel.evaluation_method == 'assessment') && !isMobile && !isNative && 'padding: 0 10px;'}}"><div role="heading" style="margin-bottom:16px !important" ng-class="{'inline': !category.details || !page.showCategoryDetails, 'field-label': !isNative}" class="font-bold break-word" aria-level="2">{{category.name}}</div><sp-assessment-details style="display: inline-block;" ng-if="::category.details && page.showCategoryDetails" html-details="category.details" label="category.name" padding-required="false" is-mobile="isMobile" field-id="category.sysId" clamp-line="6" is-category="true"></sp-assessment-details><div ng-if="renderFields && category.isMandatory" class="pull-right" style="text-align: right;"><span ng-class="{'m-b-xs': isMobile}"><span class="fa fa-asterisk mandatory" title="asterisk" ng-attr-role="{{isNative ? 'text' : undefined}}"><span class="sr-only">asterisk</span></span>Indicates required</span></div></div></div><div class="sp-form-field-parent asmt-margin-t-xl panel-top-border"><div ng-repeat="question in category.questions track by $index" class="asmt-question-border asmt-margin-t-xxl asmt-padding-t-xxl asmt-padding-l-r-md" ng-if="checkQuestionVisibility(isMobile, formModel, question)"><sp-assessment-form-field ng-if="renderFields" ng-class=" {'text-center': formModel.is_kiosk_survey && !isNative}" form-model="formModel" field="formModel._fields[question]" glide-form="getGlideForm()" ng-show="checkQuestionVisibility(isMobile, formModel, question)" is-mobile="isMobile" is-native="isNative"></sp-assessment-form-field><sp-assessment-add-info field="formModel._fields[question]" ng-if="formModel._fields[question].allow_add_info" is-mobile="isMobile" is-native="isNative"></sp-assessment-add-info></div></div><div class="text-center padder-b" ng-if="isNative"><span aria-hidden="true">{{currentPage + 1}}/{{pages.length}}</span><span class="sr-only">Page {{currentPage + 1}} of {{pages.length}}</span></div><sp-assessment-nav-buttons ng-if="(!formModel.is_kiosk_survey || isMobile) && !isNative"></sp-assessment-nav-buttons></div></div></script><script id="sp_assessment_model.xml" type="text/ng-template"><div><sp-assessment-layout form-model="formModel"></sp-assessment-layout><div ng-init="execItemScripts()"></div></div></script><script id="sp_assessment_form_field.xml" type="text/ng-template"><div class="sp-asmt-auto-focus"><div ng-if="c.renderSPFormField(field)" ng-class="{'survey-question': !isMobile && !formModel.is_kiosk_survey}"><sp-form-field form-model="formModel" field="field" glide-form="getGlideForm()"></sp-form-field></div><div ng-if="!c.renderSPFormField(field)" class="form-group" ng-class="{'survey-question': !isMobile && !formModel.is_kiosk_survey}"><div class="wrap-label-text" ng-if="::c.showLabel(field)" ng-class="{'m-b-sm': isNative}"><label class="field-label label-override" for="sp_formfield_{{::field.name}}"><span class="field-decorations"><span ng-show="field.mandatory" style="padding-right: .25em" class="fa fa-asterisk mandatory" ng-class="{'mandatory-filled': field.mandatory_filled()}" title="Required" aria-label="{{field.mandatory_filled()? 'Required Filled ' : 'Required '}}" role="img"></span></span><span ng-attr-title="{{::accessible ? undefined : field.hint}}" data-placement="right" data-toggle="tooltip">{{field.label}}</span></label></div><sp-assessment-details ng-if="::field.details && (isMobile || field.type != 'template')" html-details="field.details" label="field.label" padding-required="true" field-id="field.sys_id" clamp-line="6"></sp-assessment-details><span class="type-{{::field.type}} field-actual" ng-switch="::field.type" ng-class="{'state-mandatory': field.mandatory, 'state-readonly': field.read_only, 'state-hidden': field.hidden, 'has-error': field.isInvalid}"><sp-assessment-checkbox-group ng-switch-when="multiplecheckbox" field="field" sn-change="fieldValueChanged(newValue)" id="sp_formfield_{{::field.name }}"></sp-assessment-checkbox-group><sp-assessment-attachment ng-switch-when="attachment" field="field" sn-change="fieldValueChanged(newValue)" id="sp_formfield_{{::field.name }}" allowed-file-size="formModel.sys_properties.allowedFileSize" allowed-file-extensions="formModel.sys_properties.allowedFileExtensions"></sp-assessment-attachment><sp-assessment-image-scale ng-switch-when="imagescale" field="field" sn-change="fieldValueChanged(newValue)" id="sp_formfield_{{::field.name }}" is-mobile="isMobile" is-kiosk-survey="formModel.is_kiosk_survey" is-native="isNative"></sp-assessment-image-scale><span ng-switch-when="template"><sp-assessment-template ng-if="field.template.firstQuestion && !isMobile" field="field" template-group="formModel.template_groups[field.template_group]" fields="templateGroupFields" glide-form="getGlideForm()" id="sp_formfield_{{::field.name }}"></sp-assessment-template><sp-assessment-image-scale ng-if="field.template.allow_image && isMobile" field="field" sn-change="fieldValueChanged(newValue)" id="sp_formfield_{{::field.name }}" is-mobile="isMobile" is-native="isNative"></sp-assessment-image-scale><sp-assessment-mobile-field ng-if="!field.template.allow_image && isMobile"></sp-assessment-mobile-field></span><sp-assessment-number class="question-width" ng-switch-when="number" field="field" sn-change="fieldValueChanged(newValue)" id="sp_formfield_{{::field.name }}" is-mobile="isMobile" is-native="isNative"></sp-assessment-number><sp-assessment-ranking ng-switch-when="ranking" field="field" sn-change="fieldValueChanged(newValue)" id="sp_formfield_{{::field.name }}" is-native="isNative"></sp-assessment-ranking><sp-assessment-mobile-field class="question-width" ng-switch-when="numericscale" id="sp_formfield_{{::field.name }}"></sp-assessment-mobile-field><sp-assessment-mobile-field class="question-width" ng-switch-when="multiple_choice" id="sp_formfield_{{::field.name }}"></sp-assessment-mobile-field><div ng-switch-when="signature" ng-class="{'type-boolean' : field.signType == 'checkbox'}"><label ng-style="field.signType == 'checkbox' && (!isNative && {'display':'inline-flex'}) || {'display':'inline'}" ng-class="{'no-padder' : isNative}" for="sp_formfield_{{::field.name}}"><input ng-if="field.signType == 'checkbox'" type="checkbox" ng-model="field.value" value="field.value" id="sp_formfield_{{::field.name }}" ng-change="stagedValueChange()" ng-disabled="{{field.isReadonly()}}" aria-required="{{field.mandatory}}"></input><span ng-class="{'boolean-control' : field.signType == 'checkbox'}"><span ng-show="field.signType == 'checkbox'" class="fa fa-asterisk mandatory m-r-xs" ng-class="{'mandatory-filled': field.value}" title="Required" role="img" aria-hidden="true"></span><span ng-if="field.htmlLabel" id="{{::field.sys_id}}_label" ng-bind-html="field.htmlLabel" style="display:inline-block; word-break: break-word"></span></span></label><div ng-if="field.signType == 'full_name'"><sp-form-field form-model="formModel" field="field" glide-form="getGlideForm()"></sp-form-field></div></div></span></div></div></script><script id="sp_assessment_nav_buttons.xml" type="text/ng-template"><div style="width:100%;" ng-class="{'container-fluid': !isMobile, 'asmt-sticky-buttons': formModel.actions_footer}" ng-attr-style="{{hasPagination && 'margin-top: 3.2rem;'}}"><div style="overflow: hidden;" class="row asmt-padding-t-xxxl panel-top-border" ng-if="!isMobile"><div class="m-b-xs col-sm-5"><button class="btn btn-default hidden-xs" ng-disabled="isSavingOrSubmitting()" ng-if="!formModel.hide_cancel" ng-show="currentPage == 0" ng-click="validatePageAndSave('cancel')">Cancel</button><button class="btn btn-default hidden-xs" ng-disabled="isSavingOrSubmitting()" ng-click="navigatePage('previous')" ng-show="currentPage != 0 && hasPagination">Previous</button></div><div class="m-t-sm col-sm-2 text-center hidden-xs"><span aria-hidden="true">{{currentPage + 1}}/{{pages.length}}</span><span class="sr-only">Page {{currentPage + 1}} of {{pages.length}}</span></div><div class="m-b-xs col-sm-5 flex-row justify-end"><button ng-disabled="isSavingOrSubmitting()" ng-if="!formModel.is_page_public && currentPage == pages.length-1 && !formModel.hide_save" class="btn btn-default hidden-xs asmt-margin-r-md" ng-click="validatePageAndSave('save')">{{ currentAction == 'save' ? controlMessages['Saving...'] : controlMessages['Save'] }}</button><button ng-disabled="isSavingOrSubmitting()" class="btn btn-primary hidden-xs" ng-click="validatePageAndSave('next')" ng-show="currentPage != pages.length - 1 && hasPagination">Next</button><button ng-disabled="isSavingOrSubmitting()" class="btn btn-primary hidden-xs" ng-click="validatePageAndSave('submit')" ng-show="currentPage == pages.length-1">{{ currentAction == 'submit' ? controlMessages['Submitting...'] : controlMessages['Submit'] }}</button></div></div><div class="visible-xs" style="overflow:hidden;" ng-class="{'asmt-border-top': hasPagination}"><div class="text-center" style="padding:24px 0px"><span aria-hidden="true">{{currentPage + 1}}/{{pages.length}}</span><span class="sr-only">Page {{currentPage + 1}} of {{pages.length}}}</span></div><button ng-disabled="isSavingOrSubmitting()" class="btn btn-default" style="float:left;width:48%" ng-click="navigatePage('previous')" ng-show="currentPage != 0 && hasPagination">Previous</button><button ng-disabled="isSavingOrSubmitting()" class="btn btn-primary" style="float:right;width:48%" ng-click="validatePageAndSave('next')" ng-show="currentPage != pages.length - 1 && hasPagination">Next</button><button ng-disabled="isSavingOrSubmitting()" class="btn btn-primary" style="float:right;width:48%" ng-click="validatePageAndSave('submit')" ng-show="currentPage == pages.length-1 && !formModel.readonly_form">{{ currentAction == 'submit' ? controlMessages['Submitting...'] : controlMessages['Submit'] }}</button></div></div></script><script id="sp_assessment_progressbar.xml" type="text/ng-template"><div class="m-b-lg" style="margin-top:12px"><uib-progressbar title="{{progress}}" class="assessment-progress inline m-b-none m-r" style="width:100%" value="progress"></uib-progressbar><div id="{{progress}}" aria-hidden="true">{{progressText}}</div></div></script><script id="sp_assessment_mobile_field.xml" type="text/ng-template"><fieldset><legend class="sr-only"><span ng-if="field.isMandatory() && !field.mandatory_filled()">Required -</span><span ng-if="field.isMandatory() && field.mandatory_filled()">Required Filled -</span><span>{{field.label}}</span></legend><div ng-repeat="c in field.choices track by $index" class="wrapper-xs" ng-class="{'m-l' : isNative}"><button class="btn btn-block" elem-id="sp-asmt-mobile-{{::c.sys_id}}" ng-click="fieldValueChanged(c.value)" aria-pressed="{{c.value == field.value}}" ng-class="{'btn-primary' : field.value == c.value, 'btn-default' : field.value != c.value, 'asmt-primary-btn-disabled': field.isReadonly() && c.value == field.value}" ng-disabled="field.isReadonly()"><span style="white-space: normal">{{c.label}}</span></button></div></fieldset></script><script id="sp_assessment_image_scale.xml" type="text/ng-template"><div><fieldset><legend class="sr-only"><span ng-if="field.isMandatory() && !field.mandatory_filled()">Required -</span><span ng-if="field.isMandatory() && field.mandatory_filled()">Required Filled -</span><span>{{field.label}}</span></legend><div ng-if="!isMobile" style="display:flex; flex-wrap:wrap;" class="row" ng-class="{single_question_survey_image: isKioskSurvey}" role="radiogroup"><div ng-repeat="c in field.choices track by $index" class="sp-asmt-auto-focus col-xs-6 col-sm-2 text-center asmt-img-scale img-scale-{{::field.sys_id}} full-md-width" ng-attr-style="{{field.isReadonly() ? 'cursor: default; margin: 2rem;' : 'cursor: pointer; margin: 2rem;'}}" role="radio" ng-keydown="selectOption($event, $index)" aria-checked="{{field.value == c.value}}" aria-label="{{::c.label}}" ng-attr-tabindex="{{field.isReadonly() ? null : getTabIndex($index, c)}}" ng-click="field.isReadonly() || chooseOption($event, $index)" ng-class="{'col-sm-2': !isKioskSurvey, 'col-sm-3': isKioskSurvey, 'col-md-2': isKioskSurvey}"><label ng-if="!!c.selected_image"><img ng-if="field.unselected_image_all_present" src="{{c.value == field.value ? c.selected_image : c.unselected_image}}?t=small" role="presentation" alt="" class="asmt-img-size m-b-sm m-t-sm" ng-style="{'opacity': initialOpacity ? initialOpacity : c.opacity}" ng-click="field.isReadonly() || chooseOption($event, $index)" ng-class="{'img_size' : !isKioskSurvey, 'disabled-pointer' : field.isReadonly(), 'cursor-pointer' : !field.isReadonly()}" ng-disabled="{{field.isReadonly()}}"></img><img ng-if="!field.unselected_image_all_present" src="{{c.selected_image }}?t=small" role="presentation" alt="" class="asmt-img-size m-b-sm m-t-sm" ng-style="{'opacity': initialOpacity ? initialOpacity : c.opacity}" ng-click="field.isReadonly() || chooseOption($event, $index)" ng-class="{'img_size' : !isKioskSurvey, 'disabled-pointer' : field.isReadonly(), 'cursor-pointer' : !field.isReadonly()}" ng-disabled="{{field.isReadonly()}}"></img><span style="overflow: hidden; white-space: normal; word-wrap: break-word;" class="btn btn-default btn-block " ng-class=" { 'btn-primary': c.value == field.value, 'asmt-primary-btn-disabled': field.isReadonly() && c.value == field.value}" ng-if="!isKioskSurvey" ng-click="selectChoice($event, c)" title="{{::c.label}}" ng-disabled="{{field.isReadonly()}}">{{::c.label}}</span><span style="overflow: hidden; white-space: normal; word-wrap: break-word;font-weight:bold" class="btn btn-block" ng-click="field.isReadonly() || selectChoice($event, c)" ng-if="c.value == field.value && isKioskSurvey" ng-disabled="{{field.isReadonly()}}" title="{{::c.label}}">{{::c.label}}</span></label><label ng-if="!c.selected_image" style="margin: auto;"><div ng-click="field.isReadonly() || chooseOption($event, $index)" class="m-b-sm text-overflow-ellipsis v-middle text-center asmt-image-scale-img-not-present asmt-img-size" ng-class="{'disabled-pointer' : field.isReadonly()}" title="{{::c.label}}" ng-disabled="{{field.isReadonly()}}">{{::c.label}}</div><span style="overflow: hidden; white-space: normal; word-wrap: break-word;" class="btn btn-default btn-block " ng-class=" { 'btn-primary': c.value == field.value, 'asmt-primary-btn-disabled': field.isReadonly() && c.value == field.value}" ng-if="!isKioskSurvey" ng-click="selectChoice($event, c)" title="{{::c.label}}" ng-disabled="{{field.isReadonly()}}">{{::c.label}}</span><span style="overflow: hidden; white-space: normal; word-wrap: break-word;font-weight:bold" class="btn btn-block" ng-click="field.isReadonly() || selectChoice($event, c)" ng-if="c.value == field.value && isKioskSurvey" ng-disabled="{{field.isReadonly()}}" title="{{::c.label}}">{{::c.label}}</span></label></div></div><div ng-if="isMobile" class="wrapper-xs row"><div class="col-xs-12 wrapper-sm text-center"><div ng-if="mobileChoice.selected_image"><img src="{{mobileChoice.selected_image}}?t=small" title="{{mobileChoice.label}}" alt="{{mobileChoice.label}}" class="asmt-img-size"></img></div><div ng-if="!mobileChoice.selected_image"><div title="{{::mobileChoice.label}}" class="m-b-sm text-overflow-ellipsis v-middle text-center asmt-image-scale-img-not-present asmt-img-size">{{mobileChoice.label}}</div></div></div><div ng-repeat="c in field.choices track by $index" class="wrapper-xs text-center" ng-class="{'m-l' : isNative}"><button class="btn btn-block" ng-class="{'btn-default' : c.value !== field.value, 'btn-primary': c.value == field.value,'asmt-primary-btn-disabled': field.isReadonly() && c.value == field.value }" aria-pressed="{{c.value == field.value}}" ng-click="field.isReadonly() || selectChoice($event, c);" title="{{::c.label}}" ng-disabled="{{field.isReadonly()}}"><span style="white-space: normal">{{::c.label}}</span></button></div></div></fieldset></div></script><script id="sp_assessment_number.xml" type="text/ng-template"><div ng-class="{'m-l' : isNative}"><div class="inline pad-right"><input id="asmt_number_{{::field.sys_id}}" aria-label="{{field.label}} range {{field.minValue}} to {{field.maxValue}}" name="{{::field.name}}" aria-required="{{field.isMandatory()}}" aria-invalid="{{field.isInvalid}}" class="form-control m-r-xs inline padder-xs" ng-class="{'text-center': isMobile}" ng-model="field.stagedValue" ng-change="validate()" style="width:75px;" ng-disabled="field.isReadonly()"></input><span ng-if="::field.showPercentage">%</span></div><div class="inline"><span>Range: {{::field.minValue}} - {{::field.maxValue}}</span></div><div><span class="asmt-inline-info"><span ng-if="field.isInvalidInput" class="asmt-error" role="alert">{{translations['The value is not valid or it is out of range.']}}</span><span ng-if="field.isConverted && !field.isInvalidInput" role="alert">{{translations['The entered value has been changed to an integer.']}}</span></span></div></div></script><script id="sp_assessment_checkbox_group.xml" type="text/ng-template"><fieldset><legend class="sr-only" id="sp_asmt_grp_checkbox_{{::field.sys_id}}"><span class="field-decorations"><span ng-if="field.isMandatory() && !field.mandatory_filled()">Required -</span><span ng-if="field.isMandatory() && field.mandatory_filled()">Required Filled -</span>{{::field.label}}</span></legend><div ng-repeat="c in field.choices track by $index" role="group" aria-labelledby="sp_asmt_grp_checkbox_{{::field.sys_id}}" class="type-boolean"><label><input id="checkbox-input-{{::c.sys_id}}" aria-label="{{::c.label}}" type="checkbox" name="{{::c.name}}" ng-change="setFieldValue(c)" aria-checked="{{c.selected}}" ng-model="c.selected" ng-disabled="{{field.isReadonly()}}"></input><span class="boolean-control"><span>{{::c.label}}</span></span></label></div></fieldset></script><script id="sp_assessment_details.xml" type="text/ng-template"><div ng-class="{'padding-details': paddingRequired}"><div style="overflow-wrap: break-word;" id="sp_assessment_details_{{::fieldId}}" class="show-more-box" ng-class="{'details-text': showMore, 'no-padder': paddingRequired, 'm-l' : isNative && !isCategory, 'padder-l-none padder-r-none': isMobile}" ng-bind-html="trustedHTML(htmlDetails)"></div><div class="sp-asmt-auto-focus" ng-if="showButton"><button ng-click="showMoreClicked();" aria-label="{{showMore ? showMoreMsg : showLessMsg}}" aria-expanded="{{!showMore}}" class="btn show-more-control" ng-class="{'btn-sm show-more-control-color': !isNative, 'btn-default native-mobile-show-more-control': isNative}" ng-attr-style="{{paddingRequired && 'margin: .2rem auto 2.2rem auto !important'}}"><span>{{showMore ? controlMessages['Show more'] : controlMessages['Show less']}}</span></button></div></div></script><script id="sp_assessment_add_info.xml" type="text/ng-template"><div ng-class="{'adjust-width': !isMobile, 'm': isNative}"><span class="question-label">{{::field.add_info_label}}</span><textarea class="form-control asmt-margin-t-sm asmt-margin-b-sm" rows="4" ng-attr-style="{{field.isReadonly() ? 'resize: none' : 'resize: vertical'}}" name="{{::field.add_info_name}}" aria-label="{{::field.add_info_label + ' for ' + field.label}}" ng-model="field.add_info" autocomplete="off" ng-disabled="field.isReadonly()"></textarea></div></script><script id="sp_assessment_template.xml" type="text/ng-template"><div><table class="table table-responsive" role="presentation"><thead><tr><td ng-style="{width: questionWidth + '%'}"></td><td class="text-center" ng-style="{width: (100 - questionWidth) + '%'}"><div class="inline" style="overflow-wrap:break-word;font-size:1.4rem;" ng-repeat="c in field.choices track by $index" ng-style="{width: choiceWidth + '%'}">{{::c.label}}</div></td></tr></thead><tbody><tr ng-repeat="qid in templateGroup.questions track by $index" ng-class="{'has-error': _field.isInvalid}" ng-init="_field = fields[qid]"><td ng-style="{width: questionWidth + '%'}" class="padder-l-none padder-t-md" ng-if="_field.visible"><span><span class="field-decorations"><span ng-show="_field.mandatory" class="fa fa-asterisk mandatory" aria-hidden="true" ng-class="{'mandatory-filled': _field.mandatory_filled()}" style="padding-right: .25em"></span></span><span class="field-label" ng-attr-title="{{::accessible ? undefined : field.hint}}" data-placement="right" data-toggle="tooltip">{{::_field.label}}</span><sp-assessment-details ng-if="::_field.details" html-details="_field.details" padding-required="true" label="_field.label" field-id="field.sys_id" clamp-line="4" class="padding-child"></sp-assessment-details></span></td><td class="text-center radio padder-t-md" ng-style="{width: (100 - questionWidth) + '%'}" style="display: table-cell;" ng-if="_field.visible"><fieldset class="radio-control m-l-none"><legend class="sr-only"><span ng-if="_field.isMandatory() && !_field.mandatory_filled()">Required -</span><span ng-if="_field.isMandatory() && _field.mandatory_filled()">Required Filled -</span>{{::_field.label}}</legend><div class="inline" ng-style="{width: choiceWidth + '%'}" ng-repeat="c in _field.choices track by $index"><label ng-if="::!_field.template.allow_image || !_field.selected_image_all_present"><input name="radio-button-{{qid}}" class="template-radio-choice" aria-label="{{::c.label}}" aria-checked="{{_field.value == c.value}}" ng-checked="_field.value == c.value" ng-click="selectChoice(_field.name, c.value)" type="radio" value="{{::c.value}}" ng-disabled="field.isReadonly()"></input><span class="m-l-none m-r-none"><div class="sr-only">{{::c.label}}</div></span></label><span ng-if="_field.template.allow_image && _field.selected_image_all_present"><label><span class="sr-only">{{c.label}}</span><input class="fade" name="radio-button-{{qid}}" style="position: absolute;" aria-checked="{{_field.value == c.value}}" ng-checked="_field.value == c.value" ng-click="selectChoice(_field.name, c.value)" type="radio" value="{{::c.value}}" ng-disabled="field.isReadonly()"></input><div class="asmt-img-choice" ng-if="!_field.unselected_image_all_present" ng-class="{'disabled-pointer' : _field.isReadonly()}"><img src="{{c.selected_image}}?t=small" ng-style="{'opacity' : (c.value == _field.value) ? '1' : '0.5'}" class="asmt-img-size"></img></div><div class="asmt-img-choice" ng-if="_field.unselected_image_all_present" ng-class="{'disabled-pointer' : _field.isReadonly()}"><img src="{{(c.value == _field.value) ? c.selected_image : c.unselected_image}}?t=small" class="asmt-img-size"></img></div></label></span></div></fieldset></td></tr></tbody></table></div></script><script id="sp_assessment_attachment.xml" type="text/ng-template"><div><div class="question-width" ng-class="{'m-l m-b-xs' : isNative}"><div ng-if="field.attachments.length" class="file-list-wrap"><ul class="list-group m-b-none"><li class="list-group-item" ng-repeat="attachment in field.attachments"><ng-include src="getAttachmentTemplate()" onload="attachmentHandler.manageFocus()"></ng-include></li></ul></div><div ng-show="errorMessages.length"><div ng-repeat="error in errorMessages" class="wrapper-xs r m-t-xs bg-danger" ng-if="$last">{{error.msg}}</div></div></div><input ng-show="false" type="file" ng-file-select="onAttachmentSelect($files)" multiple="true"></input><button ng-click="isNative ? showAttachOptions() : openAttachmentSelector($event)" type="button" id="sp_asmt_formfield_{{::field.name}}" style="display:flex; align-items: center" class="btn btn-primary" ng-class="{'m-t-sm' : !isNative, 'm-l' : isNative}" aria-label="Upload Attachment for {{field.label}} " ng-disabled="field.isReadonly()"><sn-glyph char="upload" class="m-r-xs"></sn-glyph><small>{{field.isMandatory() && !field.mandatory_filled() ? "Required - Upload" : "Upload"}}</small></button></div></script><script id="sp_assessment_ranking.xml" type="text/ng-template"><div class="container-fluid"><div class="row"><div class="col-xs-12 col-sm-6"><fieldset><legend class="sr-only"><span ng-if="field.isMandatory() && !field.mandatory_filled()">Required -</span><span ng-if="field.isMandatory() && field.mandatory_filled()">Required Filled -</span>{{::field.label}}</legend><input class="select2-offscreen" tabindex="-1" aria-hidden="true" ng-focus="setFocusToSelect(0)" name="asmt_ranking_{{::field.sys_id}}"></input><ul class="asmt-ranking-list item-list-style-type-none" ng-class="{'has-error': field.isInvalid, 'm-l' : isNative}"><li class="row" ng-repeat="c in field.choices track by $index"><div class="col-sm-3" ng-class="{'col-xs-4 asmt-padding-xss' : isNative, 'col-xs-4 wrapper-xs' : !isNative}"><select id="{{::c.sys_id}}" name="{{c.name}}" aria-label="{{::c.label}}" ng-change="onSelectChange(c)" autocomplete="off" class="form-control wrapper-xs" ng-model="c.value" ng-disabled="field.isReadonly()"><option value="-1" ng-selected="c.value == -1">--None--</option><option ng-repeat="i in field.choices track by $index" value="{{$index + 1}}" ng-selected="$index + 1 == c.value">{{$index + 1}}</option></select></div><div class="col-sm-8 break-word" aria-hidden="true" ng-class="{'padder-v-xs col-xs-6' : isNative, 'wrapper-sm col-xs-6' : !isNative}"><span id="label_{{::c.sys_id}}">{{c.label}}</span></div><div class="col-xs-2 col-sm-1" aria-hidden="true" ng-class="{'padder-v-xs ' : isNative, 'wrapper-sm' : !isNative}" ng-attr-style="{{field.isReadonly() ? 'opacity: .5' : undefined}}"><span class="fa fa-bars pull-right wrapper-xs"></span></div></li></ul></fieldset></div></div></div></script><script type="text/ng-template" id="sp-modal.html"><div class="modal-header" ng-style="options.headerStyle"><button type="button" class="close pull-right" ng-click="$dismiss()" title="Close modal" data-toggle="tooltip" data-placement="bottom" aria-label="Close modal" autofocus="autofocus">×</button><h1 class="modal-title h4" ng-bind-html="options.title" id="modal-title"></h1></div><div class="modal-body" ng-keyup="keyPress($event.keyCode)"><p ng-if="options.message" ng-bind-html="options.message"></p><p ng-if="options.errorMessage" class="alert alert-danger ng-binding ng-scope" role="alert" ng-bind-html="options.errorMessage"></p><div ng-if="options.widget"><sp-widget widget="options.widget"></sp-widget></div><div ng-if="options.input"><form name="form.xpForm" ng-if="options.input" ng-submit="submit()"><div class="form-group"><label for="xpInput" ng-if="options.label"><span class="field-decorations"><span class="fa fa-asterisk mandatory sp-field-label-padding" title="Required"></span>{{options.label}}</span></label><input id="xpInput" type="text" class="form-control" ng-model="input.value" required="true" ng-change="changed=true" ng-blur="clearFocusListCache()" ng-if="!options.values || options.values.length === 0" autocomplete="off" aria-invalid="{{(changed == true && form.xpForm.$invalid) || false}}"></input><div class="input-group" ng-if="options.values"><input id="xpInput" type="text" class="form-control" ng-model="input.value" required="true" ng-change="changed=true" ng-blur="clearFocusListCache()" autocomplete="off" aria-invalid="{{(changed == true && form.xpForm.$invalid) || false}}"></input><div class="input-group-btn" dropdown="true"><button type="button" class="btn btn-default dropdown-toggle" dropdown-toggle="true" data-toggle="dropdown"><span class="caret"></span></button><ul class="dropdown-menu pull-right"><li ng-repeat="value in options.values"><a href="" ng-click="input.name = value">{{value}}</a></li></ul></div></div></div></form></div></div><div class="modal-footer" ng-style="options.footerStyle"><button ng-repeat="button in options.buttons track by button.label" sp-focus-if="button.focus" ng-disabled="button.primary && options.input && form.xpForm.$invalid" class="btn btn-default {{button.class}}" ng-class="{'btn-primary':button.primary}" ng-click="buttonClicked(button)">{{button.label}}</button></div></script><style>.modal .panel {
margin-bottom: 0;
}
.sp-form-modal-body {
padding: 0px;
}
.sp-form-modal-body .panel-heading {
padding-right: 4rem;
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -webkit-flex;
display: flex;
}
.sp-form-modal-body .panel-title {
width: calc(95% - 20px);
}
@media all and (max-width: 549px) {
.sp-form-modal-body .panel-title {
width: calc(85% - 20px);
}
}
.sp-form-modal-body .sp-form-modal-close-button {
position: absolute;
right: 0px;
top: 0px;
z-index: 1;
border-top-right-radius: 0.3rem;
padding: 1.4rem 1.3rem 1.5rem 1.3rem;
}
/* RTL overrides */
[dir="rtl"].rtl .sp-form-modal-body .panel-heading {
padding-left: 4rem;
padding-right: 1.5rem;
}
[dir="rtl"].rtl .sp-form-modal-body .sp-form-modal-close-button {
left: 0;
right: auto;
border-top-left-radius: 0.3rem;
}</style><script type="text/ng-template" id="sp_form_modal"><div class="modal-body sp-form-modal-body"><sp-widget widget="item.form"></sp-widget></div></script><script type="text/ng-template" id="sp_modal"><div class="modal-header"><button type="button" class="close" ng-click="cancel()">X</button><h4>This is the title</h4></div><div class="modal-body">{{item.name}}</div><div class="modal-footer"><button class="btn btn-default" ng-click="cancel()">Cancel</button><button class="btn btn-primary" ng-click="ok()">OK</button></div></script><script type="text/ng-template" id="sp_attachment_picker.html"><div class="sn-file-drop-zone" id="sn-file-drop-zone" multiple="true" ng-paste="paste($event)" ng-file-drop="dropFiles($files)" stop-propagation="true" ng-file-drag-over-class="dragover"><div class="sn-file-drop-zone__info sn-file-drop-zone__info--default" ng-transclude=""><div class="sn-file-drop-zone__cloud-icon fa fa-cloud-upload"></div><div class="sn-file-drop-zone__drag-info" spellcheck="false"><input type="file" style="display: none" multiple="true" ng-file-select="selectFiles($files)" class="sp-attachments-input"></input><span sp-readonly-contenteditable="true" aria-multiline="false" class="sn-file-drop-zone__file-button sp-attachment-add-btn btn-link" ng-click="pickFile($event)" aria-role="button" aria-describedby="sn-file-drop-zone" aria-readonly="true">{{i18Strings['Choose a file']}}</span>{{i18Strings['or drag it here.']}}</div><div ng-if="isPasteFilesSupported" class="sn-file-drop-zone__clipboard-info">{{i18Strings["Copy and paste clipboard files here."]}}</div></div><div ng-if="disablePickerOverlay != 'true'" class="sn-file-drop-zone__info sn-file-drop-zone__info--dragover"><div class="sn-file-drop-zone__add-icon icon-add"></div></div></div></script><script type="text/ng-template" id="sp_attachment_modal.html"><div class="modal-attachment-picker"><div class="modal-attachment-picker__header"><h1 class="attachment-header-title modal-attachment-picker__header-title h4" id="attachment-header-title">Add attachments</h1><button type="button" class="close pull-right" ng-click="$dismiss()" title="Close modal" data-toggle="tooltip" data-placement="bottom" aria-label="Close modal" autofocus="autofocus">×</button></div><div class="attachment-body modal-attachment-picker__body"><sp-attachment-picker on-file-pick="fileSelectHandler($files)" ng-show="!loadingIndicator"></sp-attachment-picker><div class="modal-attachment-picker__progress-info" ng-show="loadingIndicator"><progress class="modal-attachment-picker__progress"></progress><label>Uploading</label></div><div ng-if="supportedExtensions !== ''" ng-show="!loadingIndicator" class="modal-attachment-picker__supported"><span>Supported:</span><span class="break-all">{{supportedExtensions}}</span></div></div></div></script><script type="text/ng-template" id="angular.do?sysparm_type=get_partial&name=sn_avatar.xml"><div class="avatar-container" ng-class="avatarType()" title="{{ avatartooltip() }}" tabindex="-1"><div class="avatar soloAvatar top" ng-if="(users.length > 1 && !groupAvatar)" context-menu="contextOptions"><div class="sub-avatar" ng-style="getBackgroundStyle(users[1])"><span ng-if="!users[1].avatar">{{ users[1].initials }}</span></div></div><div class="avatar soloAvatar bottom" context-menu="contextOptions"><div class="sub-avatar" ng-style="getBackgroundStyle(users[0] || primary)"><span ng-if="(!users[0].avatar && !groupAvatar)">{{ users[0].initials }}</span></div></div><div class="avatar soloAvatar top" ng-if="users.length > 2 && !groupAvatar" context-menu="contextOptions"><div class="sub-avatar" ng-style="getBackgroundStyle(users[2])"><span ng-if="!users[2].avatar">{{ users[2].initials }}</span></div></div><div class="avatar soloAvatar top" ng-if="users.length > 3 && !groupAvatar" context-menu="contextOptions"><div class="sub-avatar" ng-style="getBackgroundStyle(users[3])"><span ng-if="!users[3].avatar">{{ users[3].initials }}</span></div></div><span class="inner-details" ng-transclude=""></span><sn-presence ng-if="::presenceEnabled" user="(users[0].userID || users[0].document)" on-presence-change="onPresenceChange(status)"></sn-presence></div></script><script type="text/ng-template" id="angular.do?sysparm_type=get_partial&name=sp_tinymce_editor.xml"><div><div ng-show="!field.isReadonly() && !attrs.disabled"><span ng-if="::accessibilityEnabled" role="note" data-toggle="tooltip" tabindex="0" class="fa fa-question-circle" aria-label="In the editor, press Alt+F10 to focus on the toolbar. Mac press Option+F10 to focus on the toolbar. Press escape to return to the editor." title="In the editor, press Alt+F10 to focus on the toolbar. Mac press Option+F10 to focus on the toolbar. Press escape to return to the editor."></span><textarea ui-tinymce="tinyMCEOptions" name="{{attrs.name}}" label="{{attrs.name}}" ng-model="model" ng-model-options="options" ng-change="onChangeModel()" rows="10" id="{{textareaId}}"></textarea><input ng-file-select="attachFiles({files: $files})" ng-click="$event.stopPropagation();" tabindex="-1" aria-hidden="true" multiple="" accept="image/jpeg,image/png,image/bmp,image/x-windows-bmp,image/gif,image/x-icon,image/svg+xml" type="file" style="display: none;"></input></div><div ng-if="field.isReadonly() || attrs.disabled"><div class="tinymce-html-content" ng-bind-html="::trustedHTML(model)"></div></div></div></script><now-message key="Created" value="Created"></now-message><now-message key="track requests from 'My Requests' in the navbar or click" value="track requests from My Requests in the navbar or click"></now-message><now-message key="here to view" value="here to view"></now-message><now-message key="Submitted" value="Submitted"></now-message><now-message key="after" value="after"></now-message><now-message key="at or after" value="at or after"></now-message><now-message key="is anything" value="is anything"></now-message><now-message key="before" value="before"></now-message><now-message key="at or before" value="at or before"></now-message><now-message key="is empty" value="is empty"></now-message><now-message key="is empty string" value="is empty string"></now-message><now-message key="ends with" value="ends with"></now-message><now-message key="is" value="is"></now-message><now-message key="greater than" value="greater than"></now-message><now-message key="greater than or is" value="greater than or is"></now-message><now-message key="is a" value="is a"></now-message><now-message key="contains" value="contains"></now-message><now-message key="less than" value="less than"></now-message><now-message key="less than or is" value="less than or is"></now-message><now-message key="is not empty" value="is not empty"></now-message><now-message key="is not" value="is not"></now-message><now-message key="does not contain" value="does not contain"></now-message><now-message key="not on" value="not on"></now-message><now-message key="on" value="on"></now-message><now-message key="starts with" value="starts with"></now-message><now-message key="Open" value="Open"></now-message><now-message key="Knowledge" value="Knowledge"></now-message><now-message key="Catalog" value="Catalog"></now-message><now-message key="Catalogs" value="Catalogs"></now-message><now-message key="Fetched" value="Fetched"></now-message><now-message key="additional {0}" value="additional {0}"></now-message><now-message key="additional items" value="additional items"></now-message><now-message key="Requests" value="Requests"></now-message><now-message key="All" value="All"></now-message><now-message key="Search" value="Search"></now-message><now-message key="Searching..." value="Searching..."></now-message><now-message key="No matches found" value="No matches found"></now-message><now-message key="Loading more results..." value="Loading more results..."></now-message><now-message key="Price" value="Price"></now-message><now-message key="Recurring price" value="Recurring price"></now-message><now-message key="Submit" value="Submit"></now-message><now-message key="price_subtract" value="subtract"></now-message><now-message key="price_add" value="-add"></now-message><now-message key="has added" value="has added"></now-message><now-message key="will add" value="will add"></now-message><now-message key="has added {0}" value="has added {0}"></now-message><now-message key="will add {0}" value="will add {0}"></now-message><now-message key="has added {0} | has added {1}" value="has added {0} | has added {1}"></now-message><now-message key="will add {0} | will add {1}" value="will add {0} | will add {1}"></now-message><now-message key="add {0} | add {1}" value="add {0} | add {1}"></now-message><now-message key="add {0} | subtract {1}" value="add {0} | subtract {1}"></now-message><now-message key="subtract {0} | add {1}" value="subtract {0} | add {1}"></now-message><now-message key="add {0}" value="add {0}"></now-message><now-message key="subtract {0} | subtract {1}" value="subtract {0} | subtract {1}"></now-message><now-message key="subtract {0}" value="subtract {0}"></now-message><now-message key="Required - " value="Required - "></now-message><now-message key="There was an error processing your request" value="There was an error processing your request"></now-message><now-message key="Open Performance Analyzer" value="Open Performance Analyzer"></now-message><now-message key="Drag image or click to select" value="Drag image or click to select"></now-message><now-message key="{0} {1} results returned{2}" value="{0} {1} results returned{2}"></now-message><now-message key="{0} {1} result returned{2}" value="{0} {1} result returned{2}"></now-message><now-message key="{0} {1} results returned for the corrected search term {2}" value="{0} {1} results returned for the corrected search term {2}"></now-message><now-message key="{0} {1} result returned for the corrected search term {2}" value="{0} {1} result returned for the corrected search term {2}"></now-message><now-message key="{0} results returned{1}" value="{0} results returned{1}"></now-message><now-message key="{0} result returned{1}" value="{0} result returned{1}"></now-message><now-message key="{0} results returned for the corrected search term {1}" value="{0} results returned for the corrected search term {1}"></now-message><now-message key="{0} result returned for the corrected search term {1}" value="{0} result returned for the corrected search term {1}"></now-message><now-message key="Go to {0} Homepage" value="Go to {0} Homepage"></now-message><now-message key="To preview {0} details go back to preview button" value="To preview {0} details go back to preview button"></now-message><now-message key="A new preview button has been generated before the current element. To preview {0} details go back to preview button" value="A new preview button has been generated before the current element. To preview {0} details go back to preview button"></now-message><now-message key="{0} out of {1} selected" value="{0} out of {1} selected"></now-message><now-message key="Double tap to rate {0} out of {1} star" value="Double tap to rate {0} out of {1} star"></now-message><now-message key="Filtered {0} list showing {1} to {2} of {3} records" value="Filtered {0} list showing {1} to {2} of {3} records"></now-message><now-message key="Unfiltered {0} list showing {1} to {2} of {3} records" value="Unfiltered {0} list showing {1} to {2} of {3} records"></now-message><now-message key="Filtered {0} list showing 0 records" value="Filtered {0} list showing 0 records"></now-message><now-message key="Unfiltered {0} list showing 0 records" value="Unfiltered {0} list showing 0 records"></now-message><now-message key="Search by {0}" value="Search by {0}"></now-message><now-message key="Hours" value="Hours"></now-message><now-message key="Minutes" value="Minutes"></now-message><now-message key="Seconds" value="Seconds"></now-message><now-message key="Days" value="Days"></now-message><now-message key="Instance Options" value="Instance Options"></now-message><now-message key="Instance in Page Editor {0}" value="Instance in Page Editor {0}"></now-message><now-message key="Page in Designer {0}" value="Page in Designer {0}"></now-message><now-message key="Edit Container Background" value="Edit Container Background"></now-message><now-message key="Widget Options Schema" value="Widget Options Schema"></now-message><now-message key="Widget in Form Modal" value="Widget in Form Modal"></now-message><now-message key="Widget in Editor {0}" value="Widget in Editor {0}"></now-message><now-message key="Log to console: {0}" value="Log to console: {0}"></now-message><now-message key="generated in" value="generated in"></now-message><now-message key="Read only - {0}" value="Read only - {0}"></now-message><now-message key="OK" value="OK"></now-message><now-message key="Remove" value="Remove"></now-message><now-message key="Cancel" value="Cancel"></now-message><now-message key="Keywords" value="Keywords"></now-message><now-message key="Save Filter" value="Save Filter"></now-message><now-message key="Add attachments" value="Add attachments"></now-message><now-message key="Lookup using list" value="Lookup using list"></now-message><now-message key="Closing modal page" value="Closing modal page"></now-message><now-message key="Attachment" value="Attachment"></now-message><now-message key="Enable edit mode on attachments" value="Enable edit mode on attachments"></now-message><now-message key="Finish editing attachments" value="Finish editing attachments"></now-message><now-message key="Edit" value="Edit"></now-message><now-message key="Done" value="Done"></now-message><now-message key="Attachments" value="Attachments"></now-message><now-message key="Delete" value="Delete"></now-message><now-message key="Enter date in format" value="Enter date in format"></now-message><now-message key="Date in format" value="Date in format"></now-message><now-message key="Date in format {0}" value="Date in format {0}"></now-message><now-message key="YYYY-MM-DD" value="YYYY-MM-DD"></now-message><now-message key="MM/DD/YY" value="MM/DD/YY"></now-message><now-message key="MM/DD/YYYY" value="MM/DD/YYYY"></now-message><now-message key="MM-DD-YYYY" value="MM-DD-YYYY"></now-message><now-message key="DD/MM/YYYY" value="DD/MM/YYYY"></now-message><now-message key="DD-MM-YYYY" value="DD-MM-YYYY"></now-message><now-message key="DD-MMM-YY" value="DD-MMM-YY"></now-message><now-message key="DD.MM.YYYY" value="DD.MM.YYYY"></now-message><now-message key="HH:mm:ss" value="HH:mm:ss"></now-message><now-message key="HH.mm.ss" value="HH.mm.ss"></now-message><now-message key="hh:mm:ss A" value="hh:mm:ss A"></now-message><now-message key="hh.mm.ss A" value="hh.mm.ss A"></now-message><now-message key="Use format" value="Use format"></now-message><now-message key="Entered date not valid. Enter date in format" value="Entered date not valid. Enter date in format"></now-message><now-message key="Switching to date picker." value="Switching to date picker."></now-message><now-message key="Switching to date time picker." value="Switching to date time picker."></now-message><now-message key="Showing date time picker." value="Showing date time picker."></now-message><now-message key="Showing date picker." value="Showing date picker."></now-message><now-message key="Date time picker is opened." value="Date time picker is opened."></now-message><now-message key="Date picker is opened." value="Date picker is opened."></now-message><now-message key="Date picker is closed." value="Date picker is closed."></now-message><now-message key="Date time picker is closed." value="Date time picker is closed."></now-message><now-message key="Toggle date time picker" value="Toggle date time picker"></now-message><now-message key="Date and time" value="Date and time"></now-message><now-message key="Previous month" value="Previous month"></now-message><now-message key="Previous year" value="Previous year"></now-message><now-message key="Previous decade" value="Previous decade"></now-message><now-message key="Next month" value="Next month"></now-message><now-message key="Next year" value="Next year"></now-message><now-message key="Next decade" value="Next decade"></now-message><now-message key="Toggle month" value="Toggle month"></now-message><now-message key="Toggle year" value="Toggle year"></now-message><now-message key="Toggle decade" value="Toggle decade"></now-message><now-message key="{0} hours. hour picker" value="{0} hours. hour picker"></now-message><now-message key="increment Hours" value="increment Hours"></now-message><now-message key="increment Minutes" value="increment Minutes"></now-message><now-message key="decrement Minutes" value="decrement Minutes"></now-message><now-message key="decrement Hours" value="decrement Hours"></now-message><now-message key="{0} minutes. minute picker" value="{0} minutes. minute picker"></now-message><now-message key="hour picker opened" value="hour picker opened"></now-message><now-message key="minute picker opened" value="minute picker opened"></now-message><now-message key="{0} minutes" value="{0} minutes"></now-message><now-message key="{0} hours" value="{0} hours"></now-message><now-message key="{0} is selected" value="{0} is selected"></now-message><now-message key="Date" value="Date"></now-message><now-message key="picker" value="picker"></now-message><now-message key="Show Calendar for {0}" value="Show Calendar for {0}"></now-message><now-message key="Required" value="Required"></now-message><now-message key="Remove {0} facet filter" value="Remove {0} facet filter"></now-message><now-message key="Error" value="Error"></now-message><now-message key="Close Notification" value="Close Notification"></now-message><now-message key="Close Window" value="Close Window"></now-message><now-message key="File not available" value="The file failed the security scan. We canceled the download for you and let your admin know. You can contact them for more info."></now-message><now-message key="File pending" value="Our servers got busy, and the scan timed out. Sorry about that. Please try again later."></now-message><now-message key="File failed security scan" value="File failed security scan"></now-message><now-message key="Exception when adding attachment: {0}" value="Exception when adding attachment: {0}"></now-message><now-message key="Upload file scan failed" value="Your file {0} failed the security scan. Your system is still safe - we quarantined the file and let your admin know. You can contact your admin for more info."></now-message><now-message key="Also request for" value="Also request for"></now-message><now-message key="Item is unavailable for {0}" value="Item is unavailable for {0}"></now-message><now-message key="Do you want to add a row for {0}" value="Do you want to add a row for {0}"></now-message><now-message key="Request for multiple users" value="Request for multiple users"></now-message><now-message key="Item is unavailable for this user" value="Item is unavailable for this user"></now-message><now-message key="Remove {0} from {1}" value="Remove {0} from {1}"></now-message><now-message key="Uploading" value="Uploading"></now-message><now-message key="Choose a file" value="Choose a file"></now-message><now-message key="or drag it here." value="or drag it here."></now-message><now-message key="Copy and paste clipboard files here." value="Copy and paste clipboard files here."></now-message><now-message key="Upload and Encrypt" value="Upload and Encrypt"></now-message><now-message key="Upload Without Encrypting" value="Upload Without Encrypting"></now-message><now-message key="Encrypt attachment?" value="Encrypt attachment?"></now-message><now-message key="Encrypt attachments?" value="Encrypt attachments?"></now-message><now-message key="Attached by {0} {1}" value="Attached by {0} {1}"></now-message><now-message key="Encrypted" value="Encrypted"></now-message><now-message key="Attachment successfully uploaded" value="Attachment successfully uploaded"></now-message><now-message key="Attachment deleted successfully" value="Attachment deleted successfully"></now-message><now-message key="Attachment renamed successfully" value="Attachment renamed successfully"></now-message><now-message key="Profile picture updated successfully" value="Profile picture updated successfully"></now-message><now-message key="Collapse" value="Collapse"></now-message><now-message key="Expand" value="Expand"></now-message><now-message key="announcement" value="announcement"></now-message><now-message key="announcements" value="announcements"></now-message><now-message key="More information about" value="More information about"></now-message><now-message key="Dismiss" value="Dismiss"></now-message><now-message key="Dismiss announcement" value="Dismiss announcement"></now-message><now-message key="Learn More" value="Learn more"></now-message><now-message key="MORE" value="MORE"></now-message><now-message key="LESS" value="LESS"></now-message><now-message key="Show next, Slide {0} of {1}" value="Show next, Slide {0} of {1}"></now-message><now-message key="Show previous, Slide {0} of {1}" value="Show previous, Slide {0} of {1}"></now-message><now-message key="EXPAND ALL {0}" value="EXPAND ALL {0}"></now-message><now-message key="HIDE ALL" value="HIDE ALL"></now-message><now-message key="Specified username does not match with the username of currently logged in user" value="Specified username does not match with the username of currently logged in user"></now-message><now-message key="Learn more details on this announcement" value="Learn more details on this announcement"></now-message><now-message key="User name or password invalid" value="User name or password invalid"></now-message><now-message key="User name, password or token invalid" value="User name, password or token invalid"></now-message><now-message key="Credentials for Approver and User logged in do not match" value="Credentials for Approver and User logged in do not match"></now-message><now-message key="Additional authentication required, enter your username, password and token to continue." value="Additional authentication required, enter your username, password and token to continue."></now-message><now-message key="Additional authentication is required, enter your usename and password to continue." value="Additional authentication is required, enter your usename and password to continue."></now-message><now-message key="Approver authentication" value="Approver authentication"></now-message><now-message key="Confirmation must match" value="Confirmation must match"></now-message><now-message key="Re-enter" value="Re-enter"></now-message><now-message key="Re-enter `{0}`" value="Re-enter `{0}`"></now-message><now-message key="u_show" value="SHOW"></now-message><now-message key="u_hide" value="HIDE"></now-message><now-message key="The size of the uploaded file cannot exceed {0} MB" value="The size of the uploaded file cannot exceed {0} MB"></now-message><now-message key="The uploaded file type is not permitted; allowed types are {0}" value="The uploaded file type is not permitted; allowed types are {0}"></now-message><now-message key="Invalid value" value="Invalid value"></now-message><now-message key="Save Changes" value="Save changes"></now-message><now-message key="Do you want to save your changes before leaving this page?" value="Do you want to save your changes before leaving this page?"></now-message><now-message key="Discard" value="Discard"></now-message><now-message key="Save" value="Save"></now-message><now-message key="Clear" value="Clear"></now-message><now-message key="Apply" value="Apply"></now-message><now-message key="Sources" value="Sources"></now-message><now-message key="Clear All" value="Clear All"></now-message><now-message key="Clear all active facets" value="Clear all active facets"></now-message><now-message key="Loading" value="Loading"></now-message><now-message key="See more" value="See more"></now-message><now-message key="See less" value="See less"></now-message><now-message key="Clear field {0}" value="Clear field {0}"></now-message><now-message key="Click to remove" value="Click to remove"></now-message><now-message key="Select" value="Select"></now-message><now-message key="Selected" value="Selected"></now-message><now-message key="Enabled" value="Enabled"></now-message><now-message key="Disabled" value="Disabled"></now-message><now-message key="filter selection has cleared for {0} and search results updated" value="filter selection has cleared for {0} and search results updated"></now-message><now-message key="Filter selected {0} and search results updated" value="Filter selected {0} and search results updated"></now-message><now-message key="Filter with value" value="Filter with value"></now-message><now-message key="{0} is collapsed" value="{0} is collapsed"></now-message><now-message key="{0} is Expanded" value="{0} is Expanded"></now-message><now-message key="Filter selected {0} {1} and Search results updated" value="Filter selected {0} {1} and search results updated"></now-message><now-message key="Search Categories" value="Search Categories"></now-message><now-message key="All facets have been cleared, and search results have been updated" value="All facets have been cleared, and search results are updated"></now-message><now-message key="Facet removed, search results updated" value="Facet removed, search results updated"></now-message><now-message key="There is a JavaScript error in your browser console" value="There is a JavaScript error in your browser console"></now-message><now-message key="Guided Tours" value="Guided Tours"></now-message><now-message key="This page currently has {0} tours" value="This page currently has {0} tours"></now-message><now-message key="This page currently has 1 tour" value="This page currently has 1 tour"></now-message><now-message key="Tours" value="Tours"></now-message><now-message key="You have no tours on this page" value="You have no tours on this page"></now-message><now-message key="Tours appear when your administrator creates them on specific pages" value="Tours appear when your administrator creates them on specific pages"></now-message><now-message key="Are you sure you want to delete all rows?" value="Are you sure you want to delete all rows?"></now-message><now-message key="Are you sure you want to delete the row?" value="Are you sure you want to delete the row?"></now-message><now-message key="Stop Guided Tour" value="Stop Guided Tour"></now-message><now-message key="Do you want to stop this tour from auto launching again?" value="Do you want to stop this tour from auto launching again?"></now-message><now-message key="Apply for all tours on this page" value="Apply for all tours on this page"></now-message><now-message key="Yes" value="Yes"></now-message><now-message key="No" value="No"></now-message><now-message key="Next" value="Next"></now-message><now-message key="Previous" value="Previous"></now-message><now-message key="Complete" value="Complete"></now-message><now-message key="Tour ended because the next step was not found." value="Tour ended because the next step was not found."></now-message><now-message key="Tour was abandoned" value="Tour was abandoned"></now-message><now-message key="This tour is currently in draft status" value="This tour is currently in draft status"></now-message><now-message key="Cannot start a new tour while another tour is in progress." value="Cannot start a new tour while another tour is in progress."></now-message><now-message key="Close" value="Close"></now-message><now-message key="Cancel Tour" value="Cancel Tour"></now-message><now-message key="Error in fetching tour details" value="Error in fetching tour details"></now-message><now-message key="{0} saved" value="{0} saved"></now-message><now-message key="Open chat window" value="Open chat window"></now-message><now-message key="Open chat window. {0} unread messages" value="Open chat window. {0} unread messages"></now-message><now-message key="Minimize chat window" value="Minimize chat window"></now-message><now-message key="Agent Chat Window" value="Agent Chat Window"></now-message><now-message key="Open diagnostics information" value="Open diagnostics information"></now-message><now-message key="Color codes" value="Color codes"></now-message><now-message key="Widget" value="Widget"></now-message><now-message key="Compare with Base system" value="Compare with Base system"></now-message><now-message key="Open widget in platform" value="Open widget in platform"></now-message><now-message key="Widget Diagnostics" value="Widget Diagnostics"></now-message><now-message key="Compare with previous version" value="Compare with previous version"></now-message><now-message key="Compare with base widget" value="Compare with base widget"></now-message><now-message key="Show Widget Customizations" value="Show Widget Customizations"></now-message><now-message key="Hide Widget Customizations" value="Hide Widget Customizations"></now-message><now-message key="Cloned" value="Cloned"></now-message><now-message key="New" value="New"></now-message><now-message key="Customized" value="Customized"></now-message><now-message key="Base system" value="Base system"></now-message><now-message key="Enable Analytics" value="Enable Analytics"></now-message><now-message key="Agree" value="Agree"></now-message><now-message key="Choose" value="Choose"></now-message><now-message key="Value is invalid or out of range" value="The value is not valid or it is out of range."></now-message><now-message key="The entered value has been changed to an integer." value="The entered value has been changed to an integer."></now-message><now-message key="Attached" value="Attached"></now-message><now-message key="{0} complete" value="{0} complete"></now-message><now-message key="Submitting..." value="Submitting..."></now-message><now-message key="Saving..." value="Saving..."></now-message><now-message key="Delete Attachment?" value="Delete Attachment?"></now-message><now-message key="{0} details show more" value="{0} details show more"></now-message><now-message key="{0} details show less" value="{0} details show less"></now-message><now-message key="Leave page?" value="Leave page?"></now-message><now-message key="Changes you made will be lost." value="Changes you made will be lost."></now-message><now-message key="Leave" value="Leave"></now-message><now-message key="1 item selected" value="1 item selected"></now-message><now-message key="{0} items selected" value="{0} items selected"></now-message><now-message key="For {0}" value="For {0}"></now-message><now-message key="{0} for" value="{0} for"></now-message><now-message key="Expand all categories for {0}" value="Expand all categories for {0}"></now-message><now-message key="Collapse all categories for {0}" value="Collapse all categories for {0}"></now-message><now-message key="Attached files must be smaller than {0} MB, or the files must have {1} file extensions." value="Attached files must be smaller than {0} MB, or the files must have {1} file extensions."></now-message><now-message key="{0} {1} {2} Article" value="{0} {1} {2} Article"></now-message><now-message key="{0} {1} {2} Articles" value="{0} {1} {2} Articles"></now-message><now-message key="Extend your session." value="Extend your session."></now-message><now-message key="Your current session will expire soon. Click extend to continue with your current session." value="Your current session will expire soon. Click extend to continue with your current session."></now-message><now-message key="Extend session." value="Extend session."></now-message><now-message key="Your session has expired." value="Your session has expired."></now-message><now-message key="Your login session has expired. Please login again." value="Your login session has expired. Please login again."></now-message><now-message key="Log in" value="Log In"></now-message><now-message key="Login" value="Log in"></now-message><now-message key="Close modal" value="Close modal"></now-message><now-message key="Session Expiration Notification" value="Session Expiration Notification"></now-message><now-message key="Your session will expire within {X} minutes. Please complete your ongoing tasks to prevent loss of work." value="Your session will expire within {X} minutes. Please complete your ongoing tasks to prevent loss of work."></now-message><now-message key="{0} has been approved" value="{0} has been approved"></now-message><now-message key="{0} has been rejected" value="{0} has been rejected"></now-message><now-message key="Updating the attachment will delete the previous attachment permanently. Do you want to continue?" value="Updating the attachment will delete the previous attachment permanently. Do you want to continue?"></now-message><now-message key="Your analytics preference has been updated and synced across interfaces." value="Your analytics preference has been updated and synced across interfaces."></now-message><now-message key="Something went wrong and your request could not be submitted. Please contact your system administrator" value="Something went wrong and your request could not be submitted. Please contact your system administrator"></now-message><now-message key="Remove {0} from Preferred Communication Channels" value="Remove {0} from Preferred Communication Channels"></now-message><now-message key="Play animation" value="Play animation"></now-message><now-message key="Pause animation" value="Pause animation"></now-message><now-message key="Search icon" value="Search icon"></now-message><now-message key="Clear all notifications" value="Clear all notifications"></now-message><now-message key="Year" value="Year"></now-message><now-message key="{0}, required" value="{0}, required"></now-message><now-message key="Reject" value="Reject"></now-message><now-message key="Turn on ECMAScript 2021 (ES12) mode" value="Turn on ECMAScript 2021 (ES12) mode"></now-message><now-message key="Turning on ECMAScript 2021 (ES12) mode supports using the latest supported JavaScript features in this script. If this option is turned off, you can use the features supported by the application's JavaScript mode only." value="Turning on ECMAScript 2021 (ES12) mode supports using the latest supported JavaScript features in this script. If this option is turned off, you can use the features supported by the application's JavaScript mode only."></now-message><now-message key="Could not save record because of a compile error: {0}" value="Could not save record because of a compile error: {0}"></now-message><now-message key="Published" value="Published"></now-message><now-message key="%d ago" value="%d ago"></now-message><now-message key="%d from now" value="%d from now"></now-message><now-message key="less than a minute" value="less than a minute"></now-message><now-message key="just now" value="just now"></now-message><now-message key="about a minute" value="%dm"></now-message><now-message key="%d minutes" value="%dm"></now-message><now-message key="about an hour" value="about an hour"></now-message><now-message key="about %d hours" value="%dh"></now-message><now-message key="a day" value="a day"></now-message><now-message key="%d days" value="%dd"></now-message><now-message key="about a month" value="about a month"></now-message><now-message key="%d months" value="%dmo"></now-message><now-message key="about a year" value="about a year"></now-message><now-message key="%d years" value="%dy"></now-message><now-message key="today" value="Today"></now-message><now-message key="{0} is typing" value="{0} is typing"></now-message><now-message key="{0} is viewing" value="{0} is viewing"></now-message><now-message key="{0} has entered" value="{0} has entered"></now-message><now-message key="{0} has probably left" value="{0} has probably left"></now-message><now-message key="{0} has exited" value="{0} has exited"></now-message><now-message key="{0} is offline" value="{0} is offline"></now-message><now-message key="{0} was {1}" value="{0} was {1}"></now-message><now-message key="was" value="was"></now-message><now-message key="entered" value="entered"></now-message><now-message key="online" value="Online"></now-message><now-message key="viewing" value="viewing"></now-message><now-message key="maybe offline" value="maybe offline"></now-message><now-message key="probably offline" value="probably offline"></now-message><now-message key="offline" value="Offline"></now-message><now-message key="Activities: {0}" value="Activities: {0}"></now-message><now-message key="The file {0} did not pass security scan and cannot be downloaded" value="The file <b> {0} </b> did not pass security scan and cannot be downloaded"></now-message><script type="text/javascript">'use strict';
window.__TRANSLATIONS__ = {
"Search": 'Search',
"Extracted from '{0}'": 'Extracted from \'{0}\'',
"Close dialog": 'Close dialog',
"All": 'All',
"Most relevant": 'Most relevant',
"Sort search results": 'Sort search results',
"1000+": '1000+',
"0": '0',
"View": 'View',
"Select a debug view": 'Select a debug view',
"More_menu": 'More',
"Was this suggestion helpful?": 'Was this suggestion helpful?',
"Yes": 'Yes',
"No": 'No',
"Thanks for the feedback.": 'Thanks for the feedback.',
"Thanks for letting us know!": 'Thanks for letting us know!',
"To help us improve, please let us know why this isn't helpful": 'To help us improve, please let us know why this isn\'t helpful',
"Send feedback": 'Send feedback',
"Close dialog box and send feedback with selected reason": 'Close dialog box and send feedback with selected reason',
"close feedback form": 'close feedback form',
"Relevance": 'relevance',
"Select Relevance for Genius Result": 'Select Relevance for Genius Result',
"1": '1',
"2": '2',
"3": '3',
"4": '4',
"Was the Intent correct?": 'Was the Intent correct?',
"Suggested result": 'Suggested result',
"This answer was AI generated from search results.": 'This answer was AI generated from search results.',
"Use Natural Language Query (NLQ) to find data in your instance by entering plain language requests.": 'Use Natural Language Query (NLQ) to find data in your instance by entering plain language requests.',
"About": 'about',
"Learn more": 'Learn more',
"Multiple table sources matched this search. Choose a table:": 'Multiple table sources matched this search. Choose a table:',
"Here's a preview of the table that matches your search:": 'Here\'s a preview of the table that matches your search:',
"Source:": 'Source:',
"About search result": 'About search result',
"View full table": 'View full table',
"Refine and preview": 'Refine and preview',
"Choose tables that match your search terms to quickly preview them.": 'Choose tables that match your search terms to quickly preview them.',
"Follow up": 'Follow Up',
"Attachment": 'Attachment',
"NLQ supported by AI": 'NLQ supported by AI',
"No tables were found that match these terms.": 'No tables were found that match these terms.',
"Try changing your selections.": 'Try changing your selections.',
"Multi-Table": 'Multi-Table',
"Filters": 'filters',
"Clear all": 'Clear All',
"Clear all Filters": 'Clear all filters',
"Clear": 'Clear',
"Show fewer": 'Show fewer',
"Collapse Section": 'Collapse Section',
"Expand Section": 'Expand Section',
"Hide filters": 'Hide filters',
"Contains all selected": 'Contains all selected',
"Contains any selected": 'Contains any selected',
"Any of the following selected:": 'Any of the following selected:',
"All of the following selected:": 'All of the following selected:',
"Done": 'Done',
"Back": 'Back',
"Sort by": 'Sort by',
"It's missing information I want": 'It\'s missing information I want',
"I am not looking for an article": 'I am not looking for an article',
"It doesn't answer my question": 'It doesn\'t answer my question',
"I am not looking for a person": 'I am not looking for a person',
"I am looking for a different person": 'I am looking for a different person',
"I am not looking to request something": 'I am not looking to request something',
"I want to request something else": 'I want to request something else',
"I’m not searching for a table": 'I’m not searching for a table',
"The table doesn’t match my search": 'The table doesn’t match my search',
"Incorrect filter on the table": 'Incorrect filter on the table',
"Other, please specify:": 'Other, please specify:',
"Powered by": 'Powered by',
"AI Suggestion": 'AI Suggestion',
"Catalog": 'Catalog',
"Catalog predicted by Now Assist": 'Catalog predicted by Now Assist',
"Sign-in": 'Sign-in',
"To view results generated from Sharepoint, you need to be signed in.": 'To view results generated from Sharepoint, you need to be signed in.',
"Sign in": 'Sign in',
"Showing results for": 'Showing results for',
"Showing {0}": 'Showing {0}',
"Search instead for ": 'Search instead for ',
"Search results displayed and the total search count may vary due to security permissions.": 'Search results displayed and the total search count may vary due to security permissions.',
"Search results disclaimer": 'Search results disclaimer',
"View All": 'View all',
"cleared recent search term": 'cleared recent search term',
"exact match found": 'exact match found',
"Clear search term": 'Clear search term',
"Submit search": 'Submit search',
"Clear recent search": 'Clear recent search',
"Cancel search": 'Cancel search',
"Checking for suggestions...": 'Checking for suggestions...',
"show search panel": 'show search panel',
"Start chat": 'Start Chat',
"Dismiss popover": 'Dismiss popover',
"Learn more link, link opens in a new tab": 'Learn more link, link opens in a new tab',
"Recent Searches": 'Recent searches',
"Choose search context": 'Choose search context',
"Dropdown": 'Dropdown',
"RECENTLY SEARCHED": 'Recently Searched',
"EXACT MATCH": 'Exact Match',
"Smarter chats for better results": 'Smarter chats for better results',
"Search less and find more. Just ask what you need, and our AI-powered assistant will reply with clear-cut answers.": 'Search less and find more. Just ask what you need, and our AI-powered assistant will reply with clear-cut answers.',
"AI-powered assistant": 'AI-powered assistant',
"Ask a question, make a request": 'Ask a question, make a request',
"better genius result": 'better genius result',
"header-highlighted-value": 'header-highlighted-value',
"{0} for {1}": '{0} for {1}',
"Follow up for {0}": 'Follow up for {0}',
"Search for people, programs, and more": 'Search for people, programs, and more',
"List view (re-runs search)": 'List view (re-runs search)',
"Genius Results are highly relevant, dynamic cards that appear above the standard search results": 'Genius Results are highly relevant, dynamic cards that appear above the standard search results',
"Result Disclaimer": 'Result Disclaimer',
"Results generated by": 'Results generated by',
"": '',
"No results generated": 'No results generated',
"Try rephrasing your search. Make sure your question is clear and detailed.": 'Try rephrasing your search. Make sure your question is clear and detailed.',
"Searching for the right info...": 'Searching for the right info...',
"Gathering the best insights...": 'Gathering the best insights...',
"Reviewing the key details...": 'Reviewing the key details...',
"Generating your personalized results...": 'Generating your personalized results...',
"loading genius results": 'loading genius results',
"{0}, {1}, Open in New Tab": '{0}, {1}, Open in New Tab',
"Open in New Tab": 'Open in new tab',
"Feedback": 'Feedback',
"Select Rank for Search Result": 'Select Rank for Search Result',
"See {0} more...": 'See {0} more...',
"Data Row": 'Data Row',
"No content to display.": 'No content to display.',
"Loading": 'Loading',
"with": 'With',
"sn-search-genius-card-assist:{token} with {compareToken}": '{token} with {compareToken}',
"View full {0} table": 'View full {0} table',
"Your search": 'Your search',
"has no matches": 'has no matches',
"Keep on searching": 'Keep on searching',
"No results for \x22{0}\x22": 'No results for \"{0}\"',
"Try entering shorter phrases, or using different words in your query. For example, try \x22vacation days\x22 instead of \x22how many days vacation\x22.": 'Try entering shorter phrases, or using different words in your query. For example, try \"vacation days\" instead of \"how many days vacation\".',
"No more results because one or more results were removed due to security constraints": 'No more results because one or more results were removed due to security constraints',
"Go back": 'Go back',
"showing ": 'Showing ',
"Start a chat": 'Start a chat',
"Chat with ": 'Chat with ',
"More tabs": 'More tabs',
"{0} items selected": '{0} items selected',
"No results found": 'No results found',
"now-dropdown-list-search-placeholder:Search": 'Search',
"selected": 'Selected',
"Link opens in new window or tab": 'Link opens in new window or tab',
"now-alert-open-button:Open": 'Open',
"Open and dismiss alert": 'Open and dismiss alert',
"now-alert-acknowledge-button:OK": 'OK',
"Dismiss alert": 'Dismiss alert',
"Show less": 'Show less',
"Show more": 'Show more',
"Alert level: {0}.": 'Alert level: {0}.',
"Collapsed alert list with {0} alerts.": 'Collapsed alert list with {0} alerts.',
"Expanded alert list with {0} alerts.": 'Expanded alert list with {0} alerts.',
"Show alerts": 'Show alerts',
"Hide alerts": 'Hide alerts',
"Dismiss All": 'Dismiss all',
"Dismiss all alerts": 'Dismiss all alerts',
"Board Model": 'Board Model',
"EVAM Model": 'EVAM Model',
"Field Model": 'Field Model',
"Form Model": 'Form Model',
"List Model": 'List Model',
"Related List Model": 'Related List Model',
"Catalog Wizard Model": 'Catalog Wizard Model',
"Cancel": 'Cancel',
"Search is now even smarter": 'Search is now even smarter',
"Find knowledge, records, people and more. Try it now!": 'Find knowledge, records, people and more. Try it now!',
"Card actions": 'Card actions',
"Search {0}": 'Search {0}',
"sn-search-results-container:Showing {count} results for": 'Showing {count} results for',
"sn-search-results-container:{count} results for {searchTerm}": '{count} results for {searchTerm}',
"Space or enter to resize.": 'Space or enter to resize.',
"Arrow keys increase size. Shift + Arrow keys decrease.": 'Arrow keys increase size. Shift + Arrow keys decrease.',
"Page {0}": 'Page {0}',
"Showing 0 records": 'Showing 0 records',
"Showing {0}-{1} of {2}": 'Showing {0}-{1} of {2}',
"Go to first page": 'Go To First Page',
"First page": 'First page',
"Go to previous page": 'Go To Previous Page',
"Previous page": 'Previous page',
"Previous page, {0}": 'Previous page, {0}',
"Go to next page": 'Go To Next Page',
"Next page": 'Next page',
"Next page, {0}": 'Next page, {0}',
"Go to last page": 'Go To Last Page',
"Last page": 'Last page',
"Records per page": 'Records per page',
"Pagination": 'Pagination',
"now-avatar-tooltip:{userName} is {presence}": '{userName} is {presence}',
"Unknown User": 'Unknown User',
"undefined:busy": 'busy',
"undefined:away": 'away',
"undefined:available": 'available',
"undefined:offline": 'offline',
"Sort By": 'Sort by',
"Filter": 'Filter',
"Display": 'Display',
"Contact your ServiceNow administrator for more information.": 'Contact your ServiceNow administrator for more information.',
"Close": 'Close',
"Add": 'Add',
"Required": 'Required',
"From: {0}": 'From: {0}',
"showing {0} result in": 'showing {0} result in',
"showing {0} results in": 'showing {0} results in',
"{0} group": '{0} Group',
"{0} groups": '{0} groups',
"now-label-value-value-previous:{newValue} was {oldValue}": '{newValue} was {oldValue}',
"Loading...": 'Loading...',
"Loading…": 'Loading…',
"loading": 'Loading',
"loading...": 'Loading...',
"loading…": 'Loading…',
"+ {0} more": '+ {0} more',
"Scroll to top of table": 'Scroll to top of table',
"View all results for": 'View all results for',
"sn-search-results-container:Search less and find more. Just ask what you need, and our {assistantName} will reply with clear-cut answers.": 'Search less and find more. Just ask what you need, and our {assistantName} will reply with clear-cut answers.',
"Met requirement: {0}.": 'Met requirement: {0}.',
"Unmet requirement: {0}.": 'Unmet requirement: {0}.',
"Unmask password": 'Unmask password',
"Mask password": 'Mask password',
"Select country code": 'Select country code',
"Country code: +{0}": 'Country code: +{0}',
"now-input-phone-call-button-label:Call": 'Call',
"now-input-url-edit-button-label:Edit": 'Edit',
"No content to display": 'No content to display',
"Please add components into the carousel": 'Please add components into the carousel',
"Next": 'Next',
"Previous": 'Previous',
"Carousel of {0} items": 'Carousel of {0} items',
"Clear ({0})": 'Clear ({0})',
"Clear ({0}) ({1}) filter": 'Clear ({0}) ({1}) filter',
"{0} field : {1}": '{0} field : {1}',
"{0} field": '{0} field',
"This column can’t be edited due to its settings. Contact your admin to request permissions.": 'This column can’t be edited due to its settings. Contact your admin to request permissions.',
"This cell can’t be edited due to its settings. Contact your admin to request permissions.": 'This cell can’t be edited due to its settings. Contact your admin to request permissions.',
"Some of these cells can't be edited due to their settings. Only select cells that allow editing.": 'Some of these cells can\'t be edited due to their settings. Only select cells that allow editing.',
"Drag started. Current position: {0} of {1}. Press up and down to change the position of the row, enter to drop, and escape to cancel.": 'Drag started. Current position: {0} of {1}. Press up and down to change the position of the row, enter to drop, and escape to cancel.',
"Row {0}": 'Row {0}',
"Dropped. New position: {0} of {1}.": 'Dropped. New position: {0} of {1}.',
"Loading more rows": 'Loading more rows',
"Rows ": 'Rows ',
"Scroll To Top button is available.": 'Scroll To Top button is available.',
"Scroll To Top button is unavailable.": 'Scroll To Top button is unavailable.',
"As you scroll down the table, a \x22Scroll To Top\x22 button will appear after the table. Activating this button will bring your focus to first cell of the top row. The button will disappear if you scroll to the top of the table.": 'As you scroll down the table, a \"Scroll To Top\" button will appear after the table. Activating this button will bring your focus to first cell of the top row. The button will disappear if you scroll to the top of the table.',
"No data to display.": 'No data to display.',
"Invalid row data.": 'Invalid row data.',
"Duplicate row keys found.": 'Duplicate row keys found.',
"One or more property values are invalid.": 'One or more property values are invalid.',
"Please check the column configuration.": 'Please check the column configuration.',
"Confirm": 'Confirm',
"Execute action": 'Execute action',
"Confirmation": 'Confirmation',
"Open record related to attachment": 'Open record related to attachment',
"Optional": 'Optional',
"More information, {0}": 'More information, {0}',
"{0} of {1}": '{0} of {1}',
"Screen {0} of {1}": 'Screen {0} of {1}',
"now-pills-a11y-label:{pillLabel} is selected": '{pillLabel} is selected',
"now-pill-remove-button-tooltip-label:Remove": 'Remove',
"Column {0} dropped. Final position {1} of {2}.": 'Column {0} dropped. Final position {1} of {2}.',
"Column {0} grabbed. Current position {1} of {2}. Press left and right to change the position of the column, enter to drop, and escape to cancel.": 'Column {0} grabbed. Current position {1} of {2}. Press left and right to change the position of the column, enter to drop, and escape to cancel.',
"Drag and drop cancelled. Column {0} in position {1} of {2}.": 'Drag and drop cancelled. Column {0} in position {1} of {2}.',
"Position {0}": 'Position {0}',
"Value": 'Value',
"Remove Column Filter": 'Remove Column Filter',
"Apply": 'Apply',
"Action": 'Action',
"Column header actions": 'Column Header Actions',
"Cell actions": 'Cell Actions',
"Row actions": 'Row Actions',
"Error": 'Error',
"Retry": 'Retry',
"{0} rows will be updated": '{0} rows will be updated',
"Select": 'Select',
"None": 'None',
"Filter choices": 'Filter choices',
"Clear filter": 'Clear Filter',
"(empty)": '(empty)',
"Unknown": 'Unknown',
"View information in grid mode": 'View information in grid mode',
"View information in list mode": 'View information in list mode',
"Select date and time": 'Select date and time',
"Pills": 'Pills',
"Enter label": 'Enter label',
"Enter a URL": 'Enter a URL',
"Enter an action to dispatch": 'Enter an action to dispatch',
"Enter an event naming convention that includes casing and prefixes.": 'Enter an event naming convention that includes casing and prefixes.',
"(e.g. COMPONENT_NAME#ACTION_TAKEN)": '(e.g. COMPONENT_NAME#ACTION_TAKEN)',
"Select an icon": 'Select an icon',
"The name of an icon in kebab case (e.g. complete-outline)": 'The name of an icon in kebab case (e.g. complete-outline)',
"Select icon color": 'Select icon color',
"Preview:": 'Preview:',
"Enter name": 'Enter name',
"Enter unique identifier": 'Enter unique identifier',
"A unique identifying string to represent this person. All mentions of a given person should have the same identifier string.": 'A unique identifying string to represent this person. All mentions of a given person should have the same identifier string.',
"Enter a URL of an image": 'Enter a URL of an image',
"A link to an image that should be displayed as this person's avatar. If not provided, the avatar will display initials instead of an image.": 'A link to an image that should be displayed as this person\'s avatar. If not provided, the avatar will display initials instead of an image.',
"Add filter": 'Add Filter',
"Edit filter": 'Edit filter',
"Operator": 'Operator',
"Operator: ": 'Operator: ',
"No filter applied yet.": 'No filter applied yet.',
"Display help info popup: ": 'Display help info popup: ',
"Remove": 'Remove',
"Row loading": 'Row loading',
"{0} Actions": '{0} Actions',
"Grab to reorder {0}, {1} of {2}": 'Grab to reorder {0}, {1} of {2}',
"Reorder": 'Reorder',
"Grab to resize {0}": 'Grab to resize {0}',
"Resize": 'Resize',
"Select all rows": 'Select all rows',
"{0}": '{0}',
"%d ago": '%d ago',
"%d from now": '%d from now',
"this %d": 'this %d',
"last %d": 'last %d',
"just now": 'just now',
"almost now": 'almost now',
"less than a minute": 'less than a minute',
"minute_verbose": '1 minute',
"about a minute": '%dm',
"%d minutes_verbose": '%d minutes',
"%d minutes": '%dm',
"about an hour": 'about an hour',
"about %d hours_verbose": '%d hours',
"about %d hours": '%dh',
"about a day": 'about a day',
"%d days_verbose": '%d days',
"%d days": '%dd',
"about a month": 'about a month',
"%d months_verbose": '%d months',
"%d months": '%dmo',
"about a year": 'about a year',
"%d years_verbose": '%d years',
"%d years": '%dy',
"today": 'Today',
"yesterday": 'Yesterday',
"tomorrow": 'Tomorrow',
"True": 'true',
"False": 'false',
"Info": 'Info',
"Moderate": 'Moderate',
"Critical": 'Critical',
"Warning": 'Warning',
"Positive": 'Positive',
"High": 'High',
"Low": 'Low',
"All groups toggle": 'All groups toggle',
"Grouped row toggle": 'Grouped row toggle',
"Expand Row": 'Expand row',
"Collapse Row": 'Collapse row',
"Grouped row contains ": 'Grouped row contains ',
"Cell Actions": 'Cell Actions',
"Press space to begin reordering row {0}": 'Press space to begin reordering row {0}',
"Instructions: Press space to grab. Use left and right arrow keys to move the column. Press enter to release in current position. Press Escape to cancel and return to original position.": 'Instructions: Press space to grab. Use left and right arrow keys to move the column. Press enter to release in current position. Press Escape to cancel and return to original position.',
"{0} element not found": '{0} element not found',
"Select date and time range": 'Select date and time range',
"Select a date and time": 'Select a date and time',
"Select month range": 'Select month range',
"Select a month": 'Select a month',
"Select week range": 'Select week range',
"Select a week": 'Select a week',
"Select quarter range": 'Select quarter range',
"Select a quarter": 'Select a quarter',
"Select year range": 'Select year range',
"Select a year": 'Select a year',
"Select date range": 'Select date range',
"Select a date": 'Select a date',
"Go to {nextOrPrevious} year": 'Go to {nextOrPrevious} year',
"Go to {nextOrPrevious} month": 'Go to {nextOrPrevious} month',
"now-date-time-time-input-label:Time": 'Time',
"now-date-time-calendar-input-time-start-label:Start time": 'Start time',
"now-date-time-calendar-input-time-end-label:End time": 'End time',
"now-date-time-calendar-footer-action-cancel-label:Cancel": 'Cancel',
"now-date-time-calendar-footer-action-apply-label:Apply": 'Apply',
"now-date-time-calendar-footer-action-today-label:Now": 'Now',
"Current month": 'Current Month',
"Current year": 'Current year',
"Current quarter": 'Current quarter',
"Current week": 'Current Week',
"Today": 'Today',
"{0} added": '{0} added',
"{0} removed": '{0} removed',
"now-typeahead-pill-remove-button-tooltip-label:Remove": 'Remove',
"Target": 'Target',
"Current": 'Current',
"More": 'more',
"Select row": 'Select row',
"Select row {0}": 'Select row {0}',
"now-checkbox-indeterminate:mixed": 'mixed',
"dropdown collapsed": 'dropdown collapsed',
"dropdown expanded": 'dropdown expanded',
"{0} selected": '{0} selected',
"{0} items": '{0} items',
"Week": 'Week',
"Error: Format '{0}' isn't compatible with type '{1}'; format must include token(s): {2}.": 'Error: Format \'{0}\' isn\'t compatible with type \'{1}\'; format must include token(s): {2}.',
"Error: Disabled items must match format: {0}": 'Error: Disabled items must match format: {0}',
"Error: Disabled items start cannot precede items end.": 'Error: Disabled items start cannot precede items end.',
"This {0} is unavailable. Try another {0}.": 'This {0} is unavailable. Try another {0}.',
"This start {0} is unavailable. Try another {0}.": 'This start {0} is unavailable. Try another {0}.',
"This end {0} is unavailable. Try another {0}.": 'This end {0} is unavailable. Try another {0}.',
"The {0} must match format: {1}": 'The {0} must match format: {1}',
"The first {0} must match format: {1}": 'The first {0} must match format: {1}',
"The second {0} must match format: {1}": 'The second {0} must match format: {1}',
"Start {0} cannot occur on or after end {0}.": 'Start {0} cannot occur on or after end {0}.',
"Invalid initial time": 'Invalid initial time',
"Invalid initial time start": 'Invalid initial time start',
"Invalid initial time end": 'Invalid initial time end',
"Opens URL in the current tab": 'Opens URL in the current tab',
"Opens URL in a new tab/window": 'Opens URL in a new tab/window',
"Collapse": 'Collapse',
"Custom": 'Custom',
"Other": 'Other',
"January": 'January',
"February": 'February',
"March": 'March',
"April": 'April',
"May": 'May',
"June": 'June',
"July": 'July',
"August": 'August',
"September": 'September',
"October": 'October',
"November": 'November',
"December": 'December',
"Sunday": 'Sunday',
"Monday": 'Monday',
"Tuesday": 'Tuesday',
"Wednesday": 'Wednesday',
"Thursday": 'Thursday',
"Friday": 'Friday',
"Saturday": 'Saturday',
"year": 'Year',
"Year": 'Year',
"years": 'Years',
"quarter": 'quarter',
"Quarter": 'quarter',
"quarters": 'Quarters',
"month": 'Month',
"Month": 'Month',
"months": 'Months',
"week": 'Week',
"weeks": 'Weeks',
"day": 'Day',
"Day": 'Day',
"days": 'Days',
"hour": 'Hour',
"Hour": 'Hour',
"hours": 'Hours',
"minute": 'Minute',
"Minute": 'Minute',
"minutes": 'Minutes',
"second": 'Second',
"Second": 'Second',
"seconds": 'Seconds',
"Start ": 'Start ',
"End ": 'End ',
"Date selected is {0}": 'Date selected is {0}',
"Week {0}, starting on {1}": 'Week {0}, starting on {1}',
"Custom, focus will move to current date": 'Custom, focus will move to current date',
"Select preset": 'Select preset',
"now-date-time-preset-current-preset-label:Current {timePeriod}": 'Current {timePeriod}',
"now-date-time-preset-to-date-label:{timePeriod} to date": '{timePeriod} to date',
"now-date-time-preset-next-duration-is-one-label:Next {timePeriod}": 'Next {timePeriod}',
"now-date-time-preset-last-duration-is-one-label:Last {timePeriod}": 'Last {timePeriod}',
"now-date-time-preset-next-duration-label:Next {duration} {timePeriod}": 'Next {duration} {timePeriod}',
"now-date-time-preset-last-duration-label:Last {duration} {timePeriod}": 'Last {duration} {timePeriod}',
"now-date-time-preset-custom-label:Custom": 'Custom',
"now-date-time-preset-next-no-duration-label:Next {timePeriod}": 'Next {timePeriod}',
"now-date-time-preset-last-no-duration-label:Last {timePeriod}": 'Last {timePeriod}',
"Days": 'Days',
"Months": 'Months',
"Years": 'Years',
"Starting ": 'Starting '
};</script><script src="/uxasset/externals/@servicenow/ui-mega/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1752186247931" type="module"></script><script src="/uxasset/externals/amb-client-js/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1752186247931" type="module"></script><script src="/uxasset/externals/@servicenow/now-icon/icons/magnifyingGlass.jsdbx?sysparm_use_cache_buster=true&uxpcb=1752186247931" type="module"></script><script src="/uxasset/externals/ais-sn-components/index.jsdbx?sysparm_use_cache_buster=true&uxpcb=1752186247931" type="module"></script></body></html>