-
Notifications
You must be signed in to change notification settings - Fork 21
Cedarling Integration Plan ‐ II
Arnab Dutta edited this page Aug 8, 2025
·
23 revisions
- During Flex installation, a default policy-store will be saved in Admin UI configuration (in persistence). Admin UI by default will use this policy-store for its access-control.
- The administrator (with required permissions) is allowed to use any remote policy store for access control in the Admin UI. To do this, the admin can configure the remote policy store URL in the Admin UI.
- The user can compare the default policy store in the Admin UI configuration (persistence) with a remote policy store available at a specified URL. The user can also pull the remote policy store into Admin Ui configuration (in persistence).
-
Admin UI will allow the administrator (with required permissions) to edit and save policy store in persistence.
-
Editing Remote Policy-Store: To edit policies, the user must open the remote policy store URI in Agama Lab. Any modifications made in the policy store will be reflected in the Admin UI's access control.
The existing role-to-capabilities mapping will only provide users with access to the config-api endpoints. The UI access control in the Admin UI will be managed by Cedarling policies.
namespace Jans {
type Context = {
"current_time"?: Long,
"device_health"?: Set<String>,
"fraud_indicators"?: Set<String>,
"geolocation"?: Set<String>,
"network"?: String,
"network_type"?: String,
"operating_system"?: String,
"user_agent"?: String
};
type Url = {
"host": String,
"path": String,
"protocol": String
};
type email_address = {
"domain": String,
"uid": String
};
entity Access_token = {
"aud": String,
"exp": Long,
"iat": Long,
"iss": TrustedIssuer,
"jti"?: String,
"nbf"?: Long,
"scope"?: Set<String>
};
entity AdminUIFeatures in [RoleBasedFeatures];
entity Role;
entity RoleBasedFeatures;
entity TrustedIssuer = { "issuer_entity_id": Url };
entity User in [Role] = {
"email" ?: email_address,
"id_token" ?: id_token,
"phone_number" ?: String,
"sub": String,
"userinfo_token" ?: Userinfo_token,
"username" ?: String
};
entity Userinfo_token = {
"aud": String,
"birthdate"?: String,
"email"?: email_address,
"exp"?: Long,
"iat"?: Long,
"iss": TrustedIssuer,
"jansAdminUIRole": Set<String>,
"jti"?: String,
"name"?: String,
"phone_number"?: String,
"sub": String
};
entity Workload = {
"access_token"?: Access_token,
"client_id": String,
"iss": TrustedIssuer,
"name"?: String,
"rp_id"?: String,
"spiffe_id"?: String
};
entity id_token = {
"acr"?: String,
"amr"?: Set<String>,
"aud": String,
"azp"?: String,
"birthdate"?: String,
"email"?: email_address,
"exp": Long,
"iat": Long,
"iss": TrustedIssuer,
"jti"?: String,
"name"?: String,
"phone_number"?: String,
"role"?: Set<String>,
"sub": String
};
action "AdminActions" appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "EditorActions" appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ManagerActions" appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ViewerActions" appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AttributesDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AttributesEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AttributesViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "OIDCClientsDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "OIDCClientsEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "OIDCClientsViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ScopesDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ScopesEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ScopesViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "UsersDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "UsersEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "UsersViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "StatisticsViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ServiceStatusViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "LicenseEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "LicenseViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIRolesDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIRolesEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIRolesViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIPermissionsDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIPermissionsEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIPermissionsViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIRolePermissionsMapDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIRolePermissionsMapEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIRolePermissionsMapViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIWebhooksDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIWebhooksEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AdminUIWebhooksViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "JansAssetsDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "JansAssetsEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "JansAssetsViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "JWKSViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AuthServerConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "AuthServerConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "LoggingEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "LoggingViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SSADeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SSAViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ConfigApiConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "ConfigApiConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SessionsDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SessionsViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "CustomScriptsDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "CustomScriptsEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "CustomScriptsViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "CacheConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "CacheConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SMTPConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SMTPConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SCIMConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SCIMConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "FIDOConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "FIDOConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SAMLConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SAMLConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "LockConfigurationEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "LockConfigurationViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SAMLIDPDeleteAction" in [Jans::Action::"AdminActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SAMLIDPEditAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
action "SAMLIDPViewAction" in [Jans::Action::"AdminActions", Jans::Action::"EditorActions", Jans::Action::"ManagerActions", Jans::Action::"ViewerActions"] appliesTo {
principal: [User],
resource: [RoleBasedFeatures, AdminUIFeatures],
context: { }
};
}
{
"1694c954f8d9": {
"entity_id": "1694c954f8d9",
"uid": {
"type": "AdminUIFeatures",
"id": "oidc_clients"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"74d109b20248": {
"entity_id": "74d109b20248",
"uid": {
"type": "AdminUIFeatures",
"id": "attributes"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"ece25bef0c2a": {
"entity_id": "ece25bef0c2a",
"uid": {
"type": "AdminUIFeatures",
"id": "scopes"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"5929996853": {
"entity_id": "5929996853",
"uid": {
"type": "AdminUIFeatures",
"id": "user_mgmt"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"enkfq9fajd": {
"entity_id": "enkfq9fajd",
"uid": {
"type": "AdminUIFeatures",
"id": "statistics"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"13h4pn47hv": {
"entity_id": "13h4pn47hv",
"uid": {
"type": "AdminUIFeatures",
"id": "service_status"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"742gautw99": {
"entity_id": "742gautw99",
"uid": {
"type": "AdminUIFeatures",
"id": "license"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"s32156z59k": {
"entity_id": "s32156z59k",
"uid": {
"type": "AdminUIFeatures",
"id": "admin_ui_roles"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"d2qdanw8h6": {
"entity_id": "d2qdanw8h6",
"uid": {
"type": "AdminUIFeatures",
"id": "admin_ui_permissions"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"z8p5fe28ev": {
"entity_id": "z8p5fe28ev",
"uid": {
"type": "AdminUIFeatures",
"id": "admin_ui_role_permission_mapping"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"jd5uz92jwu": {
"entity_id": "jd5uz92jwu",
"uid": {
"type": "AdminUIFeatures",
"id": "webhooks"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"zce25bef0c2a": {
"entity_id": "zce25bef0c2a",
"uid": {
"type": "AdminUIFeatures",
"id": "jans-assets"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"le34q5s7lr": {
"entity_id": "le34q5s7lr",
"uid": {
"type": "AdminUIFeatures",
"id": "jwks"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"9y1hhxzy8e": {
"entity_id": "9y1hhxzy8e",
"uid": {
"type": "AdminUIFeatures",
"id": "auth_server_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"rgjd8gk9ga": {
"entity_id": "rgjd8gk9ga",
"uid": {
"type": "AdminUIFeatures",
"id": "logging"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"a10w85yriv": {
"entity_id": "a10w85yriv",
"uid": {
"type": "AdminUIFeatures",
"id": "ssa"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"v8fak5zm69": {
"entity_id": "v8fak5zm69",
"uid": {
"type": "AdminUIFeatures",
"id": "config_api_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"2882358446": {
"entity_id": "2882358446",
"uid": {
"type": "AdminUIFeatures",
"id": "sessions"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"8031843005": {
"entity_id": "8031843005",
"uid": {
"type": "AdminUIFeatures",
"id": "custom_scripts"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"9565581259": {
"entity_id": "9565581259",
"uid": {
"type": "AdminUIFeatures",
"id": "cache_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"5254609055": {
"entity_id": "5254609055",
"uid": {
"type": "AdminUIFeatures",
"id": "SMTP_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"3507457970": {
"entity_id": "3507457970",
"uid": {
"type": "AdminUIFeatures",
"id": "SCIM_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"0054396583": {
"entity_id": "0054396583",
"uid": {
"type": "AdminUIFeatures",
"id": "FIDO_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"2939290918": {
"entity_id": "2939290918",
"uid": {
"type": "AdminUIFeatures",
"id": "SAML_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"1929693291": {
"entity_id": "1929693291",
"uid": {
"type": "AdminUIFeatures",
"id": "SAML_idp"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
},
"9986031998": {
"entity_id": "9986031998",
"uid": {
"type": "AdminUIFeatures",
"id": "lock_configuration"
},
"attrs": {},
"parents": [
{
"type": "RoleBasedFeatures",
"id": “admin_features”
},
{
"type": "RoleBasedFeatures",
"id": “editor_features”
},
{
"type": "RoleBasedFeatures",
"id": “manager_features”
},
{
"type": "RoleBasedFeatures",
"id": “viewer_features”
}
]
}
}
permit (
principal in Role::"api-admin",
action in Action::"AdminActions",
resource in RoleBasedFeatures::"admin_features"
);
permit (
principal in Role::"api-editor",
action in Action::"EditorActions",
resource in RoleBasedFeatures::"editor_features"
);
permit (
principal in Role::"api-manager",
action in Action::"ManagerActions",
resource in RoleBasedFeatures::"manager_features"
);
permit (
principal in Role::"api-viewer",
action in Action::"ViewerActions",
resource in RoleBasedFeatures::"viewer_features"
);
{
"cedar_version": "4.4.0",
"policy_stores": {
"1d927bd9e20810be41fbac38529efaede03287207442": {
"name": "adminui_tbac_store",
"description": "Admin UI TBAC store",
"policies": {
"15986d17ebc2d34246627b864e6fa6db4841e1f59929": {
"description": "",
"creation_date": "2025-08-04T12:07:00.034262",
"policy_content": "cGVybWl0ICgKICBwcmluY2lwYWwgaW4gSmFuczo6Um9sZTo6ImFwaS1hZG1pbiIsCiAgYWN0aW9uIGluIEphbnM6OkFjdGlvbjo6IkFkbWluQWN0aW9ucyIsCiAgcmVzb3VyY2UgaW4gSmFuczo6Um9sZUJhc2VkRmVhdHVyZXM6OiJhZG1pbl9mZWF0dXJlcyIKKTs="
},
"8dd992fb3444ea13dfce5d3489f1e0bf0ed39293e998": {
"description": "",
"creation_date": "2025-08-04T12:07:51.707342",
"policy_content": "cGVybWl0ICgKICBwcmluY2lwYWwgaW4gSmFuczo6Um9sZTo6ImFwaS1lZGl0b3IiLAogIGFjdGlvbiBpbiBKYW5zOjpBY3Rpb246OiJFZGl0b3JBY3Rpb25zIiwKICByZXNvdXJjZSBpbiBKYW5zOjpSb2xlQmFzZWRGZWF0dXJlczo6ImVkaXRvcl9mZWF0dXJlcyIKKTs="
},
"47890956e8e80fbbc9ff2c52883d5a0f284a96ddddf8": {
"description": "",
"creation_date": "2025-08-04T12:09:14.426957",
"policy_content": "cGVybWl0ICgKICBwcmluY2lwYWwgaW4gSmFuczo6Um9sZTo6ImFwaS12aWV3ZXIiLAogIGFjdGlvbiBpbiBKYW5zOjpBY3Rpb246OiJWaWV3ZXJBY3Rpb25zIiwKICByZXNvdXJjZSBpbiBKYW5zOjpSb2xlQmFzZWRGZWF0dXJlczo6InZpZXdlcl9mZWF0dXJlcyIKKTs="
}
},
"trusted_issuers": {
"516ccb6d665d2ab37655a3a86d2d496495496c47015a": {
"name": "AdminUITrustedIssuer",
"description": "Admin UI Trusted Issuer",
"openid_configuration_endpoint": "https://admin-ui-test.gluu.org/.well-known/openid-configuration",
"token_metadata": {
"access_token": {
"trusted": true,
"entity_type_name": "Jans::Access_token",
"user_id": "sub",
"token_id": "jti",
"workload_id": "rp_id",
"claim_mapping": {},
"required_claims": [
"jti",
"iss",
"aud",
"sub",
"exp",
"nbf"
],
"principal_mapping": [
"Jans::Workload"
]
},
"id_token": {
"trusted": true,
"entity_type_name": "Jans::id_token",
"user_id": "sub",
"token_id": "jti",
"claim_mapping": {},
"principal_mapping": [
"Jans::User"
]
},
"userinfo_token": {
"trusted": true,
"entity_type_name": "Jans::Userinfo_token",
"user_id": "sub",
"token_id": "jti",
"role_mapping": "jansAdminUIRole",
"claim_mapping": {},
"principal_mapping": [
"Jans::User"
]
}
}
}
},
"schema": "eyJKYW5zIjp7ImNvbW1vblR5cGVzIjp7IkNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnsiY3VycmVudF90aW1lIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IkxvbmcifSwiZGV2aWNlX2hlYWx0aCI6eyJ0eXBlIjoiU2V0IiwicmVxdWlyZWQiOmZhbHNlLCJlbGVtZW50Ijp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifX0sImZyYXVkX2luZGljYXRvcnMiOnsidHlwZSI6IlNldCIsInJlcXVpcmVkIjpmYWxzZSwiZWxlbWVudCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiU3RyaW5nIn19LCJnZW9sb2NhdGlvbiI6eyJ0eXBlIjoiU2V0IiwicmVxdWlyZWQiOmZhbHNlLCJlbGVtZW50Ijp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifX0sIm5ldHdvcmsiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn0sIm5ldHdvcmtfdHlwZSI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifSwib3BlcmF0aW5nX3N5c3RlbSI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifSwidXNlcl9hZ2VudCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifX19LCJlbWFpbF9hZGRyZXNzIjp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7ImRvbWFpbiI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiU3RyaW5nIn0sInVpZCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiU3RyaW5nIn19fSwiVXJsIjp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7Imhvc3QiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwibmFtZSI6IlN0cmluZyJ9LCJwYXRoIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifSwicHJvdG9jb2wiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwibmFtZSI6IlN0cmluZyJ9fX19LCJlbnRpdHlUeXBlcyI6eyJBY2Nlc3NfdG9rZW4iOnsic2hhcGUiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnsiYXVkIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifSwiZXhwIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJMb25nIn0sImlhdCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiTG9uZyJ9LCJpc3MiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwibmFtZSI6IlRydXN0ZWRJc3N1ZXIifSwianRpIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlN0cmluZyJ9LCJuYmYiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiTG9uZyJ9LCJzY29wZSI6eyJ0eXBlIjoiU2V0IiwicmVxdWlyZWQiOmZhbHNlLCJlbGVtZW50Ijp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifX19fX0sIkFkbWluVUlGZWF0dXJlcyI6eyJzaGFwZSI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319LCJtZW1iZXJPZlR5cGVzIjpbIlJvbGVCYXNlZEZlYXR1cmVzIl19LCJpZF90b2tlbiI6eyJzaGFwZSI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6eyJhY3IiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn0sImFtciI6eyJ0eXBlIjoiU2V0IiwicmVxdWlyZWQiOmZhbHNlLCJlbGVtZW50Ijp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifX0sImF1ZCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiU3RyaW5nIn0sImF6cCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifSwiYmlydGhkYXRlIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlN0cmluZyJ9LCJlbWFpbCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJlbWFpbF9hZGRyZXNzIn0sImV4cCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiTG9uZyJ9LCJpYXQiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwibmFtZSI6IkxvbmcifSwiaXNzIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJUcnVzdGVkSXNzdWVyIn0sImp0aSI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifSwibmFtZSI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifSwicGhvbmVfbnVtYmVyIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlN0cmluZyJ9LCJyb2xlIjp7InR5cGUiOiJTZXQiLCJyZXF1aXJlZCI6ZmFsc2UsImVsZW1lbnQiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwibmFtZSI6IlN0cmluZyJ9fSwic3ViIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifX19fSwiUm9sZSI6eyJzaGFwZSI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fSwiUm9sZUJhc2VkRmVhdHVyZXMiOnsic2hhcGUiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX0sIlRydXN0ZWRJc3N1ZXIiOnsic2hhcGUiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnsiaXNzdWVyX2VudGl0eV9pZCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiVXJsIn19fX0sIlVzZXIiOnsic2hhcGUiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnsiZW1haWwiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiZW1haWxfYWRkcmVzcyJ9LCJpZF90b2tlbiI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJpZF90b2tlbiJ9LCJwaG9uZV9udW1iZXIiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn0sInN1YiI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiU3RyaW5nIn0sInVzZXJpbmZvX3Rva2VuIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlVzZXJpbmZvX3Rva2VuIn0sInVzZXJuYW1lIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlN0cmluZyJ9fX0sIm1lbWJlck9mVHlwZXMiOlsiUm9sZSJdfSwiVXNlcmluZm9fdG9rZW4iOnsic2hhcGUiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnsiYXVkIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifSwiYmlydGhkYXRlIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlN0cmluZyJ9LCJlbWFpbCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJlbWFpbF9hZGRyZXNzIn0sImV4cCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJMb25nIn0sImlhdCI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJMb25nIn0sImlzcyI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiVHJ1c3RlZElzc3VlciJ9LCJqdGkiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn0sIm5hbWUiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn0sInBob25lX251bWJlciI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJTdHJpbmcifSwiamFuc0FkbWluVUlSb2xlIjp7InR5cGUiOiJTZXQiLCJlbGVtZW50Ijp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifX0sInN1YiI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJuYW1lIjoiU3RyaW5nIn19fX0sIldvcmtsb2FkIjp7InNoYXBlIjp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7ImFjY2Vzc190b2tlbiI6eyJ0eXBlIjoiRW50aXR5T3JDb21tb24iLCJyZXF1aXJlZCI6ZmFsc2UsIm5hbWUiOiJBY2Nlc3NfdG9rZW4ifSwiY2xpZW50X2lkIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJTdHJpbmcifSwiaXNzIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsIm5hbWUiOiJUcnVzdGVkSXNzdWVyIn0sIm5hbWUiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn0sInJwX2lkIjp7InR5cGUiOiJFbnRpdHlPckNvbW1vbiIsInJlcXVpcmVkIjpmYWxzZSwibmFtZSI6IlN0cmluZyJ9LCJzcGlmZmVfaWQiOnsidHlwZSI6IkVudGl0eU9yQ29tbW9uIiwicmVxdWlyZWQiOmZhbHNlLCJuYW1lIjoiU3RyaW5nIn19fX19LCJhY3Rpb25zIjp7IkFkbWluQWN0aW9ucyI6eyJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIlJvbGVCYXNlZEZlYXR1cmVzIiwiQWRtaW5VSUZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJBZG1pblVJUGVybWlzc2lvbnNEZWxldGVBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQWRtaW5VSVBlcm1pc3Npb25zRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQWRtaW5VSVBlcm1pc3Npb25zVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQWRtaW5VSVJvbGVQZXJtaXNzaW9uc01hcERlbGV0ZUFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJBZG1pblVJUm9sZVBlcm1pc3Npb25zTWFwRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQWRtaW5VSVJvbGVQZXJtaXNzaW9uc01hcFZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkFkbWluVUlSb2xlc0RlbGV0ZUFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJBZG1pblVJUm9sZXNFZGl0QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJBZG1pblVJUm9sZXNWaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJBZG1pblVJV2ViaG9va3NEZWxldGVBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQWRtaW5VSVdlYmhvb2tzRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQWRtaW5VSVdlYmhvb2tzVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQXR0cmlidXRlc0RlbGV0ZUFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIlJvbGVCYXNlZEZlYXR1cmVzIiwiQWRtaW5VSUZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJBdHRyaWJ1dGVzRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJSb2xlQmFzZWRGZWF0dXJlcyIsIkFkbWluVUlGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQXR0cmlidXRlc1ZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkF1dGhTZXJ2ZXJDb25maWd1cmF0aW9uRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQXV0aFNlcnZlckNvbmZpZ3VyYXRpb25WaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJDYWNoZUNvbmZpZ3VyYXRpb25FZGl0QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJDYWNoZUNvbmZpZ3VyYXRpb25WaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJDb25maWdBcGlDb25maWd1cmF0aW9uRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQ29uZmlnQXBpQ29uZmlndXJhdGlvblZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkN1c3RvbVNjcmlwdHNEZWxldGVBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiQ3VzdG9tU2NyaXB0c0VkaXRBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkN1c3RvbVNjcmlwdHNWaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJFZGl0b3JBY3Rpb25zIjp7ImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkZJRE9Db25maWd1cmF0aW9uRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiRklET0NvbmZpZ3VyYXRpb25WaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJKYW5zQXNzZXRzRGVsZXRlQWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkphbnNBc3NldHNFZGl0QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJKYW5zQXNzZXRzVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiSldLU1ZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkxpY2Vuc2VFZGl0QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJMaWNlbnNlVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiTG9ja0NvbmZpZ3VyYXRpb25FZGl0QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJMb2Nrb25maWd1cmF0aW9uVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiTG9nZ2luZ0VkaXRBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIkxvZ2dpbmdWaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJNYW5hZ2VyQWN0aW9ucyI6eyJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIlJvbGVCYXNlZEZlYXR1cmVzIiwiQWRtaW5VSUZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJPSURDQ2xpZW50c0RlbGV0ZUFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIlJvbGVCYXNlZEZlYXR1cmVzIiwiQWRtaW5VSUZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJPSURDQ2xpZW50c0VkaXRBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIk9JRENDbGllbnRzVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJSb2xlQmFzZWRGZWF0dXJlcyIsIkFkbWluVUlGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiU0FNTENvbmZpZ3VyYXRpb25FZGl0QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJTQU1MQ29uZmlndXJhdGlvblZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNBTUxJRFBEZWxldGVBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiU0FNTElEUEVkaXRBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNBTUxJRFBWaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJTQ0lNQ29uZmlndXJhdGlvbkVkaXRBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNDSU1Db25maWd1cmF0aW9uVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiU2NvcGVzRGVsZXRlQWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNjb3Blc0VkaXRBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNjb3Blc1ZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNlcnZpY2VTdGF0dXNWaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJTZXNzaW9uc0RlbGV0ZUFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJTZXNzaW9uc1ZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiQWRtaW5VSUZlYXR1cmVzIiwiUm9sZUJhc2VkRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlNNVFBDb25maWd1cmF0aW9uRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiU01UUENvbmZpZ3VyYXRpb25WaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIkFkbWluVUlGZWF0dXJlcyIsIlJvbGVCYXNlZEZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJTU0FEZWxldGVBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiU1NBVmlld0FjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJWaWV3ZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJBZG1pblVJRmVhdHVyZXMiLCJSb2xlQmFzZWRGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiU3RhdGlzdGljc1ZpZXdBY3Rpb24iOnsibWVtYmVyT2YiOlt7ImlkIjoiQWRtaW5BY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJFZGl0b3JBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9LHsiaWQiOiJNYW5hZ2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiVmlld2VyQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlVzZXJzRGVsZXRlQWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifV0sImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX0sIlVzZXJzRWRpdEFjdGlvbiI6eyJtZW1iZXJPZiI6W3siaWQiOiJBZG1pbkFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IkVkaXRvckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6Ik1hbmFnZXJBY3Rpb25zIiwidHlwZSI6IkphbnM6OkFjdGlvbiJ9XSwiYXBwbGllc1RvIjp7InByaW5jaXBhbFR5cGVzIjpbIlVzZXIiXSwicmVzb3VyY2VUeXBlcyI6WyJSb2xlQmFzZWRGZWF0dXJlcyIsIkFkbWluVUlGZWF0dXJlcyJdLCJjb250ZXh0Ijp7InR5cGUiOiJSZWNvcmQiLCJhdHRyaWJ1dGVzIjp7fX19fSwiVXNlcnNWaWV3QWN0aW9uIjp7Im1lbWJlck9mIjpbeyJpZCI6IkFkbWluQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiRWRpdG9yQWN0aW9ucyIsInR5cGUiOiJKYW5zOjpBY3Rpb24ifSx7ImlkIjoiTWFuYWdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn0seyJpZCI6IlZpZXdlckFjdGlvbnMiLCJ0eXBlIjoiSmFuczo6QWN0aW9uIn1dLCJhcHBsaWVzVG8iOnsicHJpbmNpcGFsVHlwZXMiOlsiVXNlciJdLCJyZXNvdXJjZVR5cGVzIjpbIlJvbGVCYXNlZEZlYXR1cmVzIiwiQWRtaW5VSUZlYXR1cmVzIl0sImNvbnRleHQiOnsidHlwZSI6IlJlY29yZCIsImF0dHJpYnV0ZXMiOnt9fX19LCJWaWV3ZXJBY3Rpb25zIjp7ImFwcGxpZXNUbyI6eyJwcmluY2lwYWxUeXBlcyI6WyJVc2VyIl0sInJlc291cmNlVHlwZXMiOlsiUm9sZUJhc2VkRmVhdHVyZXMiLCJBZG1pblVJRmVhdHVyZXMiXSwiY29udGV4dCI6eyJ0eXBlIjoiUmVjb3JkIiwiYXR0cmlidXRlcyI6e319fX19fX0=",
"default_entities": {
"1694c954f8d9": "base64-content",
"74d109b20248": "base64-content",
"ece25bef0c2a": "base64-content",
....
}
}
}
}